Cloudbeds API (v1.2)

Welcome to the documentation for Cloudbeds API Version v1.2! If you are looking to learn how to use the Cloudbeds API to access guest information, reservations, or similar data for your Cloudbeds customers, then you've come to the right place.

In this document you will find all the API methods we provide along with explanations for parameters and response examples.

If you have questions about different implementation steps (e.g. how to implement OAuth 2.0), please refer to our Integrations Portal.

Be sure to subscribe to the monthly Cloudbeds API announcement mailing list to receive information on new additions and improvements to the Cloudbeds API and related developer tools.

Endpoint: https://api.cloudbeds.com/api/v1.2/{method}

HTTPS: Our API requires HTTPS. We'll respond with an appropriate error if you're not using it.

Request Format: HTTP GET, POST and PUT (Content-Type: application/x-www-form-urlencoded)

Response Format: JSON

Response Header: X-Request-ID is added to response headers in all calls to help accelerate support and troubleshooting.

Run in Postman use this link to access our Public collection in Postman.

Download OpenAPI description
Languages
Servers
Mock server
https://tbg-api-docs.vacatia.com/_mock/cloudbeds/
https://api.cloudbeds.com/api/v1.2/

Authentication

Operations

Adjustment

Operations

AllotmentBlocks

Operations

AppSettings

Operations

Currency

Operations

CustomFields

Operations

Dashboard

Operations

Emails

Operations

getEmailTemplates

Request

Returns a list of all existing email templates. This call is only available for third-party integration partners, and not for property client IDs.

Query
propertyIDstring

Property ID

curl -i -X GET \
  'https://tbg-api-docs.vacatia.com/_mock/cloudbeds/getEmailTemplates?propertyID=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'x-api-key: YOUR_API_KEY_HERE'

Responses

200 Response

Bodyapplication/json
successboolean

Returns if the request could be completed

dataArray of objects

List of existing email templates

Response
application/json
{ "success": true, "data": [ { … } ] }

postEmailTemplate

Request

Creates a new email template. See the full list of available language parameters here. This call is only available for third-party integration partners, and not for property client IDs.

Bodyapplication/x-www-form-urlencoded
propertyIDstring or null

Property ID

emailTypestring

Type of the email template: Marketing or Non-Marketing. Only applicable to GDPR-compliant properties.

Default "nonMarketing"
Enum"nonMarketing""marketing"
namestring

Template name

fromstring

Email address from which the email message may be sent

fromNamestring or null

from which the email message may be sent. If empty email will be used

subjectobject

Email message subject. The subject key should be a language code (IETF). A few examples are listed below.

bodyobject

Email message body. The body key should be a language code (IETF). A few examples are listed below.

replyTostring or null

Email address to which the email message may be replied. If empty, the value on from parameter will be used.

replyToNamestring or null

Name to which the email message may be replied. If empty, email will be used.

autofillAllLanguagesboolean or null

If set, all languages will be set with the value for the property language. If not informed and only one language is sent, it's considered true, if more than one language is sent, it'll be considered false.

ccstring or null

Email address to which the email message may be sent as a Carbon Copy

bccstring or null

Email address to which the email message may be sent as a Blind Carbon Copy

curl -i -X POST \
  https://tbg-api-docs.vacatia.com/_mock/cloudbeds/postEmailTemplate \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d propertyID=string \
  -d emailType=nonMarketing \
  -d name=string \
  -d from=string \
  -d fromName=string \
  -d 'subject[en]=string' \
  -d 'subject[es]=string' \
  -d 'subject[ru]=string' \
  -d 'subject[pt-br]=string' \
  -d 'body[en]=string' \
  -d 'body[es]=string' \
  -d 'body[ru]=string' \
  -d 'body[pt-br]=string' \
  -d replyTo=string \
  -d replyToName=string \
  -d autofillAllLanguages=true \
  -d cc=string \
  -d bcc=string

Responses

200 Response

Bodyapplication/json
successboolean

Returns if the request could be completed

emailTemplateIDstring or null

The ID of the created email template. Only present if success = true

messagestring or null

To be used in case any error occurs (if success = false). If success = true, it does not exist.

Response
application/json
{ "success": true, "emailTemplateID": "string", "message": "string" }

getEmailSchedule

Request

Returns a list of all existing email scheduling. This call is only available for third-party integration partners, and not for property client IDs.

Query
propertyIDstring

Property ID

curl -i -X GET \
  'https://tbg-api-docs.vacatia.com/_mock/cloudbeds/getEmailSchedule?propertyID=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'x-api-key: YOUR_API_KEY_HERE'

Responses

200 Response

Bodyapplication/json
successboolean

Returns if the request could be completed

dataArray of objects

List of existing email schedules

Response
application/json
{ "success": true, "data": [ { … } ] }

postEmailSchedule

Request

Creates a new email schedule for existing email template. Email template can be scheduled based on two parameters: reservationStatusChange and reservationEvent. Only one of the parameters can be used. reservationStatusChange schedules email to be sent when reservation status transitions to a specific one, for instance: confirmed. reservationEvent schedules email to be sent number of days prior or after a specific event, for instance: after_check_out at a given time This call is only available for third-party integration partners, and not for property client IDs.

Bodyapplication/x-www-form-urlencoded
propertyIDstring or null

Property ID

emailTemplateIDstring

ID of the email template that will be used when sending an email.

scheduleNamestring

User friendly schedule name that appears in the list. Should contain app name.

scheduleobject
curl -i -X POST \
  https://tbg-api-docs.vacatia.com/_mock/cloudbeds/postEmailSchedule \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d propertyID=string \
  -d emailTemplateID=string \
  -d scheduleName=string \
  -d 'schedule[reservationStatusChange][status]=confirmed' \
  -d 'schedule[reservationEvent][event]=after_booking' \
  -d 'schedule[reservationEvent][days]=0' \
  -d 'schedule[reservationEvent][time]=14:15:22Z'

Responses

200 Response

Bodyapplication/json
successboolean

Returns if the request could be completed

emailScheduleIDstring or null

The ID of the created email schedule. Only present if success = true

messagestring or null

To be used in case any error occurs (if success = false). If success = true, it does not exist.

Response
application/json
{ "success": true, "emailScheduleID": "string", "message": "string" }

Groups

Operations

Guest

Operations

Hotel

Operations

HouseAccount

Operations

Housekeeping

Operations

Integration

Operations

Invoices

Operations

Item

Operations

Package

Operations

Payment

Operations

Rate

Operations

Reservation

Operations

Room

Operations

Taxes and Fees

Operations

User

Operations