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);

Update Guest Portal screen settings for an account

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

Update your own account settings, or update another user's account Guest Portal screen settings if you have the necessary permissions.

Parameters

NameInTypeRequiredDescription
idpathstringtrueAutohost user ID (optional)
x-api-keyheaderstringfalseAPI Authentication Key
bodybodyAccountSettingsRequestfalseJSON object with account settings

Body parameter

{
"config_key": "guest_portal_screens_for_repeat_guests",
"config_data": [
{
"source": "MINT",
"guest_portal_screens": {
"AboutYou": "required",
"AuthorityReporting": "disabled",
"FraudDetectionAddon": "disabled",
"AdverseMediaSearchAddon": "disabled"
}
}
]
}

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

input_body = {
"config_key": "guest_portal_screens_for_repeat_guests",
"config_data": [
{
"source": "MINT",
"guest_portal_screens": {
"AboutYou": "required",
"AuthorityReporting": "disabled",
"FraudDetectionAddon": "disabled",
"AdverseMediaSearchAddon": "disabled"
}
}
]
}

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

r = requests.get('https://data.autohost.ai/v1/accounts/settings/guest-portal-screens/{key}', json=input_body, headers=headers)

print(r.json())

/*
TypeScript Code Snippet
*/

import fetch from 'node-fetch';
const inputBody = {
"config_key": "guest_portal_screens_for_repeat_guests",
"config_data": [
{
"source": "MINT",
"guest_portal_screens": {
"AboutYou": "required",
"AuthorityReporting": "disabled",
"FraudDetectionAddon": "disabled",
"AdverseMediaSearchAddon": "disabled"
}
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'x-api-key':'string'
};

const response = await fetch('https://data.autohost.ai/v1/accounts/settings/guest-portal-screens/{key}', {
method: 'get',
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"
}
}

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"
}

Properties

NameTypeRequiredRestrictionsDescription
errorstringfalsenonenone

AccountChildrenResponse

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

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
}
]

Properties

NameTypeRequiredRestrictionsDescription
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
}

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
}

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"
}

Properties

NameTypeRequiredRestrictionsDescription
descriptionstringtruenoneNew description for the API key

AccountApiKeyDeleteResponse

{
"message": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
messagestringfalsenonenone

AccountRegistrationRequest

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

Properties

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

QueryParamPMS

"api"

Properties

NameTypeRequiredRestrictionsDescription
anonymousstringfalsenonenone

Enumerated Values

PropertyValue
anonymousapi
anonymousapaleo
anonymousbeds24
anonymousbooking
anonymouscloudbeds
anonymousguesty
anonymoushostaway
anonymoushostfully
anonymousinforhms
anonymousimpala
anonymouslavanda
anonymousmyvr
anonymousopera
anonymoussmartbnb
anonymousstayntouch
anonymousstreamline
anonymoustrackhs

AccountSignupLinkResponse

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

Properties

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

AccountWebhooksRequest

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

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"
}

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"
}
}
]
}

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": {}
}

Properties

NameTypeRequiredRestrictionsDescription
config_keystringfalsenoneConfiguration key
config_dataobjectfalsenoneConfiguration data

Enumerated Values

PropertyValue
config_keyguest_portal_screens_for_repeat_guests
config_keyguest_portal_screens_by_source