Accounts
accounts-me
GET /accounts/me
My account
Return current user account information. This is often used to validate authentication.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-api-key | header | string | true | API 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
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A user object | AccountDetailsResponse |
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/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);
accounts-children
GET /accounts/children
Reseller accounts list
Paginated list of user accounts belonging to a reseller profile.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
from | query | number | false | Pagination control |
size | query | number | false | Number of items to return |
x-api-key | header | string | true | API Authentication Key |
Example responses
200 Response
{
"from": 0,
"size": 0,
"total": 0,
"items": [
{
"id": "string",
"name": "string",
"email": "user@example.com",
"phone": "string"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A list of account objects | AccountChildrenResponse |
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/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);
accounts-keys
GET /accounts/keys
Reseller API keys
List of API keys for all accounts owned by a reseller.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-api-key | header | string | true | API Authentication Key |
Example responses
200 Response
[
{
"user_id": "string",
"user_name": "string",
"value": "string"
}
]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A list of account objects | AccountApiKeysResponse |
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/accounts/keys', 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', {
method: 'get',
headers,
});
const responseJson = await response.json();
console.log(responseJson);
accounts-register
POST /accounts/register
Reseller new account
Register a new account under a channel profile. This is used by resellers and channel partners to create Autohost user accounts.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-api-key | header | string | false | API Authentication Key |
body | body | AccountRegistrationRequest | false | JSON 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
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A user object | AccountDetailsResponse |
400 | Bad Request | An error message | ErrorResponse |
Code samples
"""
Python Code Snippet
"""
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.post('https://data.autohost.ai/v1/accounts/register', 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);
accounts-update
PUT /accounts/{id}
Reseller update account
Update a channel account. This is used by resellers and channel partners to update Autohost user accounts.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Autohost user ID |
suspended | query | string | false | Suspend or unsuspend the account |
status | query | string | false | Enable or disable the account |
x-api-key | header | string | false | API Authentication Key |
body | body | AccountRegistrationRequest | false | JSON object with user account details |
Enumerated Values
Parameter | Value |
---|---|
suspended | true |
suspended | false |
status | active |
status | disabled |
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
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | User account object | AccountDetailsResponse |
400 | Bad Request | An error message | ErrorResponse |
Code samples
"""
Python Code Snippet
"""
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.put('https://data.autohost.ai/v1/accounts/{id}', 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);
accounts-signup
POST /accounts/signup
Reseller signup link
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
Name | In | Type | Required | Description |
---|---|---|---|---|
pms | query | QueryParamPMS | true | PMS integration name |
redirect | query | string | false | URL to redirect to after signup |
hidepw | query | string | false | Hide password screen during user signup |
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
{
"url": "http://example.com",
"expiry": "2019-08-24T14:15:22Z"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | A signup object | AccountSignupLinkResponse |
400 | Bad Request | An error message | ErrorResponse |
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);
accounts-webhooks-create
POST /accounts/webhooks
Account create webhook
Register a new webhook. This is used by platforms such as Zapier to register webhooks.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-api-key | header | string | true | API Authentication Key |
body | body | AccountWebhooksRequest | false | JSON object with webhook details |
Body parameter
{
"webhook_url": "http://example.com",
"webhook_key": "guest_portal_webhook_url"
}
Example responses
200 Response
{
"message": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Webhooks object | AccountWebhooksResponse |
400 | Bad Request | An error message | ErrorResponse |
Code samples
"""
Python Code Snippet
"""
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.post('https://data.autohost.ai/v1/accounts/webhooks', 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);
accounts-webhooks-delete
DELETE /accounts/webhooks
Account remove webhook
Delete an existing webhook. This is used by platforms such as Zapier to unregister webhooks.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-api-key | header | string | true | API Authentication Key |
body | body | AccountWebhooksRequest | false | JSON object with webhook details |
Body parameter
{
"webhook_url": "http://example.com",
"webhook_key": "guest_portal_webhook_url"
}
Example responses
200 Response
{
"message": "string"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Webhooks object | AccountWebhooksResponse |
400 | Bad Request | An error message | ErrorResponse |
Code samples
"""
Python Code Snippet
"""
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'x-api-key': 'string'
}
r = requests.delete('https://data.autohost.ai/v1/accounts/webhooks', 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);
accounts-settings-gpscreens-update
GET /accounts/settings/guest-portal-screens/{key}
Update Guest Portal screen settings for an account
Update your own account settings, or update another user's account Guest Portal screen settings if you have the necessary permissions.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Autohost user ID (optional) |
x-api-key | header | string | false | API Authentication Key |
body | body | AccountSettingsRequest | false | JSON 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
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Settings object | AccountSettingsResponse |
400 | Bad Request | An error message | ErrorResponse |
Code samples
"""
Python Code Snippet
"""
import requests
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}', 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);