Skip to main content

Cloudbeds

Cloudbeds is a cloud-based hospitality management platform that combines a property management system (PMS), booking engine, channel manager, and payments into a single solution for hotels, hostels, vacation rentals, and other lodging businesses. The Cloudbeds PMS API (v1.2) provides programmatic access to reservations, guests, rooms, housekeeping, rates, availability, payments, and financial transactions, enabling integrations such as channel managers, revenue-management tools, and reporting pipelines.

Cloudbeds icon

Power end-to-end data operations for your Cloudbeds API with Nexla. Our bi-directional Cloudbeds connector is purpose-built for Cloudbeds, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Cloudbeds or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Cloudbeds workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

The Cloudbeds PMS API (v1.2) supports two authentication approaches. OAuth 2.0 (Authorization Code grant) is the recommended method for production integrations, while a static API key is available as a legacy option when Cloudbeds has issued a property-scoped key. Both methods are configured from the API Credentials area of your Cloudbeds account.

Cloudbeds Account Access

You need an active Cloudbeds account with permission to manage API credentials. API credentials are created and managed from the Apps & Marketplace area, which is accessible to property owners and administrators.

Generate Cloudbeds API Credentials

Complete the following steps to create the application credentials used by either authentication method:

  1. Sign in to your Cloudbeds account at https://signin.cloudbeds.com/.

  2. In the upper-right corner, click Account, then select Apps & Marketplace.

  3. Use the menu at the top of the page to navigate to the API Credentials page.

  4. Click the + New Credentials button to begin creating a new set of credentials.

  5. Select the API Scopes that align with the Cloudbeds endpoints your integration will use. Scopes follow a read:<resource> / write:<resource> naming convention (for example, read:reservation, write:reservation, read:guest, write:guest). Select only the scopes required for the data you intend to read or write.

  6. Click Create to generate the credentials. A modal will display the Client ID and Shared Secret (client secret).

    Click Generate New Secret to reveal the client secret for the first time, or to reset it. Store the client secret securely, as it provides access to your Cloudbeds property data.

For complete details about each scope and the endpoints it grants access to, refer to the Cloudbeds API authentication documentation.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Select the authentication method that matches your Cloudbeds setup, and complete the corresponding fields.

Cloudbeds Authentication Methods

Authenticate using the Cloudbeds OAuth 2.0 Authorization Code grant. Tokens are scoped per property and refresh automatically. This is the recommended method for production integrations.

  1. Enter the **Client ID** of your Cloudbeds Marketplace application in the **Client ID** field. This is the public identifier generated when you created your API credentials.
  2. Enter the **Client Secret** (Shared Secret) generated for your Cloudbeds application in the **Client Secret** field. This value is sensitive and should be kept secure.
  3. Review the **Access Scope** field. It is pre-populated with a space-separated list of common Cloudbeds scopes (for example, `read:guest write:guest read:reservation write:reservation`). Adjust the scopes so they match the scopes granted to your Cloudbeds application and the data your flow needs to access.
  4. The **Authorization URL** and **Token URL** are pre-filled with the Cloudbeds OAuth endpoints (`https://hotels.cloudbeds.com/api/v1.2/oauth` and `https://hotels.cloudbeds.com/api/v1.2/access_token`) and typically do not need to be changed.
  5. Click the authorization button to launch the Cloudbeds consent screen, sign in as the property owner or administrator, and approve the requested access. Cloudbeds will return an authorization code that Nexla automatically exchanges for access and refresh tokens.
Refresh token expiration

For OAuth 2.0 credentials, the Cloudbeds refresh token is valid for 365 days, and its expiration is extended each time the access token is successfully refreshed. If the integration is inactive for 365 days, the refresh token expires and the OAuth authorization process must be completed again.

  1. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Cloudbeds connector tile, then select the credential that will be used to connect to the Cloudbeds instance, and click Next; or, create a new Cloudbeds credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Cloudbeds endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below; click on an endpoint to see more information about it and how to configure your data source for this endpoint.

List Guests

Returns a paginated list of guest profiles in the property. Use this endpoint to sync your full guest directory into Nexla for reporting, marketing, or CRM workflows.

  • This endpoint requires no additional parameters. Select it to retrieve all guests accessible to the authenticated property.
  • The endpoint is paginated and automatically advances through pages (100 records per page) until all guests have been retrieved.

Use the Get Guest endpoint to retrieve the full profile for an individual guest by guest ID.

Get Guest

Retrieves the full profile of a single guest, including contact details and document information.

  • Enter the unique guest identifier in the Guest ID field. Guest IDs can be obtained from the List Guests endpoint.

List Hotels

Returns the hotels (properties) accessible to the authenticated account. Use this endpoint to discover the property IDs available to your credential.

  • This endpoint requires no additional parameters and is paginated automatically.

Get Hotel Details

Retrieves currency, timezone, address, and contact details for a single property. This endpoint is commonly required during initial integration setup.

  • This endpoint requires no additional parameters. It returns details for the property associated with the authenticated credential.

List Rooms

Returns all rooms and units at the property, including their type, attributes, and current status.

  • This endpoint requires no additional parameters.

List Room Blocks

Returns the room blocks defined at the property. Room blocks group rooms held for events, group bookings, or maintenance.

  • This endpoint requires no additional parameters.

Get Availability

Returns real-time room and rate availability for a given date range. This endpoint is required for booking-engine and channel-manager workflows.

  • Enter the start of the availability window in the Start Date field, using yyyy-MM-dd format (for example, 2026-06-01).
  • Enter the end of the availability window in the End Date field, using yyyy-MM-dd format.

Both dates must use the yyyy-MM-dd format. The returned availability reflects the live inventory state at the time of the request.

List Reservations

Returns a paginated list of reservations in the property. Use this endpoint to sync reservation data for reporting, arrivals and departures tracking, or downstream analytics.

  • This endpoint requires no additional parameters and is paginated automatically (100 records per page).

Use the Get Reservation endpoint to retrieve the complete detail of a single reservation by its reservation ID.

Get Reservation

Retrieves the full detail of a single reservation, including room assignments, guests, and financial summary.

  • Enter the unique reservation identifier in the Reservation ID field. Reservation IDs can be obtained from the List Reservations endpoint.

List Transactions

Returns the financial transactions recorded at the property. Use this endpoint to reconcile revenue and feed financial reporting pipelines.

  • This endpoint requires no additional parameters and is paginated automatically.

Get Rate

Returns the current rates for a specific date range and rate plan. This is the read counterpart to the Update Room Rate destination endpoint.

  • Enter the start of the rate window in the Start Date field, using YYYY-MM-DD format.
  • Enter the end of the rate window in the End Date field, using YYYY-MM-DD format.

List Rate Plans

Returns the rate plans defined at the property. This endpoint is required for mapping rate plan IDs used by reservation and rate destination endpoints.

  • This endpoint requires no additional parameters.

List Items

Returns the packages and ancillary items defined at the property, such as add-ons, fees, and services.

  • This endpoint requires no additional parameters.

List Housekeeping Assignments

Returns current housekeeping task assignments and their statuses. This is the read counterpart to the Post Housekeeping Log destination endpoint.

  • This endpoint requires no additional parameters.

List Payment Methods

Returns the payment methods enabled at the property (for example, cash or credit card). Cloudbeds recommends calling this endpoint before posting payments so that an accepted tender type is used.

  • This endpoint requires no additional parameters.

Get Payments Capabilities

Returns the payment gateway configured for the property and whether Pay-by-Link is enabled. Cloudbeds requires this be called before posting payments to determine which payment flows are available.

  • This endpoint requires no additional parameters.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Cloudbeds data sources can also be manually configured to ingest data from any valid Cloudbeds API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Cloudbeds read endpoints use the GET method against the base URL https://api.cloudbeds.com/api/v1.2/ (for example, https://api.cloudbeds.com/api/v1.2/getReservations).

Cloudbeds responses wrap records in a top-level data element alongside a success flag and pagination metadata. For list endpoints (such as getReservations and getGuestList), enter $.data[*] as the Path to Data in Response; for single-record endpoints (such as getReservation and getGuest), enter $.data. The success flag and pagination fields sit outside this path and can be captured for every record by entering a path such as $.success in the Path to Metadata in Response field.

Date/time macros are especially useful for the Get Availability and Get Rate endpoints, which accept Start Date and End Date filters in yyyy-MM-dd format.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Cloudbeds data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Cloudbeds destination, and select the Send to Destination option from the menu. Select the Cloudbeds connector from the list of available destination connectors, then select the credential that will be used to connect to the Cloudbeds property, and click Next; or, create a new Cloudbeds credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Cloudbeds endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create Guest

Creates a new guest profile at the property. Use this endpoint to push new guest records from an external CRM or booking system into Cloudbeds.

  • Map the Nexset attributes to the guest fields expected by the Cloudbeds postGuest endpoint (such as first name, last name, email, and country).
  • The request is sent as a POST with application/x-www-form-urlencoded content. Ensure the Nexset records contain the fields required by Cloudbeds for guest creation.

This endpoint requires the write:guest scope on the OAuth credential.

Update Guest

Updates an existing guest profile, including contact information, preferences, and document details.

  • Include the guest identifier and the fields to be updated in each Nexset record. The request is sent as a PUT to the putGuest endpoint.

This endpoint requires the write:guest scope on the OAuth credential.

Create Reservation

Creates a new reservation for a guest at the property. Use this endpoint to push bookings from a booking engine, channel manager, or OTA integration into Cloudbeds.

  • Map the Nexset attributes to the reservation fields expected by the Cloudbeds postReservation endpoint, including guest details, room or rate plan IDs, and check-in/check-out dates.
  • Rate plan IDs can be obtained from the List Rate Plans data source endpoint.

This endpoint requires the write:reservation scope on the OAuth credential.

Update Reservation

Updates an existing reservation, including dates, room assignment, status, and notes.

  • Include the reservation identifier and the fields to be updated in each Nexset record. The request is sent as a PUT to the putReservation endpoint.

Update Reservation Room Status

Changes the room or stay status of a reservation, such as check-in, check-out, no-show, or cancelled.

  • Include the reservation identifier and the target status in each Nexset record. The request is sent as a PUT to the putReservationRoomStatus endpoint.

Post Payment

Posts a payment transaction against a reservation or house account.

  • Map the Nexset attributes to the payment fields expected by the Cloudbeds postPayment endpoint, including the reservation, amount, and payment method.
  • Use the List Payment Methods and Get Payments Capabilities data source endpoints first to confirm the accepted tender types and available payment flows.

This endpoint requires the write:payment scope on the OAuth credential. Cloudbeds recommends verifying payment capabilities before posting payments.

Store Credit Card

Stores a credit card on file for an existing reservation. This endpoint supports pre-authorization, incidental holds, and OTA-imported virtual card workflows.

  • Include the reservation identifier and card details in each Nexset record. The request is sent as a POST to the postCreditCard endpoint.

Handle stored card data in accordance with PCI requirements and your organization's data security policies.

Post Housekeeping Log

Logs a housekeeping status update (such as clean, dirty, or inspected) for a room.

  • Include the room identifier and the housekeeping status in each Nexset record. The request is sent as a POST to the postHousekeepingAssignment endpoint.

This endpoint requires the write:housekeeping scope on the OAuth credential.

Update Room Availability

Updates room availability and inventory, including open/close dates and stop-sell settings. This endpoint is required for channel-manager and yield-management integrations.

  • Include the room or room block identifier and the availability values in each Nexset record. The request is sent as a PUT to the putRoomBlocks endpoint.

Update Room Rate

Updates room rates for specific date ranges and rate plans. This endpoint is used by revenue-management and dynamic pricing systems.

  • Include the rate plan identifier, date range, and rate values in each Nexset record. The request is sent as a PUT to the putRate endpoint.
  • Rate plan IDs can be obtained from the List Rate Plans data source endpoint.

This endpoint requires the write:rate scope on the OAuth credential.

Update Room Out-of-Order

Marks a room as Out-of-Order or Out-of-Service to block it from new reservations. This endpoint is used by maintenance and operations workflows.

  • Include the room identifier and the out-of-service details (such as date range and reason) in each Nexset record. The request is sent as a PUT to the putRoomOutOfService endpoint.

Cancel Reservation (Destructive)

Cancels a reservation in the PMS. This is a destructive operation that should be used with care.

  • Include the reservation identifier in each Nexset record. Despite the "delete" naming, Cloudbeds exposes this operation as a POST to the deleteReservation endpoint.

This operation cancels reservations in your live Cloudbeds property. Validate the input data carefully before activating a flow that uses this endpoint.

Manual configuration

Cloudbeds destinations can also be manually configured to send data to any valid Cloudbeds API endpoint. Using manual configuration, you can also configure Nexla to automatically send the response received from the Cloudbeds API after each call to a new Nexla webhook data source. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Cloudbeds write endpoints use POST for create operations and PUT for update operations against the base URL https://api.cloudbeds.com/api/v1.2/ (for example, https://api.cloudbeds.com/api/v1.2/postReservation); include the relevant object identifier in the URL for update operations. Cloudbeds PMS API v1.2 write endpoints accept application/x-www-form-urlencoded content, so select that format in Content Format.

Enabling the response webhook option is useful for capturing IDs generated by Cloudbeds — such as the new reservation, guest, or payment ID — after each Create Guest, Create Reservation, or Post Payment call.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Cloudbeds endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to Cloudbeds until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.