Skip to main content

Accounts

My account​

GET /accounts/me

Return current user account information. This is often used to validate authentication.

Parameters​

NameInTypeRequiredDescription
x-api-keyheaderstringtrueAPI Authentication Key

Example responses​

200 Response

{
"id": "string",
"name": "string",
"email": "user@example.com",
"phone": "string",
"is_active": true,
"is_suspended": true,
"last_login": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"company": {
"name": "string",
"email": "user@example.com",
"phone": "string"
},
"billing": {
"parent_account": "string"
}
}

Responses​

StatusMeaningDescriptionSchema
200OKA user objectAccountDetailsResponse
400Bad RequestAn error messageErrorResponse

Code samples​

"""
Python Code Snippet
"""
import requests

headers = {
'Accept': 'application/json',
'x-api-key': 'string'
}

r = requests.get('https://data.autohost.ai/v1/accounts/me', 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/accounts/me', {
method: 'get',

headers,
});
const responseJson = await response.json();
console.log(responseJson);

Reseller accounts list​

GET /accounts/children

Paginated list of user accounts belonging to a reseller profile.

Parameters​

NameInTypeRequiredDescription
fromquerynumberfalsePagination control
sizequerynumberfalseNumber of items to return
x-api-keyheaderstringtrueAPI Authentication Key

Example responses​

200 Response

{
"from": 0,
"size": 0,
"total": 0,
"items": [
{
"id": "string",
"name": "string",
"email": "user@example.com",
"phone": "string"
}
]
}

Responses​

StatusMeaningDescriptionSchema
200OKA list of account objectsAccountChildrenResponse
400Bad RequestAn error messageErrorResponse

Code samples​

"""
Python Code Snippet
"""
import requests

headers = {
'Accept': 'application/json',
'x-api-key': 'string'
}

r = requests.get('https://data.autohost.ai/v1/accounts/children', 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/accounts/children', {
method: 'get',

headers,
});
const responseJson = await response.json();
console.log(responseJson);

Delete API key​

DELETE /accounts/keys/{key}

Delete an existing API key.

Parameters​

NameInTypeRequiredDescription
keypathstringtrueThe API key ID
x-api-keyheaderstringtrueAPI Authentication Key

Example responses​

Deletion success message

{
"message": "Key removed"
}

403 Response

{
"error": "string"
}

Responses​

StatusMeaningDescriptionSchema
200OKDeletion success messageAccountApiKeyDeleteResponse
403ForbiddenUnauthorized accessErrorResponse
500Internal Server ErrorInternal server errorErrorResponse

Code samples​

"""
Python Code Snippet
"""
import requests

headers = {
'Accept': 'application/json',
'x-api-key': 'string'
}

r = requests.delete('https://data.autohost.ai/v1/accounts/keys/{key}', 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/accounts/keys/{key}', {
method: 'delete',

headers,
});
const responseJson = await response.json();
console.log(responseJson);

Reseller new account​

POST /accounts/register

Register a new account under a channel profile. This is used by resellers and channel partners to create Autohost user accounts.

Parameters​

NameInTypeRequiredDescription
x-api-keyheaderstringtrueAPI Authentication Key
bodybodyAccountRegistrationRequestfalseJSON object with user account details

Body parameter​

{
"name": "string",
"email": "user@example.com",
"phone": "string",
"password": "string",
"company": {
"name": "string",
"email": "user@example.com",
"phone": "string"
}
}

Example responses​

200 Response

{
"id": "string",
"name": "string",
"email": "user@example.com",
"phone": "string",
"is_active": true,
"is_suspended": true,
"last_login": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"company": {
"name": "string",
"email": "user@example.com",
"phone": "string"
},
"billing": {
"parent_account": "string"
}
}

Responses​

StatusMeaningDescriptionSchema
200OKA user objectAccountDetailsResponse
400Bad RequestAn error messageErrorResponse

Code samples​

"""
Python Code Snippet
"""
import requests

input_body = {
"name": "string",
"email": "user@example.com",
"phone": "string",
"password": "string",
"company": {
"name": "string",
"email": "user@example.com",
"phone": "string"
}
}

headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'string'
}

r = requests.post('https://data.autohost.ai/v1/accounts/register', json=input_body, headers=headers)

print(r.json())

/*
TypeScript Code Snippet
*/

import fetch from 'node-fetch';
const inputBody = {
"name": "string",
"email": "user@example.com",
"phone": "string",
"password": "string",
"company": {
"name": "string",
"email": "user@example.com",
"phone": "string"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'string'
};

const response = await fetch('https://data.autohost.ai/v1/accounts/register', {
method: 'post',
body: JSON.stringify(inputBody),
headers,
});
const responseJson = await response.json();
console.log(responseJson);

Reseller update account​

PUT /accounts/{id}

Update a channel account. This is used by resellers and channel partners to update Autohost user accounts.

Parameters​

NameInTypeRequiredDescription
idpathstringtrueAutohost user ID
suspendedquerystringfalseSuspend or unsuspend the account
statusquerystringfalseEnable or disable the account
x-api-keyheaderstringtrueAPI Authentication Key
bodybodyAccountRegistrationRequestfalseJSON object with user account details

Enumerated Values​

ParameterValue
suspendedtrue
suspendedfalse
statusactive
statusdisabled

Body parameter​

{
"name": "string",
"email": "user@example.com",
"phone": "string",
"password": "string",
"company": {
"name": "string",
"email": "user@example.com",
"phone": "string"
}
}

Example responses​

200 Response

{
"id": "string",
"name": "string",
"email": "user@example.com",
"phone": "string",
"is_active": true,
"is_suspended": true,
"last_login": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"company": {
"name": "string",
"email": "user@example.com",
"phone": "string"
},
"billing": {
"parent_account": "string"
}
}

Responses​

StatusMeaningDescriptionSchema
200OKUser account objectAccountDetailsResponse
400Bad RequestAn error messageErrorResponse

Code samples​

"""
Python Code Snippet
"""
import requests

input_body = {
"name": "string",
"email": "user@example.com",
"phone": "string",
"password": "string",
"company": {
"name": "string",
"email": "user@example.com",
"phone": "string"
}
}

headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'string'
}

r = requests.put('https://data.autohost.ai/v1/accounts/{id}', json=input_body, headers=headers)

print(r.json())

/*
TypeScript Code Snippet
*/

import fetch from 'node-fetch';
const inputBody = {
"name": "string",
"email": "user@example.com",
"phone": "string",
"password": "string",
"company": {
"name": "string",
"email": "user@example.com",
"phone": "string"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'string'
};

const response = await fetch('https://data.autohost.ai/v1/accounts/{id}', {
method: 'put',
body: JSON.stringify(inputBody),
headers,
});
const responseJson = await response.json();
console.log(responseJson);

POST /accounts/signup

Generate a self-signup link for a given PMS. This is used by resellers and channel partners to create registration links they can send to their customers.

Parameters​

NameInTypeRequiredDescription
pmsqueryQueryParamPMStruePMS integration name
redirectquerystringfalseURL to redirect to after signup
hidepwquerystringfalseHide password screen during user signup
x-api-keyheaderstringtrueAPI Authentication Key

Enumerated Values​

ParameterValue
pmsapi
pmsapaleo
pmsbeds24
pmsbooking
pmscloudbeds
pmsguesty
pmshostaway
pmshostfully
pmsinforhms
pmsimpala
pmslavanda
pmsmyvr
pmsopera
pmssmartbnb
pmsstayntouch
pmsstreamline
pmstrackhs

Example responses​

200 Response

{
"url": "http://example.com",
"expiry": "2019-08-24T14:15:22Z"
}

Responses​

StatusMeaningDescriptionSchema
200OKA signup objectAccountSignupLinkResponse
400Bad RequestAn error messageErrorResponse

Code samples​

"""
Python Code Snippet
"""
import requests

headers = {
'Accept': 'application/json',
'x-api-key': 'string'
}

params = {
'pms': 'api'
}

r = requests.post('https://data.autohost.ai/v1/accounts/signup', headers=headers, params=params)

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/accounts/signup', {
method: 'post',

headers,
});
const responseJson = await response.json();
console.log(responseJson);

Account create webhook​

POST /accounts/webhooks

Register a new webhook. This is used by platforms such as Zapier to register webhooks.

Parameters​

NameInTypeRequiredDescription
x-api-keyheaderstringtrueAPI Authentication Key
bodybodyAccountWebhooksRequestfalseJSON object with webhook details

Body parameter​

{
"webhook_url": "http://example.com",
"webhook_key": "guest_portal_webhook_url"
}

Example responses​

200 Response

{
"message": "string"
}

Responses​

StatusMeaningDescriptionSchema
200OKWebhooks objectAccountWebhooksResponse
400Bad RequestAn error messageErrorResponse

Code samples​

"""
Python Code Snippet
"""
import requests

input_body = {
"webhook_url": "http://example.com",
"webhook_key": "guest_portal_webhook_url"
}

headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'string'
}

r = requests.post('https://data.autohost.ai/v1/accounts/webhooks', json=input_body, headers=headers)

print(r.json())

/*
TypeScript Code Snippet
*/

import fetch from 'node-fetch';
const inputBody = {
"webhook_url": "http://example.com",
"webhook_key": "guest_portal_webhook_url"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'string'
};

const response = await fetch('https://data.autohost.ai/v1/accounts/webhooks', {
method: 'post',
body: JSON.stringify(inputBody),
headers,
});
const responseJson = await response.json();
console.log(responseJson);

Account remove webhook​

DELETE /accounts/webhooks

Delete an existing webhook. This is used by platforms such as Zapier to unregister webhooks.

Parameters​

NameInTypeRequiredDescription
x-api-keyheaderstringtrueAPI Authentication Key
bodybodyAccountWebhooksRequestfalseJSON object with webhook details

Body parameter​

{
"webhook_url": "http://example.com",
"webhook_key": "guest_portal_webhook_url"
}

Example responses​

200 Response

{
"message": "string"
}

Responses​

StatusMeaningDescriptionSchema
200OKWebhooks objectAccountWebhooksResponse
400Bad RequestAn error messageErrorResponse

Code samples​

"""
Python Code Snippet
"""
import requests

input_body = {
"webhook_url": "http://example.com",
"webhook_key": "guest_portal_webhook_url"
}

headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'string'
}

r = requests.delete('https://data.autohost.ai/v1/accounts/webhooks', json=input_body, headers=headers)

print(r.json())

/*
TypeScript Code Snippet
*/

import fetch from 'node-fetch';
const inputBody = {
"webhook_url": "http://example.com",
"webhook_key": "guest_portal_webhook_url"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'string'
};

const response = await fetch('https://data.autohost.ai/v1/accounts/webhooks', {
method: 'delete',
body: JSON.stringify(inputBody),
headers,
});
const responseJson = await response.json();
console.log(responseJson);

Retrieve account settings​

GET /accounts/{id}/settings/guest-portal-screens/{key}

Fetch your own account settings, or another user's account settings if you have the necessary permissions.

Parameters​

NameInTypeRequiredDescription
idpathstringtrueAutohost user ID (optional — defaults to the authenticated user)
keypathstringtrueSetting key
x-api-keyheaderstringtrueAPI Authentication Key

Example responses​

Settings object

{
"config_key": "guest_portal_screens_for_repeat_guests",
"config_data": [
{
"source": "MINT",
"guest_portal_screens": {
"AboutYou": "required",
"PurposeOfStay": "disabled",
"TimeInfoEdit": "disabled"
}
}
]
}
{
"config_key": "guest_portal_screens_by_source",
"config_data": [
{
"source": "Airbnb",
"guest_portal_screens": {
"BackgroundCheck": "disabled",
"CreditCheck": "disabled",
"IDVerification": "disabled"
}
}
]
}

400 Response

{
"error": "string"
}

Responses​

StatusMeaningDescriptionSchema
200OKSettings objectAccountSettingsResponse
400Bad RequestAn error messageErrorResponse

Code samples​

"""
Python Code Snippet
"""
import requests

headers = {
'Accept': 'application/json',
'x-api-key': 'string'
}

r = requests.get('https://data.autohost.ai/v1/accounts/{id}/settings/guest-portal-screens/{key}', 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/accounts/{id}/settings/guest-portal-screens/{key}', {
method: 'get',

headers,
});
const responseJson = await response.json();
console.log(responseJson);

Update usage agreement template settings​

PUT /accounts/{id}/settings/usage-agreement

Save (merge) usage agreement template settings for your account. All top-level fields are optional — only provided fields are upserted. Channel accounts may update settings for child accounts by passing the target user ID in the path.

Parameters​

NameInTypeRequiredDescription
idpathstringtrueAutohost user ID (optional — defaults to the authenticated user)
x-api-keyheaderstringfalseAPI Authentication Key
bodybodyUsageAgreementSettingsRequestfalsePartial usage agreement settings to upsert

Body parameter​

{
"user": {
"format": "html",
"content": "<p>By checking in, you agree to our house rules and policies.</p>"
}
}

Example responses​

Updated usage agreement settings

{
"user": {
"id": "user-123",
"format": "html",
"content": "<p>By checking in, you agree to our house rules and policies.</p>"
},
"sources": [
{
"name": "airbnb",
"format": "html",
"content": "<p>Airbnb-specific usage agreement terms.</p>"
}
],
"reservations": [
{
"id": "res-456",
"format": "html",
"content": "<p>Custom agreement for this reservation.</p>"
}
],
"listings": [
{
"id": "list-789",
"format": "html",
"content": "<p>Beachfront property agreement with pool access rules.</p>"
}
]
}
{
"user": {
"id": "user-123",
"format": "html",
"content": "<p>Standard agreement for all guests.</p>"
}
}

400 Response

{
"error": "string"
}

Responses​

StatusMeaningDescriptionSchema
200OKUpdated usage agreement settingsUsageAgreementSettingsResponse
400Bad RequestAn error messageErrorResponse
403ForbiddenForbidden — not authorized to update this user's settingsErrorResponse
404Not FoundUser not foundErrorResponse

Code samples​

"""
Python Code Snippet
"""
import requests

input_body = {
"user": {
"format": "html",
"content": "<p>By checking in, you agree to our house rules and policies.</p>"
}
}

headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'string'
}

r = requests.put('https://data.autohost.ai/v1/accounts/{id}/settings/usage-agreement', json=input_body, headers=headers)

print(r.json())

/*
TypeScript Code Snippet
*/

import fetch from 'node-fetch';
const inputBody = {
"user": {
"format": "html",
"content": "<p>By checking in, you agree to our house rules and policies.</p>"
}
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'string'
};

const response = await fetch('https://data.autohost.ai/v1/accounts/{id}/settings/usage-agreement', {
method: 'put',
body: JSON.stringify(inputBody),
headers,
});
const responseJson = await response.json();
console.log(responseJson);

Schemas​

AccountDetailsResponse​

{
"id": "string",
"name": "string",
"email": "user@example.com",
"phone": "string",
"is_active": true,
"is_suspended": true,
"last_login": "2019-08-24T14:15:22Z",
"created_at": "2019-08-24T14:15:22Z",
"company": {
"name": "string",
"email": "user@example.com",
"phone": "string"
},
"billing": {
"parent_account": "string"
}
}

AccountDetailsResponse

Properties​

NameTypeRequiredRestrictionsDescription
idstringfalsenonenone
namestringfalsenonenone
emailstring(email)falsenonenone
phonestringfalsenonenone
is_activebooleanfalsenonenone
is_suspendedbooleanfalsenonenone
last_loginstring(date-time)falsenonenone
created_atstring(date-time)falsenonenone
companyobjectfalsenonenone
» namestringfalsenonenone
» emailstring(email)falsenonenone
» phonestringfalsenonenone
billingobjectfalsenonenone
» parent_accountstringfalsenonenone

ErrorResponse​

{
"error": "string"
}

ErrorResponse

Properties​

NameTypeRequiredRestrictionsDescription
errorstringfalsenonenone

AccountChildrenResponse​

{
"from": 0,
"size": 0,
"total": 0,
"items": [
{
"id": "string",
"name": "string",
"email": "user@example.com",
"phone": "string"
}
]
}

AccountChildrenResponse

Properties​

NameTypeRequiredRestrictionsDescription
fromnumberfalsenonenone
sizenumberfalsenonenone
totalnumberfalsenonenone
items[object]falsenonenone
» idstringfalsenonenone
» namestringfalsenonenone
» emailstring(email)falsenonenone
» phonestringfalsenonenone

AccountApiKeysResponse​

[
{
"user_id": "string",
"user_name": "string",
"value": "string",
"description": "string",
"sdk": true
}
]

AccountApiKeysResponse

Properties​

NameTypeRequiredRestrictionsDescription
AccountApiKeysResponse[object]falsenoneA list of API key objects for all children accounts
user_idstringfalsenoneThe user ID of the API key owner
user_namestringfalsenoneThe user name of the API key owner
valuestringfalsenoneThe API key secret
descriptionstringfalsenoneUser-controlled description of the API key
sdkbooleanfalsenoneWhether this is an SDK API key

AccountApiKeyCreateRequest​

{
"description": "string",
"sdk": false
}

AccountApiKeyCreateRequest

Properties​

NameTypeRequiredRestrictionsDescription
descriptionstringfalsenoneDescription for the API key
sdkbooleanfalsenoneWhether this is an SDK API key

AccountApiKeyResponse​

{
"id": "string",
"name": "string",
"description": "string",
"value": "string",
"enabled": true,
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"sdk": true
}

AccountApiKeyResponse

Properties​

NameTypeRequiredRestrictionsDescription
idstringfalsenoneThe API key ID
namestringfalsenoneThe API key name
descriptionstringfalsenoneUser-controlled description of the API key
valuestringfalsenoneThe API key secret
enabledbooleanfalsenoneWhether the API key is enabled
created_atstring(date-time)falsenoneThe date and time the API key was created
updated_atstring(date-time)falsenoneThe date and time the API key was last updated
sdkbooleanfalsenoneWhether this is an SDK API key

AccountApiKeyUpdateRequest​

{
"description": "string"
}

AccountApiKeyUpdateRequest

Properties​

NameTypeRequiredRestrictionsDescription
descriptionstringtruenoneNew description for the API key

AccountApiKeyDeleteResponse​

{
"message": "string"
}

AccountApiKeyDeleteResponse

Properties​

NameTypeRequiredRestrictionsDescription
messagestringfalsenonenone

AccountRegistrationRequest​

{
"name": "string",
"email": "user@example.com",
"phone": "string",
"password": "string",
"company": {
"name": "string",
"email": "user@example.com",
"phone": "string"
}
}

AccountRegistrationRequest

Properties​

NameTypeRequiredRestrictionsDescription
namestringfalsenonenone
emailstring(email)falsenonenone
phonestringfalsenonenone
passwordstringfalsenonenone
companyobjectfalsenonenone
» namestringfalsenonenone
» emailstring(email)falsenonenone
» phonestringfalsenonenone

QueryParamPMS​

"api"

QueryParamPMS

Properties​

NameTypeRequiredRestrictionsDescription
QueryParamPMSstringfalsenonePMS integration name. If supplied, the API will assume the path parameter id is a confirmation code.

Enumerated Values​

PropertyValue
QueryParamPMSapi
QueryParamPMSapaleo
QueryParamPMSbeds24
QueryParamPMSbooking
QueryParamPMScloudbeds
QueryParamPMSguesty
QueryParamPMShostaway
QueryParamPMShostfully
QueryParamPMSinforhms
QueryParamPMSimpala
QueryParamPMSlavanda
QueryParamPMSmyvr
QueryParamPMSopera
QueryParamPMSsmartbnb
QueryParamPMSstayntouch
QueryParamPMSstreamline
QueryParamPMStrackhs

AccountSignupLinkResponse​

{
"url": "http://example.com",
"expiry": "2019-08-24T14:15:22Z"
}

AccountSignupLinkResponse

Properties​

NameTypeRequiredRestrictionsDescription
urlstring(uri)falsenonenone
expirystring(date-time)falsenonenone

AccountWebhooksRequest​

{
"webhook_url": "http://example.com",
"webhook_key": "guest_portal_webhook_url"
}

AccountWebhooksRequest

Properties​

NameTypeRequiredRestrictionsDescription
webhook_urlstring(uri)falsenonenone
webhook_keystringfalsenonenone

Enumerated Values​

PropertyValue
webhook_keyguest_portal_webhook_url
webhook_keyscreening_webhook_url
webhook_keystargate_webhook_url
webhook_keyreservation_webhook_url
webhook_keylisting_webhook_url
webhook_keyaccount_webhook_url

AccountWebhooksResponse​

{
"message": "string"
}

AccountWebhooksResponse

Properties​

NameTypeRequiredRestrictionsDescription
messagestringfalsenonenone

AccountSettingsRequest​

{
"config_key": "guest_portal_screens_for_repeat_guests",
"config_data": [
{
"source": "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"
}
}
]
}

AccountSettingsRequest

Properties​

NameTypeRequiredRestrictionsDescription
config_keystringfalsenoneConfiguration key
config_data[any]falsenoneConfiguration data for each source

Enumerated Values​

PropertyValue
config_keyguest_portal_screens_for_repeat_guests
config_keyguest_portal_screens_by_source

AccountSettingsResponse​

{
"config_key": "guest_portal_screens_for_repeat_guests",
"config_data": {}
}

AccountSettingsResponse

Properties​

NameTypeRequiredRestrictionsDescription
config_keystringfalsenoneConfiguration key
config_dataobjectfalsenoneConfiguration data

Enumerated Values​

PropertyValue
config_keyguest_portal_screens_for_repeat_guests
config_keyguest_portal_screens_by_source

UsageAgreementSettingsResponse​

{
"user": {
"id": "string",
"format": "html",
"content": "string"
},
"sources": [
{
"name": "string",
"format": "html",
"content": "string"
}
],
"reservations": [
{
"id": "string",
"format": "html",
"content": "string"
}
],
"listings": [
{
"id": "string",
"format": "html",
"content": "string"
}
]
}

UsageAgreementSettingsResponse

Properties​

NameTypeRequiredRestrictionsDescription
userobjectfalsenoneUser-level agreement template
» idstringfalsenoneUser ID
» formatstringfalsenonenone
» contentstringfalsenoneTemplate content
sources[object]falsenoneSource-specific templates
» namestringfalsenoneSource name
» formatstringfalsenonenone
» contentstringfalsenoneTemplate content
reservations[object]falsenoneReservation-level template overrides (at most one element)
» idstringfalsenoneReservation ID
» formatstringfalsenonenone
» contentstringfalsenoneTemplate content
listings[object]falsenoneListing-level template overrides (at most one element)
» idstringfalsenoneListing ID
» formatstringfalsenonenone
» contentstringfalsenoneTemplate content

Enumerated Values​

PropertyValue
formathtml
formatmarkdown
formathtml
formatmarkdown
formathtml
formatmarkdown
formathtml
formatmarkdown

UsageAgreementSettingsRequest​

{
"user": {
"format": "html",
"content": "stringstri"
},
"sources": [
{
"name": "string",
"format": "html",
"content": "stringstri"
}
],
"reservations": [
{
"id": "string",
"format": "html",
"content": "stringstri"
}
],
"listings": [
{
"id": "string",
"format": "html",
"content": "stringstri"
}
]
}

UsageAgreementSettingsRequest

Properties​

NameTypeRequiredRestrictionsDescription
userobjectfalsenoneUser-level agreement template
» formatstringfalsenoneContent format
» contentstringfalsenoneTemplate content (minimum 10 characters)
sources[object]falsenoneSource-specific templates (upserted by name)
» namestringtruenoneSource name (e.g. airbnb, vrbo) — used as the upsert key
» formatstringfalsenonenone
» contentstringtruenoneTemplate content (minimum 10 characters)
reservations[object]falsenoneReservation-level template overrides
» idstringtruenoneReservation ID
» formatstringfalsenonenone
» contentstringtruenoneTemplate content (minimum 10 characters)
listings[object]falsenoneListing-level template overrides
» idstringtruenoneListing ID
» formatstringfalsenonenone
» contentstringtruenoneTemplate content (minimum 10 characters)

Enumerated Values​

PropertyValue
formathtml
formatmarkdown
formathtml
formatmarkdown
formathtml
formatmarkdown
formathtml
formatmarkdown