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.

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
- 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:
-
Sign in to your Cloudbeds account at https://signin.cloudbeds.com/.
-
In the upper-right corner, click Account, then select Apps & Marketplace.
-
Use the menu at the top of the page to navigate to the API Credentials page.
-
Click the + New Credentials button to begin creating a new set of credentials.
-
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. -
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
-
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
-
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
-
Select the authentication method that matches your Cloudbeds setup, and complete the corresponding fields.
Cloudbeds Authentication Methods
- OAuth 2.0 (3-Legged)
- API Key (Legacy)
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.
- 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.
- 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.
- 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.
- 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.
- 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.
Authenticate using a static, property-scoped Cloudbeds API key. Use this method only when Cloudbeds has issued a static API key for your property. Cloudbeds prefers OAuth 2.0 for production integrations.
- Enter your static Cloudbeds property API key in the **API Key** field. Nexla sends this value as an `Authorization: Bearer
` header on every request. This key authenticates Nexla with your Cloudbeds property and should be kept secure.
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.
- 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.
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.
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.