Reservations
Reservation details
GET /reservations/{id}
Get reservation details object.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Autohost reservation ID |
| pms | query | QueryParamPMS | false | PMS integration name. If supplied, the API will assume the path parameter id is a confirmation code. |
| usepmsid | query | string | false | Assume id is the PMS reservation ID. Must be used with pms. (Default: false) |
| x-api-key | header | string | false | API Authentication Key |
Enumerated Values
| Parameter | Value |
|---|---|
| pms | api |
| pms | apaleo |
| pms | beds24 |
| pms | booking |
| pms | cloudbeds |
| pms | guesty |
| pms | hostaway |
| pms | hostfully |
| pms | inforhms |
| pms | impala |
| pms | lavanda |
| pms | myvr |
| pms | opera |
| pms | smartbnb |
| pms | stayntouch |
| pms | streamline |
| pms | trackhs |
Example responses
200 Response
{
"id": "string",
"user_id": "string",
"confirmation_code": "string",
"status": "string",
"source": "string",
"listing_id": "string",
"listing_nickname": "string",
"listing_timezone_name": "string",
"number_of_guests": 0,
"nights": 0,
"total_price": 0,
"average_daily_rate": 0,
"check_in_date": "string",
"check_out_date": "string",
"guest_portal_url": "string",
"guest": {
"first_name": "string",
"last_name": "string",
"full_name": "string",
"phone": "string",
"email": "user@example.com",
"location": "string"
},
"identification": {
"first_name": "string",
"last_name": "string",
"middle_name": "string",
"document_number": "string",
"document_type": "string",
"nationality": "string",
"sex": "string",
"address": "string",
"birth_date": "string",
"expiry_date": "string",
"issue_date": "string"
},
"created_at": "string",
"updated_at": "string"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | A reservation object | ReservationDetailsResponse |
| 400 | Bad Request | An error message | ErrorResponse |
Code samples
"""
Python Code Snippet
"""
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.get('https://data.autohost.ai/v1/reservations/{id}', headers=headers)
print(r.json())
/*
TypeScript Code Snippet
*/
import fetch from 'node-fetch';
const headers = {
'Accept':'application/json',
'x-api-key':'string'
};
const response = await fetch('https://data.autohost.ai/v1/reservations/{id}', {
method: 'get',
headers,
});
const responseJson = await response.json();
console.log(responseJson);
Reservation update
PUT /reservations/{id}
Update reservation object
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Autohost reservation ID |
| callback | query | QueryParamCallback | false | Webhook URL to post data back to once Screening AI finished analyzing the reservation. |
| sync | query | QueryParamSync | false | Execution is asynchronous by default and the response, including reservation ID, will be returned via webhook when you supply the callback parameter. You can enable synchronous execution by setting sync=1, but it is discouraged when sending large amounts of requests. |
| skip_gp | query | QueryParamSkipGP | false | Verification analysis to proceed without dependence on Guest Portal completion. To be included for all reservations where the guest is not expected to complete the portal. |
| x-api-key | header | string | false | API Authentication Key |
| body | body | ReservationCreateRequest | false | JSON object with reservation details |
Enumerated Values
| Parameter | Value |
|---|---|
| sync | 1 |
| sync | true |
| skip_gp | 1 |
| skip_gp | true |
Body parameter
{
"guest": {
"first_name": "John",
"last_name": "Doe"
}
}
Example responses
200 Response
{
"id": "string",
"user_id": "string",
"confirmation_code": "string",
"status": "string",
"source": "string",
"listing_id": "string",
"listing_nickname": "string",
"listing_timezone_name": "string",
"number_of_guests": 0,
"nights": 0,
"total_price": 0,
"average_daily_rate": 0,
"check_in_date": "string",
"check_out_date": "string",
"guest_portal_url": "string",
"guest": {
"first_name": "string",
"last_name": "string",
"full_name": "string",
"phone": "string",
"email": "user@example.com",
"location": "string"
},
"identification": {
"first_name": "string",
"last_name": "string",
"middle_name": "string",
"document_number": "string",
"document_type": "string",
"nationality": "string",
"sex": "string",
"address": "string",
"birth_date": "string",
"expiry_date": "string",
"issue_date": "string"
},
"created_at": "string",
"updated_at": "string"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | A reservation object | ReservationDetailsResponse |
| 400 | Bad Request | An error message | ErrorResponse |
Code samples
"""
Python Code Snippet
"""
import requests
input_body = {
"guest": {
"first_name": "John",
"last_name": "Doe"
}
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.put('https://data.autohost.ai/v1/reservations/{id}', json=input_body, headers=headers)
print(r.json())
/*
TypeScript Code Snippet
*/
import fetch from 'node-fetch';
const inputBody = {
"guest": {
"first_name": "John",
"last_name": "Doe"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'string'
};
const response = await fetch('https://data.autohost.ai/v1/reservations/{id}', {
method: 'put',
body: JSON.stringify(inputBody),
headers,
});
const responseJson = await response.json();
console.log(responseJson);
Reservation summary
GET /reservations/{id}/summary
Get reservation verifications summary and details
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Autohost reservation ID |
| pms | query | QueryParamPMS | false | PMS integration name. If supplied, the API will assume the path parameter id is a confirmation code. |
| x-api-key | header | string | false | API Authentication Key |
Enumerated Values
| Parameter | Value |
|---|---|
| pms | api |
| pms | apaleo |
| pms | beds24 |
| pms | booking |
| pms | cloudbeds |
| pms | guesty |
| pms | hostaway |
| pms | hostfully |
| pms | inforhms |
| pms | impala |
| pms | lavanda |
| pms | myvr |
| pms | opera |
| pms | smartbnb |
| pms | stayntouch |
| pms | streamline |
| pms | trackhs |
Example responses
A reservation status object
{
"guest_portal_status": "COMPLETED",
"guest_portal_last_screen": "IDCheck",
"verification_composite_status": "review",
"verification_status": "review",
"verification_status_reason": "ID Check, Fraud Detection and Business Rules require your attention",
"risk_color": "yellow",
"top_risks": [
"High risk potential for fraud detected. You should only allow the guest to enter if you've spoken to the guest over the phone and have met them in person",
"Some fraud signals detected. Make sure to treat it carefully and manually review other information collected",
"Guest location was detected to be within 50 KM (30 miles) of the listing",
"Guest name does not match the name on the reservation",
"There are 1 reports for this user IP on Autohost Threat Intelligence with the following tags: 'spam' and 'suspicious'"
],
"top_recommendations": [
"Proceed to confirm the accuracy of all reservation details",
"Collect additional information about the guests, and the trip, that may have been unclear or undisclosed",
"Make sure the guests receive and acknowledge the house rules",
"For security purposes, make sure you have the guest's ID for your records"
],
"loyalty_segments": [
{
"guest_id": "guest@example.com",
"timestamp": "2026-02-17T12:00:00Z",
"segment": {
"name": "Loyal Active",
"tier": 1,
"description": "Frequent guest with consistent booking pattern",
"recommended_action": "Offer loyalty rewards and early access to new listings",
"offer_type": "loyalty_reward",
"priority": "HIGH"
},
"rfm_scores": {
"recency": 5,
"frequency": 4,
"monetary": 4,
"composite": "544"
},
"metrics": {
"days_since_last_stay": 22,
"last_stay_date": "2026-01-26",
"first_stay_date": "2024-08-10",
"total_stays": 6,
"total_revenue": 4200,
"total_nights": 18,
"avg_booking_value": 700,
"nights_equivalent": 3,
"customer_tenure_days": 556
},
"data_quality": {
"confidence": "HIGH",
"has_email": true,
"has_phone": true,
"is_ota_masked": false,
"identifier_type": "email"
},
"top_factors": [
{
"factor": "total_stays",
"value": 6,
"impact": "positive",
"description": "Above-average repeat booking count"
},
{
"factor": "days_since_last_stay",
"value": 22,
"impact": "positive",
"description": "Recent activity indicates engaged guest"
}
],
"flags": {
"is_corporate_account": false,
"is_ota_guest": false,
"has_future_booking": false,
"is_seasonal_guest": false
}
}
],
"details": {
"general_risk": {
"status": "PASS",
"value": "YELLOW"
},
"background_check": {
"status": "DISABLED",
"value": ""
},
"credit_check": {
"status": "DISABLED",
"value": ""
},
"blacklist": {
"status": "INCOMPLETE",
"value": ""
},
"payment_verification": {
"status": "INCOMPLETE",
"value": ""
},
"identification_document": {
"status": "REVIEW",
"value": "review",
"help": "Guest name does not match the name on the reservation"
},
"fraud_detection": {
"status": "REVIEW",
"value": "REVIEW",
"findings": [
"Email address appears on breach reports and leaked data dumps online. This could indicate other malicious parties are using this account to impersonate legitimate users.",
"Email address seems to belong to a disposable provider. These providers are often used to create fake accounts and bypass email validation.",
"The phone number does not seem to be registered at all. Check for typos, otherwise this may be a bogus number."
],
"help": "Manual review suggested"
},
"adverse_media": {
"status": "REVIEW",
"value": "REVIEW",
"findings": [
"Fraud or Financial Crime",
"Harassment",
"Discrimination"
],
"help": "Manual review suggested"
},
"social_verification": {
"status": "PASS",
"value": "13 accounts found"
},
"sanctions": {
"status": "INCOMPLETE",
"value": ""
},
"house_rules": {
"status": "INCOMPLETE"
}
},
"supervised_status": null
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | A reservation status object | ReservationSummaryResponse |
Code samples
"""
Python Code Snippet
"""
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.get('https://data.autohost.ai/v1/reservations/{id}/summary', headers=headers)
print(r.json())
/*
TypeScript Code Snippet
*/
import fetch from 'node-fetch';
const headers = {
'Accept':'application/json',
'x-api-key':'string'
};
const response = await fetch('https://data.autohost.ai/v1/reservations/{id}/summary', {
method: 'get',
headers,
});
const responseJson = await response.json();
console.log(responseJson);
Reservation status
GET /reservations/{id}/status
Get reservation status and verification details
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Autohost reservation ID |
| pms | query | QueryParamPMS | false | PMS integration name. If supplied, the API will assume the path parameter id is a confirmation code. |
| x-api-key | header | string | false | API Authentication Key |
Enumerated Values
| Parameter | Value |
|---|---|
| pms | api |
| pms | apaleo |
| pms | beds24 |
| pms | booking |
| pms | cloudbeds |
| pms | guesty |
| pms | hostaway |
| pms | hostfully |
| pms | inforhms |
| pms | impala |
| pms | lavanda |
| pms | myvr |
| pms | opera |
| pms | smartbnb |
| pms | stayntouch |
| pms | streamline |
| pms | trackhs |
Example responses
200 Response
{
"status": "verified",
"pms_status": "CONFIRMED",
"supervised": "approve",
"reason": "string",
"guestportal_completed": true,
"business_rules": [
"string"
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | A reservation status object | ReservationStatusResponse |
Code samples
"""
Python Code Snippet
"""
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.get('https://data.autohost.ai/v1/reservations/{id}/status', headers=headers)
print(r.json())
/*
TypeScript Code Snippet
*/
import fetch from 'node-fetch';
const headers = {
'Accept':'application/json',
'x-api-key':'string'
};
const response = await fetch('https://data.autohost.ai/v1/reservations/{id}/status', {
method: 'get',
headers,
});
const responseJson = await response.json();
console.log(responseJson);
Reservation status change
POST /reservations/{id}/status
Approve or decline a reservation manually
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Autohost reservation ID |
| x-api-key | header | string | false | API Authentication Key |
| body | body | ReservationsVerificationChangeRequest | false | JSON object with verification details |
Body parameter
{
"supervised": "decline"
}
Example responses
200 Response
{
"status": "verified",
"pms_status": "CONFIRMED",
"supervised": "approve",
"reason": "string",
"guestportal_completed": true,
"business_rules": [
"string"
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | A reservation status object | ReservationStatusResponse |
Code samples
"""
Python Code Snippet
"""
import requests
input_body = {
"supervised": "decline"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.post('https://data.autohost.ai/v1/reservations/{id}/status', json=input_body, headers=headers)
print(r.json())
/*
TypeScript Code Snippet
*/
import fetch from 'node-fetch';
const inputBody = {
"supervised": "decline"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'string'
};
const response = await fetch('https://data.autohost.ai/v1/reservations/{id}/status', {
method: 'post',
body: JSON.stringify(inputBody),
headers,
});
const responseJson = await response.json();
console.log(responseJson);
Reservation Guest Portal Screens
GET /reservations/{id}/screens
Guest Portal screens configuration for a specific reservation.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Autohost reservation ID |
| pms | query | QueryParamPMS | false | PMS integration name. If supplied, the API will assume the path parameter id is a confirmation code. |
| x-api-key | header | string | false | API Authentication Key |
Enumerated Values
| Parameter | Value |
|---|---|
| pms | api |
| pms | apaleo |
| pms | beds24 |
| pms | booking |
| pms | cloudbeds |
| pms | guesty |
| pms | hostaway |
| pms | hostfully |
| pms | inforhms |
| pms | impala |
| pms | lavanda |
| pms | myvr |
| pms | opera |
| pms | smartbnb |
| pms | stayntouch |
| pms | streamline |
| pms | trackhs |
Example responses
200 Response
{
"AboutYou": "disabled",
"AuthorityReporting": "disabled",
"BuildingScreen": "disabled",
"BackgroundCheck": "disabled",
"CreditCheck": "disabled",
"IDVerification": "disabled",
"IDCollection": "disabled",
"SecurityDeposit": "disabled",
"UsageAgreement": "disabled",
"Coronavirus": "disabled",
"CustomScreen": "disabled",
"FileUpload": "disabled",
"GuestList": "disabled",
"HouseRules": "disabled",
"LongTerm": "disabled",
"PurposeOfStay": "disabled",
"TimeInfoEdit": "disabled",
"SexOffendersAddon": "disabled",
"SocialVerificationAddon": "disabled",
"SanctionsSearchAddon": "disabled",
"FraudDetectionAddon": "disabled",
"AdverseMediaSearchAddon": "disabled"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Guest Portal screens configuration object | ReservationScreensResponse |
| 400 | Bad Request | An error message | ErrorResponse |
Code samples
"""
Python Code Snippet
"""
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.get('https://data.autohost.ai/v1/reservations/{id}/screens', headers=headers)
print(r.json())
/*
TypeScript Code Snippet
*/
import fetch from 'node-fetch';
const headers = {
'Accept':'application/json',
'x-api-key':'string'
};
const response = await fetch('https://data.autohost.ai/v1/reservations/{id}/screens', {
method: 'get',
headers,
});
const responseJson = await response.json();
console.log(responseJson);
Reservation embed link
GET /reservations/{id}/embed
Generate a temporary link to embed reservation details on your web page (DEPRECATED - Use SDK instead)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Autohost reservation ID |
| x-api-key | header | string | false | API Authentication Key |
Example responses
A reservation embed object
{
"url": "https://exmpale.com/embed/34857439857439857349857",
"expires": "2021-09-05T16:18:39.808Z"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | A reservation embed object | ReservationEmbedLinkResponse |
Code samples
"""
Python Code Snippet
"""
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.get('https://data.autohost.ai/v1/reservations/{id}/embed', headers=headers)
print(r.json())
/*
TypeScript Code Snippet
*/
import fetch from 'node-fetch';
const headers = {
'Accept':'application/json',
'x-api-key':'string'
};
const response = await fetch('https://data.autohost.ai/v1/reservations/{id}/embed', {
method: 'get',
headers,
});
const responseJson = await response.json();
console.log(responseJson);
Reservation notes
GET /reservations/{id}/notes
Get list of notes for a reservation
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Autohost reservation ID |
| pms | query | QueryParamPMS | false | PMS integration name. If supplied, the API will assume the path parameter id is a confirmation code. |
| x-api-key | header | string | false | API Authentication Key |
Enumerated Values
| Parameter | Value |
|---|---|
| pms | api |
| pms | apaleo |
| pms | beds24 |
| pms | booking |
| pms | cloudbeds |
| pms | guesty |
| pms | hostaway |
| pms | hostfully |
| pms | inforhms |
| pms | impala |
| pms | lavanda |
| pms | myvr |
| pms | opera |
| pms | smartbnb |
| pms | stayntouch |
| pms | streamline |
| pms | trackhs |
Example responses
200 Response
[
{
"text": "string",
"author_id": "string",
"author_name": "string",
"author_type": "string",
"timestamp": "string"
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | A reservation object | ReservationNotesResponse |
Code samples
"""
Python Code Snippet
"""
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.get('https://data.autohost.ai/v1/reservations/{id}/notes', headers=headers)
print(r.json())
/*
TypeScript Code Snippet
*/
import fetch from 'node-fetch';
const headers = {
'Accept':'application/json',
'x-api-key':'string'
};
const response = await fetch('https://data.autohost.ai/v1/reservations/{id}/notes', {
method: 'get',
headers,
});
const responseJson = await response.json();
console.log(responseJson);
Reservation payments
GET /reservations/{id}/payments
Payment details for a reservation. Includes Security Deposit, Damage Waiver and Payment Validation.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Autohost reservation ID |
| x-api-key | header | string | false | API Authentication Key |
Example responses
200 Response
{
"security_deposit": {
"successful_authorizations": [
{
"currency": "string",
"amount": 0,
"receipt_url": "string",
"card_brand": "string",
"timestamp": "string"
}
],
"charge_failures": [
{
"message": "string",
"timestamp": "string"
}
],
"refunds": [
{
"currency": "string",
"amount": 0,
"receipt_url": "string",
"timestamp": "string"
}
],
"deposit_captures": [
{
"currency": "string",
"amount": 0,
"receipt_url": "string",
"card_brand": "string",
"timestamp": "string"
}
]
},
"payment_validation": {
"receipt_url": "string",
"name_on_card": "string",
"funding_type": "string",
"card_brand": "string",
"card_country": "string",
"status": "string",
"errors": [
{
"title": "string",
"description": "string"
}
]
},
"damage_waiver": {
"amount": 0,
"currency": "string",
"timestamp": "string",
"receipt_url": "string"
},
"extra_services": {
"amount": 0,
"receipt_url": "string",
"products": [
{
"name": "string",
"price": 0
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | A reservation object | ReservationPaymentsResponse |
Code samples
"""
Python Code Snippet
"""
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.get('https://data.autohost.ai/v1/reservations/{id}/payments', headers=headers)
print(r.json())
/*
TypeScript Code Snippet
*/
import fetch from 'node-fetch';
const headers = {
'Accept':'application/json',
'x-api-key':'string'
};
const response = await fetch('https://data.autohost.ai/v1/reservations/{id}/payments', {
method: 'get',
headers,
});
const responseJson = await response.json();
console.log(responseJson);
Reservation messages
GET /reservations/{id}/stargate
List of queued and sent Stargate messages for a given reservation.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Autohost reservation ID |
| x-api-key | header | string | true | API Authentication Key |
Example responses
200 Response
[
{
"email": "user@example.com",
"phone": "string",
"tag": "string",
"method": "string",
"via": "string",
"sendAfter": "2019-08-24T14:15:22Z",
"created": "2019-08-24T14:15:22Z",
"updated": "2019-08-24T14:15:22Z",
"reservation_id": "string",
"listing_id": "string",
"confirmation_code": "string",
"message": {
"subject": "string",
"text": "string",
"html": "string"
}
}
]
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | A list of Stargate messages | ReservationStargateResponse |
| 404 | Not Found | An error message | ErrorResponse |
Code samples
"""
Python Code Snippet
"""
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.get('https://data.autohost.ai/v1/reservations/{id}/stargate', headers=headers)
print(r.json())
/*
TypeScript Code Snippet
*/
import fetch from 'node-fetch';
const headers = {
'Accept':'application/json',
'x-api-key':'string'
};
const response = await fetch('https://data.autohost.ai/v1/reservations/{id}/stargate', {
method: 'get',
headers,
});
const responseJson = await response.json();
console.log(responseJson);
Reservation Guest Portal
GET /reservations/{id}/guestportal
Guest Portal details for a reservation
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Autohost reservation ID |
| pms | query | QueryParamPMS | false | PMS integration name. If supplied, the API will assume the path parameter id is a confirmation code. |
| x-api-key | header | string | false | API Authentication Key |
Enumerated Values
| Parameter | Value |
|---|---|
| pms | api |
| pms | apaleo |
| pms | beds24 |
| pms | booking |
| pms | cloudbeds |
| pms | guesty |
| pms | hostaway |
| pms | hostfully |
| pms | inforhms |
| pms | impala |
| pms | lavanda |
| pms | myvr |
| pms | opera |
| pms | smartbnb |
| pms | stayntouch |
| pms | streamline |
| pms | trackhs |
Example responses
200 Response
{
"full_name": "string",
"phone": "string",
"email": "user@example.com",
"name_on_card": "string",
"security_deposit": true,
"last_step": "string",
"completed": true,
"completed_at": "string",
"updated_at": "string",
"guests": [
{
"name": "string",
"email": "user@example.com"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | A reservation object | ReservationGuestPortalResponse |
Code samples
"""
Python Code Snippet
"""
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.get('https://data.autohost.ai/v1/reservations/{id}/guestportal', headers=headers)
print(r.json())
/*
TypeScript Code Snippet
*/
import fetch from 'node-fetch';
const headers = {
'Accept':'application/json',
'x-api-key':'string'
};
const response = await fetch('https://data.autohost.ai/v1/reservations/{id}/guestportal', {
method: 'get',
headers,
});
const responseJson = await response.json();
console.log(responseJson);
Reservation search
GET /reservations
Return paginated list of reservations matching the search criteria.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| from | query | number | false | Pagination control |
| size | query | number | false | Number of items to return |
| status | query | QueryParamReservationStatus | false | Reservation OTA status |
| search | query | string | false | String search |
| listings | query | string | false | Autohost listing ID. Use commas for multiple IDs. |
| guestportal_completed | query | string | false | Filter by Guest Portal completion status (true |
| active | query | number | false | Filter by active reservations. |
| pending_review | query | string | false | Return reservations that require a manual review (true |
| emails | query | string | false | Search reservations by guest email. Use commas for multiple addresses. |
| source | query | string | false | Filter reservation by booking source name. |
| startDate | query | string | false | Filter reservation from the specified start date (YYYY-MM-DD). |
| endDate | query | string | false | Filter reservation from the specified end date (YYYY-MM-DD). |
| dateField | query | string | false | Check-in date is used by default, but it can be changed (check_in_date |
| x-api-key | header | string | false | API Authentication Key |
Enumerated Values
| Parameter | Value |
|---|---|
| status | CONFIRMED |
| status | CANCELED |
| status | INQUIRY |
| status | any |
Example responses
200 Response
{
"id": "string",
"user_id": "string",
"confirmation_code": "string",
"status": "string",
"source": "string",
"listing_id": "string",
"listing_nickname": "string",
"listing_timezone_name": "string",
"number_of_guests": 0,
"nights": 0,
"total_price": 0,
"average_daily_rate": 0,
"check_in_date": "string",
"check_out_date": "string",
"guest_portal_url": "string",
"guest": {
"first_name": "string",
"last_name": "string",
"full_name": "string",
"phone": "string",
"email": "user@example.com",
"location": "string"
},
"identification": {
"first_name": "string",
"last_name": "string",
"middle_name": "string",
"document_number": "string",
"document_type": "string",
"nationality": "string",
"sex": "string",
"address": "string",
"birth_date": "string",
"expiry_date": "string",
"issue_date": "string"
},
"created_at": "string",
"updated_at": "string"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | A reservation object | ReservationDetailsResponse |
| 400 | Bad Request | An error message | ErrorResponse |
Code samples
"""
Python Code Snippet
"""
import requests
headers = {
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.get('https://data.autohost.ai/v1/reservations', headers=headers)
print(r.json())
/*
TypeScript Code Snippet
*/
import fetch from 'node-fetch';
const headers = {
'Accept':'application/json',
'x-api-key':'string'
};
const response = await fetch('https://data.autohost.ai/v1/reservations', {
method: 'get',
headers,
});
const responseJson = await response.json();
console.log(responseJson);
Reservation creation
POST /reservations
Create new reservation object
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| callback | query | QueryParamCallback | false | Webhook URL to post data back to once Screening AI finished analyzing the reservation. |
| sync | query | QueryParamSync | false | Execution is asynchronous by default and the response, including reservation ID, will be returned via webhook when you supply the callback parameter. You can enable synchronous execution by setting sync=1, but it is discouraged when sending large amounts of requests. |
| skip_gp | query | QueryParamSkipGP | false | Verification analysis to proceed without dependence on Guest Portal completion. To be included for all reservations where the guest is not expected to complete the portal. |
| x-api-key | header | string | false | API Authentication Key |
| body | body | ReservationCreateRequest | false | JSON object with reservation details |
Enumerated Values
| Parameter | Value |
|---|---|
| sync | 1 |
| sync | true |
| skip_gp | 1 |
| skip_gp | true |
Body parameter
{
"guest": {
"first_name": "John",
"last_name": "Doe"
}
}
Example responses
200 Response
{
"id": "string",
"user_id": "string",
"confirmation_code": "string",
"status": "string",
"source": "string",
"listing_id": "string",
"listing_nickname": "string",
"listing_timezone_name": "string",
"number_of_guests": 0,
"nights": 0,
"total_price": 0,
"average_daily_rate": 0,
"check_in_date": "string",
"check_out_date": "string",
"guest_portal_url": "string",
"guest": {
"first_name": "string",
"last_name": "string",
"full_name": "string",
"phone": "string",
"email": "user@example.com",
"location": "string"
},
"identification": {
"first_name": "string",
"last_name": "string",
"middle_name": "string",
"document_number": "string",
"document_type": "string",
"nationality": "string",
"sex": "string",
"address": "string",
"birth_date": "string",
"expiry_date": "string",
"issue_date": "string"
},
"created_at": "string",
"updated_at": "string"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | A reservation object | ReservationDetailsResponse |
| 400 | Bad Request | An error message | ErrorResponse |
Code samples
"""
Python Code Snippet
"""
import requests
input_body = {
"guest": {
"first_name": "John",
"last_name": "Doe"
}
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.post('https://data.autohost.ai/v1/reservations', json=input_body, headers=headers)
print(r.json())
/*
TypeScript Code Snippet
*/
import fetch from 'node-fetch';
const inputBody = {
"guest": {
"first_name": "John",
"last_name": "Doe"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'string'
};
const response = await fetch('https://data.autohost.ai/v1/reservations', {
method: 'post',
body: JSON.stringify(inputBody),
headers,
});
const responseJson = await response.json();
console.log(responseJson);
Reservation payment event
POST /reservations/{id}/payment-event
Record a payment event belonging to a reservation for fraud analysis and business rules.
The following parameters are optional, but highly recommended:
card_countrycard_providercard_expiry_monthcard_expiry_yearthree_d_securebilling_emailbilling_phoneip_address
If you are using Adyen, see this guide for more information on how to get the required parameters.
Examples of how to map the webhook events from common providers:
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | Autohost reservation ID |
| x-api-key | header | string | true | API Authentication Key |
| body | body | PaymentEventRequest | false | JSON object with payment event details |
Body parameter
{
"event_source": "adyen",
"event_id": "123456789",
"event_type": "charge",
"event_status": "failure",
"customer_id": "123456789",
"processor_status_code": "111",
"processor_message": "Invalid BankCountryCode specified",
"network_status_code": "declined_by_network",
"three_d_secure": "exempted",
"amount": 101.5,
"currency": "usd",
"charge_descriptor": "PRE-AUTH Security Deposit",
"name_on_card": "John Doe",
"payment_method": "card",
"card_type": "credit",
"card_provider": "visa",
"card_iin": "41111",
"card_last4": "1111",
"card_expiry_month": "12",
"card_expiry_year": "2025",
"billing_country_code": "US",
"billing_address": "123 Main St",
"billing_city": "New York",
"billing_state_code": "NY",
"billing_postal_code": "10001",
"billing_phone": "+15555555555",
"billing_email": "user@example.com",
"billing_name": "John Doe",
"ip_address": "8.8.8.8",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
"timestamp": "2022-05-22T18:06:20.352Z"
}
Example responses
200 Response
{
"message": "string"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | A success message object | PaymentEventResponse |
| 400 | Bad Request | An error message | ErrorResponse |
Code samples
"""
Python Code Snippet
"""
import requests
input_body = {
"event_source": "adyen",
"event_id": "123456789",
"event_type": "charge",
"event_status": "failure",
"customer_id": "123456789",
"processor_status_code": "111",
"processor_message": "Invalid BankCountryCode specified",
"network_status_code": "declined_by_network",
"three_d_secure": "exempted",
"amount": 101.5,
"currency": "usd",
"charge_descriptor": "PRE-AUTH Security Deposit",
"name_on_card": "John Doe",
"payment_method": "card",
"card_type": "credit",
"card_provider": "visa",
"card_iin": "41111",
"card_last4": "1111",
"card_expiry_month": "12",
"card_expiry_year": "2025",
"billing_country_code": "US",
"billing_address": "123 Main St",
"billing_city": "New York",
"billing_state_code": "NY",
"billing_postal_code": "10001",
"billing_phone": "+15555555555",
"billing_email": "user@example.com",
"billing_name": "John Doe",
"ip_address": "8.8.8.8",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
"timestamp": "2022-05-22T18:06:20.352Z"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.post('https://data.autohost.ai/v1/reservations/{id}/payment-event', json=input_body, headers=headers)
print(r.json())
/*
TypeScript Code Snippet
*/
import fetch from 'node-fetch';
const inputBody = {
"event_source": "adyen",
"event_id": "123456789",
"event_type": "charge",
"event_status": "failure",
"customer_id": "123456789",
"processor_status_code": "111",
"processor_message": "Invalid BankCountryCode specified",
"network_status_code": "declined_by_network",
"three_d_secure": "exempted",
"amount": 101.5,
"currency": "usd",
"charge_descriptor": "PRE-AUTH Security Deposit",
"name_on_card": "John Doe",
"payment_method": "card",
"card_type": "credit",
"card_provider": "visa",
"card_iin": "41111",
"card_last4": "1111",
"card_expiry_month": "12",
"card_expiry_year": "2025",
"billing_country_code": "US",
"billing_address": "123 Main St",
"billing_city": "New York",
"billing_state_code": "NY",
"billing_postal_code": "10001",
"billing_phone": "+15555555555",
"billing_email": "user@example.com",
"billing_name": "John Doe",
"ip_address": "8.8.8.8",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
"timestamp": "2022-05-22T18:06:20.352Z"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'string'
};
const response = await fetch('https://data.autohost.ai/v1/reservations/{id}/payment-event', {
method: 'post',
body: JSON.stringify(inputBody),
headers,
});
const responseJson = await response.json();
console.log(responseJson);
Schemas
QueryParamPMS
"api"
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | api |
| anonymous | apaleo |
| anonymous | beds24 |
| anonymous | booking |
| anonymous | cloudbeds |
| anonymous | guesty |
| anonymous | hostaway |
| anonymous | hostfully |
| anonymous | inforhms |
| anonymous | impala |
| anonymous | lavanda |
| anonymous | myvr |
| anonymous | opera |
| anonymous | smartbnb |
| anonymous | stayntouch |
| anonymous | streamline |
| anonymous | trackhs |
ReservationDetailsResponse
{
"id": "string",
"user_id": "string",
"confirmation_code": "string",
"status": "string",
"source": "string",
"listing_id": "string",
"listing_nickname": "string",
"listing_timezone_name": "string",
"number_of_guests": 0,
"nights": 0,
"total_price": 0,
"average_daily_rate": 0,
"check_in_date": "string",
"check_out_date": "string",
"guest_portal_url": "string",
"guest": {
"first_name": "string",
"last_name": "string",
"full_name": "string",
"phone": "string",
"email": "user@example.com",
"location": "string"
},
"identification": {
"first_name": "string",
"last_name": "string",
"middle_name": "string",
"document_number": "string",
"document_type": "string",
"nationality": "string",
"sex": "string",
"address": "string",
"birth_date": "string",
"expiry_date": "string",
"issue_date": "string"
},
"created_at": "string",
"updated_at": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | false | none | none |
| user_id | string | false | none | none |
| confirmation_code | string | false | none | none |
| status | string | false | none | none |
| source | string | false | none | none |
| listing_id | string | false | none | none |
| listing_nickname | string | false | none | none |
| listing_timezone_name | string | false | none | none |
| number_of_guests | number | false | none | none |
| nights | number | false | none | none |
| total_price | number | false | none | none |
| average_daily_rate | number | false | none | none |
| check_in_date | string | false | none | none |
| check_out_date | string | false | none | none |
| guest_portal_url | string | false | none | none |
| guest | object | false | none | none |
| » first_name | string | false | none | none |
| » last_name | string | false | none | none |
| » full_name | string | false | none | none |
| » phone | string | false | none | none |
| string(email) | false | none | none | |
| » location | string | false | none | none |
| identification | object | false | none | none |
| » first_name | string | false | none | none |
| » last_name | string | false | none | none |
| » middle_name | string | false | none | none |
| » document_number | string | false | none | none |
| » document_type | string | false | none | none |
| » nationality | string | false | none | none |
| » sex | string | false | none | none |
| » address | string | false | none | none |
| » birth_date | string | false | none | none |
| » expiry_date | string | false | none | none |
| » issue_date | string | false | none | none |
| created_at | string | false | none | none |
| updated_at | string | false | none | none |
ErrorResponse
{
"error": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | string | false | none | none |
ReservationCreateRequest
{
"status": "CONFIRMED",
"source": "string",
"listing_id": "string",
"confirmation_code": "string",
"number_of_guests": 0,
"nights": 0,
"total_price": 0,
"check_in_date": "2019-08-24T14:15:22Z",
"check_out_date": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"guest": {
"first_name": "string",
"last_name": "string",
"location": "string",
"phone": "string",
"email": "user@example.com",
"access_code": "string",
"birth_date": "2019-08-24",
"metadata": {
"ip_address": "192.168.0.1",
"user_agent": "string"
}
},
"guest_portal_screens": {
"AboutYou": "disabled",
"AuthorityReporting": "disabled",
"BuildingScreen": "disabled",
"BackgroundCheck": "disabled",
"CreditCheck": "disabled",
"IDVerification": "disabled",
"IDCollection": "disabled",
"SecurityDeposit": "disabled",
"UsageAgreement": "disabled",
"Coronavirus": "disabled",
"CustomScreen": "disabled",
"FileUpload": "disabled",
"GuestList": "disabled",
"HouseRules": "disabled",
"LongTerm": "disabled",
"PurposeOfStay": "disabled",
"TimeInfoEdit": "disabled",
"SexOffendersAddon": "disabled",
"SocialVerificationAddon": "disabled",
"SanctionsSearchAddon": "disabled",
"FraudDetectionAddon": "disabled",
"AdverseMediaSearchAddon": "disabled"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| status | string | true | none | none |
| source | string | true | none | none |
| listing_id | string | true | none | none |
| confirmation_code | string | true | none | none |
| number_of_guests | number | true | none | none |
| nights | number | false | none | none |
| total_price | number | true | none | none |
| check_in_date | string(date-time) | true | none | none |
| check_out_date | string(date-time) | true | none | none |
| created_at | string(date-time) | false | none | none |
| guest | object | false | none | none |
| » first_name | string | false | none | none |
| » last_name | string | false | none | none |
| » location | string | false | none | none |
| » phone | string | false | none | none |
| string(email) | false | none | none | |
| » access_code | string | false | none | none |
| » birth_date | string(date) | false | none | none |
| » metadata | object | false | none | none |
| »» ip_address | string(ipv4) | false | none | none |
| »» user_agent | string | false | none | none |
| guest_portal_screens | object | false | none | none |
| » AboutYou | string | false | none | none |
| » AuthorityReporting | string | false | none | none |
| » BuildingScreen | string | false | none | none |
| » BackgroundCheck | string | false | none | none |
| » CreditCheck | string | false | none | none |
| » IDVerification | string | false | none | none |
| » IDCollection | string | false | none | none |
| » SecurityDeposit | string | false | none | none |
| » UsageAgreement | string | false | none | none |
| » Coronavirus | string | false | none | none |
| » CustomScreen | string | false | none | none |
| » FileUpload | string | false | none | none |
| » GuestList | string | false | none | none |
| » HouseRules | string | false | none | none |
| » LongTerm | string | false | none | none |
| » PurposeOfStay | string | false | none | none |
| » TimeInfoEdit | string | false | none | none |
| » SexOffendersAddon | string | false | none | none |
| » SocialVerificationAddon | string | false | none | none |
| » SanctionsSearchAddon | string | false | none | none |
| » FraudDetectionAddon | string | false | none | none |
| » AdverseMediaSearchAddon | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| status | CONFIRMED |
| status | CANCELED |
| status | INQUIRY |
| AboutYou | disabled |
| AboutYou | required |
| AboutYou | inherit |
| AuthorityReporting | disabled |
| AuthorityReporting | required |
| AuthorityReporting | inherit |
| BuildingScreen | disabled |
| BuildingScreen | required |
| BuildingScreen | inherit |
| BackgroundCheck | disabled |
| BackgroundCheck | required |
| BackgroundCheck | inherit |
| CreditCheck | disabled |
| CreditCheck | required |
| CreditCheck | inherit |
| IDVerification | disabled |
| IDVerification | required |
| IDVerification | inherit |
| IDCollection | disabled |
| IDCollection | required |
| IDCollection | inherit |
| SecurityDeposit | disabled |
| SecurityDeposit | required |
| SecurityDeposit | inherit |
| UsageAgreement | disabled |
| UsageAgreement | required |
| UsageAgreement | inherit |
| Coronavirus | disabled |
| Coronavirus | required |
| Coronavirus | inherit |
| CustomScreen | disabled |
| CustomScreen | required |
| CustomScreen | inherit |
| FileUpload | disabled |
| FileUpload | required |
| FileUpload | inherit |
| GuestList | disabled |
| GuestList | required |
| GuestList | inherit |
| HouseRules | disabled |
| HouseRules | required |
| HouseRules | inherit |
| LongTerm | disabled |
| LongTerm | required |
| LongTerm | inherit |
| PurposeOfStay | disabled |
| PurposeOfStay | required |
| PurposeOfStay | inherit |
| TimeInfoEdit | disabled |
| TimeInfoEdit | required |
| TimeInfoEdit | inherit |
| SexOffendersAddon | disabled |
| SexOffendersAddon | required |
| SexOffendersAddon | inherit |
| SocialVerificationAddon | disabled |
| SocialVerificationAddon | required |
| SocialVerificationAddon | inherit |
| SanctionsSearchAddon | disabled |
| SanctionsSearchAddon | required |
| SanctionsSearchAddon | inherit |
| FraudDetectionAddon | disabled |
| FraudDetectionAddon | required |
| FraudDetectionAddon | inherit |
| AdverseMediaSearchAddon | disabled |
| AdverseMediaSearchAddon | required |
| AdverseMediaSearchAddon | inherit |
QueryParamCallback
"string"
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | none |
QueryParamSync
1
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | boolean | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | 1 |
| anonymous | true |
QueryParamSkipGP
1
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | boolean | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | 1 |
| anonymous | true |
ReservationSummaryResponse
{
"guest_portal_status": "COMPLETED",
"guest_portal_last_screen": "string",
"verification_composite_status": "verified",
"verification_status": "verified",
"verification_status_reason": "string",
"supervised_status": "approve",
"supervised_decline_reason": "string",
"risk_color": "string",
"top_risks": [
"string"
],
"top_recommendations": [
"string"
],
"loyalty_segments": [
{
"guest_id": "string",
"timestamp": "string",
"segment": {
"name": "Champions",
"tier": 1,
"description": "string",
"recommended_action": "string",
"offer_type": "string",
"priority": "CRITICAL"
},
"rfm_scores": {
"recency": 1,
"frequency": 2,
"monetary": 1,
"composite": "string"
},
"metrics": {
"days_since_last_stay": 0,
"last_stay_date": "string",
"first_stay_date": "string",
"total_stays": 0,
"total_revenue": 0,
"total_nights": 0,
"avg_booking_value": 0,
"nights_equivalent": 0,
"customer_tenure_days": 0
},
"data_quality": {
"confidence": "HIGH",
"has_email": true,
"has_phone": true,
"is_ota_masked": true,
"identifier_type": "string"
},
"top_factors": [
{
"factor": "string",
"value": null,
"impact": "positive",
"description": "string"
}
],
"flags": {
"is_corporate_account": true,
"is_ota_guest": true,
"has_future_booking": true,
"is_seasonal_guest": true
}
}
],
"details": {
"general_risk": {
"status": "PASS",
"value": "string"
},
"background_check": {
"status": "PASS",
"value": "string"
},
"credit_check": {
"status": "PASS",
"value": "string"
},
"blacklist": {
"status": "PASS",
"value": "string"
},
"payment_verification": {
"status": "PASS",
"value": "string"
},
"identification_document": {
"status": "PASS",
"value": "string"
},
"fraud_detection": {
"status": "PASS",
"value": "string"
},
"social_verification": {
"status": "PASS",
"value": "string"
},
"sanctions": {
"status": "PASS",
"value": "string"
},
"agreement": {
"status": "PASS",
"value": "string"
}
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| guest_portal_status | string | false | none | none |
| guest_portal_last_screen | string | false | none | none |
| verification_composite_status | string | false | none | none |
| verification_status | string | false | none | none |
| verification_status_reason | string | false | none | none |
| supervised_status | string | false | none | none |
| supervised_decline_reason | string | false | none | none |
| risk_color | string | false | none | none |
| top_risks | [string] | false | none | none |
| top_recommendations | [string] | false | none | none |
| loyalty_segments | [object] | false | none | Guest loyalty RFM segmentation results. Only present when segmentation data is available. |
| » guest_id | string | false | none | Guest identifier (email or phone) |
| » timestamp | string | false | none | Timestamp of segmentation calculation |
| » segment | object | false | none | Segment classification with actionable guidance |
| »» name | string | false | none | RFM segment classification |
| »» tier | integer | false | none | Priority tier (1 = highest) |
| »» description | string | false | none | none |
| »» recommended_action | string | false | none | none |
| »» offer_type | string | false | none | none |
| »» priority | string | false | none | Action priority level |
| » rfm_scores | object | false | none | RFM score breakdown |
| »» recency | integer | false | none | none |
| »» frequency | integer | false | none | none |
| »» monetary | integer | false | none | none |
| »» composite | string | false | none | Combined RFM score, e.g. '535' |
| » metrics | object | false | none | Guest behavioral metrics |
| »» days_since_last_stay | integer | false | none | none |
| »» last_stay_date | string | false | none | none |
| »» first_stay_date | string | false | none | none |
| »» total_stays | integer | false | none | none |
| »» total_revenue | number | false | none | none |
| »» total_nights | integer | false | none | none |
| »» avg_booking_value | number | false | none | none |
| »» nights_equivalent | number | false | none | none |
| »» customer_tenure_days | integer | false | none | none |
| » data_quality | object | false | none | Data quality indicators |
| »» confidence | string | false | none | Guest identification confidence |
| »» has_email | boolean | false | none | none |
| »» has_phone | boolean | false | none | none |
| »» is_ota_masked | boolean | false | none | none |
| »» identifier_type | string | false | none | Identifier type used for lookup ('email' or 'phone') |
| » top_factors | [object] | false | none | Explanation factors for segment assignment |
| »» factor | string | false | none | none |
| »» value | any | false | none | Factor value |
| »» impact | string | false | none | Whether the factor is positive or negative |
| »» description | string | false | none | none |
| » flags | object | false | none | Guest classification flags |
| »» is_corporate_account | boolean | false | none | none |
| »» is_ota_guest | boolean | false | none | none |
| »» has_future_booking | boolean | false | none | none |
| »» is_seasonal_guest | boolean | false | none | none |
| details | object | false | none | none |
| » general_risk | object | false | none | none |
| »» status | string | false | none | none |
| »» value | string | false | none | none |
| » background_check | object | false | none | none |
| »» status | string | false | none | none |
| »» value | string | false | none | none |
| » credit_check | object | false | none | none |
| »» status | string | false | none | none |
| »» value | string | false | none | none |
| » blacklist | object | false | none | none |
| »» status | string | false | none | none |
| »» value | string | false | none | none |
| » payment_verification | object | false | none | none |
| »» status | string | false | none | none |
| »» value | string | false | none | none |
| » identification_document | object | false | none | none |
| »» status | string | false | none | none |
| »» value | string | false | none | none |
| » fraud_detection | object | false | none | none |
| »» status | string | false | none | none |
| »» value | string | false | none | none |
| » social_verification | object | false | none | none |
| »» status | string | false | none | none |
| »» value | string | false | none | none |
| » sanctions | object | false | none | none |
| »» status | string | false | none | none |
| »» value | string | false | none | none |
| » agreement | object | false | none | none |
| »» status | string | false | none | none |
| »» value | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| guest_portal_status | COMPLETED |
| guest_portal_status | INCOMPLETE |
| verification_composite_status | verified |
| verification_composite_status | review |
| verification_composite_status | pending |
| verification_composite_status | approve |
| verification_composite_status | decline |
| verification_status | verified |
| verification_status | review |
| verification_status | pending |
| supervised_status | approve |
| supervised_status | decline |
| name | Champions |
| name | High Value Active |
| name | High Value At Risk |
| name | High Value Slipping |
| name | Loyal Active |
| name | Loyal At Risk |
| name | Potential Loyalists |
| name | Repeat At Risk |
| name | Promising First-Timers |
| name | Recent First-Timers |
| name | First-Timers Need Attention |
| name | Hibernating |
| name | Other |
| priority | CRITICAL |
| priority | HIGH |
| priority | MEDIUM |
| priority | LOW |
| confidence | HIGH |
| confidence | MEDIUM |
| confidence | LOW |
| confidence | UNKNOWN |
| impact | positive |
| impact | negative |
| status | PASS |
| status | REVIEW |
| status | INCOMPLETE |
| status | DISABLED |
| status | PASS |
| status | REVIEW |
| status | INCOMPLETE |
| status | DISABLED |
| status | PASS |
| status | REVIEW |
| status | INCOMPLETE |
| status | DISABLED |
| status | PASS |
| status | REVIEW |
| status | INCOMPLETE |
| status | DISABLED |
| status | PASS |
| status | REVIEW |
| status | INCOMPLETE |
| status | DISABLED |
| status | PASS |
| status | REVIEW |
| status | INCOMPLETE |
| status | DISABLED |
| status | PASS |
| status | REVIEW |
| status | DECLINE |
| status | INCOMPLETE |
| status | DISABLED |
| status | PASS |
| status | REVIEW |
| status | INCOMPLETE |
| status | DISABLED |
| status | PASS |
| status | REVIEW |
| status | INCOMPLETE |
| status | DISABLED |
| status | PASS |
| status | REVIEW |
| status | INCOMPLETE |
| status | DISABLED |
ReservationStatusResponse
{
"status": "verified",
"pms_status": "CONFIRMED",
"supervised": "approve",
"reason": "string",
"guestportal_completed": true,
"business_rules": [
"string"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| status | string | false | none | none |
| pms_status | string | false | none | none |
| supervised | string | false | none | none |
| reason | string | false | none | none |
| guestportal_completed | boolean | false | none | none |
| business_rules | [string] | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| status | verified |
| status | review |
| status | pending |
| pms_status | CONFIRMED |
| pms_status | CANCELED |
| pms_status | INQUIRY |
| supervised | approve |
| supervised | decline |
ReservationsVerificationChangeRequest
{
"supervised": "approve",
"notes": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| supervised | string | false | none | none |
| notes | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| supervised | approve |
| supervised | decline |
ReservationScreensResponse
{
"AboutYou": "disabled",
"AuthorityReporting": "disabled",
"BuildingScreen": "disabled",
"BackgroundCheck": "disabled",
"CreditCheck": "disabled",
"IDVerification": "disabled",
"IDCollection": "disabled",
"SecurityDeposit": "disabled",
"UsageAgreement": "disabled",
"Coronavirus": "disabled",
"CustomScreen": "disabled",
"FileUpload": "disabled",
"GuestList": "disabled",
"HouseRules": "disabled",
"LongTerm": "disabled",
"PurposeOfStay": "disabled",
"TimeInfoEdit": "disabled",
"SexOffendersAddon": "disabled",
"SocialVerificationAddon": "disabled",
"SanctionsSearchAddon": "disabled",
"FraudDetectionAddon": "disabled",
"AdverseMediaSearchAddon": "disabled"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| AboutYou | string | false | none | none |
| AuthorityReporting | string | false | none | none |
| BuildingScreen | string | false | none | none |
| BackgroundCheck | string | false | none | none |
| CreditCheck | string | false | none | none |
| IDVerification | string | false | none | none |
| IDCollection | string | false | none | none |
| SecurityDeposit | string | false | none | none |
| UsageAgreement | string | false | none | none |
| Coronavirus | string | false | none | none |
| CustomScreen | string | false | none | none |
| FileUpload | string | false | none | none |
| GuestList | string | false | none | none |
| HouseRules | string | false | none | none |
| LongTerm | string | false | none | none |
| PurposeOfStay | string | false | none | none |
| TimeInfoEdit | string | false | none | none |
| SexOffendersAddon | string | false | none | none |
| SocialVerificationAddon | string | false | none | none |
| SanctionsSearchAddon | string | false | none | none |
| FraudDetectionAddon | string | false | none | none |
| AdverseMediaSearchAddon | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| AboutYou | disabled |
| AboutYou | required |
| AboutYou | inherit |
| AuthorityReporting | disabled |
| AuthorityReporting | required |
| AuthorityReporting | inherit |
| BuildingScreen | disabled |
| BuildingScreen | required |
| BuildingScreen | inherit |
| BackgroundCheck | disabled |
| BackgroundCheck | required |
| BackgroundCheck | inherit |
| CreditCheck | disabled |
| CreditCheck | required |
| CreditCheck | inherit |
| IDVerification | disabled |
| IDVerification | required |
| IDVerification | inherit |
| IDCollection | disabled |
| IDCollection | required |
| IDCollection | inherit |
| SecurityDeposit | disabled |
| SecurityDeposit | required |
| SecurityDeposit | inherit |
| UsageAgreement | disabled |
| UsageAgreement | required |
| UsageAgreement | inherit |
| Coronavirus | disabled |
| Coronavirus | required |
| Coronavirus | inherit |
| CustomScreen | disabled |
| CustomScreen | required |
| CustomScreen | inherit |
| FileUpload | disabled |
| FileUpload | required |
| FileUpload | inherit |
| GuestList | disabled |
| GuestList | required |
| GuestList | inherit |
| HouseRules | disabled |
| HouseRules | required |
| HouseRules | inherit |
| LongTerm | disabled |
| LongTerm | required |
| LongTerm | inherit |
| PurposeOfStay | disabled |
| PurposeOfStay | required |
| PurposeOfStay | inherit |
| TimeInfoEdit | disabled |
| TimeInfoEdit | required |
| TimeInfoEdit | inherit |
| SexOffendersAddon | disabled |
| SexOffendersAddon | required |
| SexOffendersAddon | inherit |
| SocialVerificationAddon | disabled |
| SocialVerificationAddon | required |
| SocialVerificationAddon | inherit |
| SanctionsSearchAddon | disabled |
| SanctionsSearchAddon | required |
| SanctionsSearchAddon | inherit |
| FraudDetectionAddon | disabled |
| FraudDetectionAddon | required |
| FraudDetectionAddon | inherit |
| AdverseMediaSearchAddon | disabled |
| AdverseMediaSearchAddon | required |
| AdverseMediaSearchAddon | inherit |
ReservationEmbedLinkResponse
{
"url": "string",
"expires": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| url | string | false | none | none |
| expires | string | false | none | none |
ReservationNotesResponse
[
{
"text": "string",
"author_id": "string",
"author_name": "string",
"author_type": "string",
"timestamp": "string"
}
]
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| text | string | false | none | none |
| author_id | string | false | none | none |
| author_name | string | false | none | none |
| author_type | string | false | none | none |
| timestamp | string | false | none | none |
ReservationPaymentsResponse
{
"security_deposit": {
"successful_authorizations": [
{
"currency": "string",
"amount": 0,
"receipt_url": "string",
"card_brand": "string",
"timestamp": "string"
}
],
"charge_failures": [
{
"message": "string",
"timestamp": "string"
}
],
"refunds": [
{
"currency": "string",
"amount": 0,
"receipt_url": "string",
"timestamp": "string"
}
],
"deposit_captures": [
{
"currency": "string",
"amount": 0,
"receipt_url": "string",
"card_brand": "string",
"timestamp": "string"
}
]
},
"payment_validation": {
"receipt_url": "string",
"name_on_card": "string",
"funding_type": "string",
"card_brand": "string",
"card_country": "string",
"status": "string",
"errors": [
{
"title": "string",
"description": "string"
}
]
},
"damage_waiver": {
"amount": 0,
"currency": "string",
"timestamp": "string",
"receipt_url": "string"
},
"extra_services": {
"amount": 0,
"receipt_url": "string",
"products": [
{
"name": "string",
"price": 0
}
]
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| security_deposit | object | false | none | none |
| » successful_authorizations | [object] | false | none | none |
| »» currency | string | false | none | none |
| »» amount | number | false | none | none |
| »» receipt_url | string | false | none | none |
| »» card_brand | string | false | none | none |
| »» timestamp | string | false | none | none |
| » charge_failures | [object] | false | none | none |
| »» message | string | false | none | none |
| »» timestamp | string | false | none | none |
| » refunds | [object] | false | none | none |
| »» currency | string | false | none | none |
| »» amount | number | false | none | none |
| »» receipt_url | string | false | none | none |
| »» timestamp | string | false | none | none |
| » deposit_captures | [object] | false | none | none |
| »» currency | string | false | none | none |
| »» amount | number | false | none | none |
| »» receipt_url | string | false | none | none |
| »» card_brand | string | false | none | none |
| »» timestamp | string | false | none | none |
| payment_validation | object | false | none | none |
| » receipt_url | string | false | none | none |
| » name_on_card | string | false | none | none |
| » funding_type | string | false | none | none |
| » card_brand | string | false | none | none |
| » card_country | string | false | none | none |
| » status | string | false | none | none |
| » errors | [object] | false | none | none |
| »» title | string | false | none | none |
| »» description | string | false | none | none |
| damage_waiver | object | false | none | none |
| » amount | number | false | none | none |
| » currency | string | false | none | none |
| » timestamp | string | false | none | none |
| » receipt_url | string | false | none | none |
| extra_services | object | false | none | none |
| » amount | number | false | none | none |
| » receipt_url | string | false | none | none |
| » products | [object] | false | none | none |
| »» name | string | false | none | none |
| »» price | number | false | none | none |
ReservationStargateResponse
[
{
"email": "user@example.com",
"phone": "string",
"tag": "string",
"method": "string",
"via": "string",
"sendAfter": "2019-08-24T14:15:22Z",
"created": "2019-08-24T14:15:22Z",
"updated": "2019-08-24T14:15:22Z",
"reservation_id": "string",
"listing_id": "string",
"confirmation_code": "string",
"message": {
"subject": "string",
"text": "string",
"html": "string"
}
}
]
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| string(email) | false | none | none | |
| phone | string | false | none | none |
| tag | string | false | none | none |
| method | string | false | none | none |
| via | string | false | none | none |
| sendAfter | string(date-time) | false | none | none |
| created | string(date-time) | false | none | none |
| updated | string(date-time) | false | none | none |
| reservation_id | string | false | none | none |
| listing_id | string | false | none | none |
| confirmation_code | string | false | none | none |
| message | object | false | none | none |
| » subject | string | false | none | none |
| » text | string | false | none | none |
| » html | string | false | none | none |
ReservationGuestPortalResponse
{
"full_name": "string",
"phone": "string",
"email": "user@example.com",
"name_on_card": "string",
"security_deposit": true,
"last_step": "string",
"completed": true,
"completed_at": "string",
"updated_at": "string",
"guests": [
{
"name": "string",
"email": "user@example.com"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| full_name | string | false | none | none |
| phone | string | false | none | none |
| string(email) | false | none | none | |
| name_on_card | string | false | none | none |
| security_deposit | boolean | false | none | none |
| last_step | string | false | none | none |
| completed | boolean | false | none | none |
| completed_at | string | false | none | none |
| updated_at | string | false | none | none |
| guests | [object] | false | none | none |
| » name | string | false | none | none |
| string(email) | false | none | none |
QueryParamReservationStatus
"CONFIRMED"
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | CONFIRMED |
| anonymous | CANCELED |
| anonymous | INQUIRY |
| anonymous | any |
PaymentEventRequest
{
"reservation_id": "string",
"event_source": "adyen",
"event_id": "string",
"event_type": "authorization",
"event_status": "info",
"customer_id": "string",
"processor_status_code": "string",
"processor_message": "string",
"network_status_code": "approved_by_network",
"three_d_secure": "attempt_acknowledged",
"amount": 0,
"currency": "str",
"charge_descriptor": "string",
"name_on_card": "string",
"payment_method": "card",
"card_type": "credit",
"card_provider": "visa",
"card_country": "st",
"card_iin": "string",
"card_last4": "stri",
"card_expiry_month": "st",
"card_expiry_year": "stri",
"card_fingerprint": "string",
"card_cvc_check": "pass",
"card_postal_code_check": "pass",
"card_line1_check": "pass",
"billing_country_code": "st",
"billing_address": "string",
"billing_city": "string",
"billing_state_code": "string",
"billing_postal_code": "string",
"billing_phone": "string",
"billing_email": "user@example.com",
"billing_name": "string",
"ip_address": "192.168.0.1",
"user_agent": "string",
"timestamp": "2019-08-24T14:15:22Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| reservation_id | string | true | none | Autohost reservation ID |
| event_source | string | true | none | Payment processor |
| event_id | string | true | none | Unique event ID from payment processor |
| event_type | string | true | none | Type of the event |
| event_status | string | true | none | Status of the event |
| customer_id | string | false | none | Unique customer ID from payment processor or your system |
| processor_status_code | string | false | none | Status code from the payment processor |
| processor_message | string | false | none | Message from the payment processor |
| network_status_code | string | false | none | Network status code |
| three_d_secure | string | false | none | 3D Secure status (if applicable) |
| amount | number | false | none | Amount in major currency units (e.g. 1.25) |
| currency | string | false | none | ISO 4217 currency code (e.g. usd) |
| charge_descriptor | string | false | none | Short description of the charge |
| name_on_card | string | false | none | Name on the card |
| payment_method | string | false | none | Payment method |
| card_type | string | false | none | Card type (credit, debit, prepaid) |
| card_provider | string | false | none | Issuer of the card |
| card_country | string | false | none | The country where the card was issued in ISO 3166-1 alpha-2 format (e.g. US) |
| card_iin | string | false | none | Issuer Identification Number |
| card_last4 | string | false | none | Last 4 digits of the card number |
| card_expiry_month | string | false | none | Expiry month of the card |
| card_expiry_year | string | false | none | Expiry year of the card |
| card_fingerprint | string | false | none | Unique card fingerprint provided by payment processor (if available) |
| card_cvc_check | string | false | none | Card security code check |
| card_postal_code_check | string | false | none | Card postal code check |
| card_line1_check | string | false | none | Card address line 1 check |
| billing_country_code | string | false | none | Country code of the billing address in ISO 3166-1 alpha-2 format |
| billing_address | string | false | none | Billing street address |
| billing_city | string | false | none | Billing city |
| billing_state_code | string | false | none | Billing state code in ISO 3166-2 format |
| billing_postal_code | string | false | none | Billing postal code |
| billing_phone | string | false | none | Billing phone number in E.164 format (e.g. +15555555555) |
| billing_email | string(email) | false | none | Billing email address |
| billing_name | string | false | none | Billing name |
| ip_address | string(ipv4) | false | none | IP address of the customer |
| user_agent | string | false | none | User agent of the customer |
| timestamp | string(date-time) | false | none | Timestamp of the event in ISO 8601 format (e.g. 2022-05-22T18:06:20.352Z) |
Enumerated Values
| Property | Value |
|---|---|
| event_source | adyen |
| event_source | stripe |
| event_source | other |
| event_type | authorization |
| event_type | charge |
| event_type | refund |
| event_type | dispute |
| event_type | chargeback |
| event_status | info |
| event_status | warning |
| event_status | success |
| event_status | failure |
| network_status_code | approved_by_network |
| network_status_code | declined_by_network |
| network_status_code | not_sent_to_network |
| network_status_code | reversed_after_approval |
| three_d_secure | attempt_acknowledged |
| three_d_secure | authenticated |
| three_d_secure | exempted |
| three_d_secure | failed |
| three_d_secure | not_supported |
| three_d_secure | processing_error |
| payment_method | card |
| payment_method | ach |
| card_type | credit |
| card_type | debit |
| card_type | prepaid |
| card_provider | visa |
| card_provider | mastercard |
| card_provider | amex |
| card_provider | discover |
| card_provider | jcb |
| card_provider | diners |
| card_provider | maestro |
| card_provider | unionpay |
| card_provider | other |
| card_cvc_check | pass |
| card_cvc_check | fail |
| card_cvc_check | unavailable |
| card_postal_code_check | pass |
| card_postal_code_check | fail |
| card_postal_code_check | unavailable |
| card_line1_check | pass |
| card_line1_check | fail |
| card_line1_check | unavailable |
PaymentEventResponse
{
"message": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| message | string | false | none | none |