# Cloudbeds Developers Documentation > Documentation for Cloudbeds Developers ## Guides - [About Cloudbeds APIs](https://developers.cloudbeds.com/docs/about-cloudbeds-api.md) - [Request your sandbox](https://developers.cloudbeds.com/docs/request-your-sandbox.md) - [Integration Guide](https://developers.cloudbeds.com/docs/integration-guide.md) - [Terms and Conditions](https://developers.cloudbeds.com/docs/terms-and-conditions.md) - [API Security Standards](https://developers.cloudbeds.com/docs/api-security-standards.md) - [How to get Support](https://developers.cloudbeds.com/docs/how-to-report-an-api-bug.md) - [Build with LLMs](https://developers.cloudbeds.com/docs/build-with-llms.md): Build Cloudbeds Developers integrations with Large Language Models > (LLMs) - [Use Cases (Blueprints)](https://developers.cloudbeds.com/docs/use-cases-blueprints.md) - [Access Management & Door Locks](https://developers.cloudbeds.com/docs/doorlocks-via-api.md) - [Accounting](https://developers.cloudbeds.com/docs/accounting.md): This blueprint outlines the essential architecture for building robust integrations that synchronize transactional data, automate financial reconciliation, and unlock deep operational insights. By leveraging Cloudbeds’ specialized APIs—specifically the Accounting API for real-time transactional accuracy —this framework empowers businesses to move beyond manual data entry and into an era of automated intelligence. - [App Integration - PBX / Hotspot / TV (And other Systems)](https://developers.cloudbeds.com/docs/app-integration-pbx-hotspot-tv-and-other-systems.md) - [Booking Engine](https://developers.cloudbeds.com/docs/booking-engine.md) - [Booking Engine Extensions](https://developers.cloudbeds.com/docs/booking-engine-extensions.md) - [Business Intelligence and reporting](https://developers.cloudbeds.com/docs/business-intelligence-and-reporting.md): In the modern hospitality landscape, data is more than just a record of the past—it is the roadmap for future growth. To stay competitive, hoteliers need to move beyond static spreadsheets and embrace real-time, actionable insights that drive revenue management, operational efficiency, and guest satisfaction. This blueprint provides a comprehensive framework for developers looking to build or integrate Business Intelligence tools with the Cloudbeds platform. Whether you are building a custom dashboard for a boutique hotel or a multi-property analytics suite for a global group, this guide outlines the optimal paths for data extraction and synchronization. - [Check-in](https://developers.cloudbeds.com/docs/check-in-upsell-upgrade.md) - [CRM / CRM - Upsell](https://developers.cloudbeds.com/docs/crm-crm-upsell.md) - [Event Management](https://developers.cloudbeds.com/docs/event-management.md) - [Event Management [What's Changing - Migration]](https://developers.cloudbeds.com/docs/event-management-whats-changing-migration.md) - [Guest Communication / Reputation management](https://developers.cloudbeds.com/docs/guest-communication-reputation-management.md) - [Government: Police Report](https://developers.cloudbeds.com/docs/government-police-report.md) - [Government: Fiscal Docs ](https://developers.cloudbeds.com/docs/fiscal-docs.md) - [Hospitality Insurance](https://developers.cloudbeds.com/docs/hospitality-insurance.md): Hospitality insurance **covers property owners and/or guests against property damage, personal injuries, and more.** - [Housekeeping / Staff management](https://developers.cloudbeds.com/docs/housekeeping-staff-management.md) - [Payment processing](https://developers.cloudbeds.com/docs/payment-processing.md) - [Gift card management](https://developers.cloudbeds.com/docs/gift-card-management.md) - [Payment by Booking Engine Redirection](https://developers.cloudbeds.com/docs/booking_engine_payment.md) - [Point of Sale](https://developers.cloudbeds.com/docs/point-of-sale.md) - [Revenue Management System (RMS)](https://developers.cloudbeds.com/docs/revenue-management-system-rms.md) - [Upsell / Tours & Activities](https://developers.cloudbeds.com/docs/upsell-tours-activities.md) - [FAQ](https://developers.cloudbeds.com/docs/faq.md) - [Pass Stripe tokens to Cloudbeds](https://developers.cloudbeds.com/docs/pass-stripe-tokens-to-cloudbeds.md) - [How to Add Reservation Number to URL?](https://developers.cloudbeds.com/docs/how-to-add-reservation-number-to-url.md) - [Reservation FAQs](https://developers.cloudbeds.com/docs/reservation-faqs.md): In this article, we will cover some common use cases and questions related to reservations. - [Common API errors & How to handle](https://developers.cloudbeds.com/docs/common-api-errors-in-progress.md) - [Getting started as a partner in 5 steps](https://developers.cloudbeds.com/docs/getting-started-as-a-partner-in-5-steps.md) - [Sandbox access](https://developers.cloudbeds.com/docs/can-i-have-access-to-a-sandbox.md) - [Multi Island & v1.2 FAQ](https://developers.cloudbeds.com/docs/multi-island-v12-faq.md) - [New Cloudbeds Accounting System and getTransactions changes](https://developers.cloudbeds.com/docs/gettransations-endpoint-new-cloudbeds-accounting-service.md) - [Example 1: Update Room Price and Routed Transactions](https://developers.cloudbeds.com/docs/example-1-update-room-price-and-routed-transactions.md) - [Example 2: Void Transactions](https://developers.cloudbeds.com/docs/example-2-void-transactions.md) - [Example 3: Delete a Reservation](https://developers.cloudbeds.com/docs/example-3-delete-a-reservation.md) - [Example 4: Update Accommodation Type](https://developers.cloudbeds.com/docs/example-4-update-accommodation-type.md) - [Example 5: Void Adjustments](https://developers.cloudbeds.com/docs/void-adjustments.md) - [Documentation to support Cloudbeds API Transaction Termination](https://developers.cloudbeds.com/docs/documentation-to-support-cloudbeds-api-transaction-termination.md) - [Schema Mapping Accounting API & Cloudbeds API](https://developers.cloudbeds.com/docs/schema-mapping-accounting-api-cloudbeds-api.md) - [Whistle and Cloudbeds API](https://developers.cloudbeds.com/docs/whistle-and-cloudbeds-api.md) - [Support Article requirements](https://developers.cloudbeds.com/docs/support-article-requirements.md): Congratulations! You've spent time and energy and built an amazing integration. Now make sure everybody knows how to use it correctly and admire your work! - [Partner Marketing Requirements](https://developers.cloudbeds.com/docs/partner-marketing-requirements.md): Development and certification have been done. Hard work is behind you, now the time is to reap the benefits! Submit your high-quality Marketing Material Here and we'll use it to spread the word. Note: Once you submit content, Cloudbeds reserves the right to modify it to comply with our listing guidelines. - [Cloudbeds Brand Guidelines & Partner Status](https://developers.cloudbeds.com/docs/cloudbeds-brand-guidelines.md) - [Authentication](https://developers.cloudbeds.com/docs/authentication-1.md): Cloudbeds API authentication is based on API keys, which is a straightforward method to get started quickly with some simple steps. The API key creation can be fully automated once the user authorizes the integration. - [API Keys Authentication Guide for Technology Partners](https://developers.cloudbeds.com/docs/api-keys-authentication-guide-for-technology-partners.md): This API Keys Authentication Guide provides basic information on the API Keys Authentication required to access Cloudbeds API resources. For the OAuth 2.0 authentication method please see the article Alternative OAuth 2.0. authentication method. - [Quickstart Guide - API Authentication for self-service API users](https://developers.cloudbeds.com/docs/quickstart-guide-api-authentication-for-property-level-users.md): This Quickstart Guide provides basic information on the API key Authentication required to access [Cloudbeds API](https://hotels.cloudbeds.com/api/v1.2/docs/) resources. This guide will help you to quickly get an API key to start using with your authentication. - [Alternative OAuth 2.0. authentication method](https://developers.cloudbeds.com/docs/alternative-oauth-20-authentication-method.md) - [Migration from Oauth 2.0 to API Keys for Technology Partners (Optional)](https://developers.cloudbeds.com/docs/migration-from-oauth-20-to-api-keys-for-technology-partners-optional.md) - [Webhooks](https://developers.cloudbeds.com/docs/webhooks-1.md): With webhooks, Cloudbeds can send notifications to your application every time an event occurs on a Cloudbeds property account. You can register your own URL endpoint which will be notified on each event and will receive a payload of event data. You can set multiple URLs for a single event or have specific ones for each event you want to listen to. You can, for example, listen for new reservations and import them into your system as they come. You can listen to changes to room assignments and update the new room names in your interface in a matter of seconds. Or you can listen for guest information so that if a guest contact changes you have the most recent phone and email you can contact them on. - [Postman API collection](https://developers.cloudbeds.com/docs/postman-api-collection.md) - [Connecting & Disconnecting Apps](https://developers.cloudbeds.com/docs/connecting-disconnecting-apps.md) - [Account Creation + How to get User and Account Info](https://developers.cloudbeds.com/docs/account-creation-how-to-get-user-and-account-info.md) - [User Authorization Flow Options](https://developers.cloudbeds.com/docs/user-authorization-flow-options.md): Flow A is mandatory for all new apps starting 1. Nov 2020. - [Supporting Group Accounts](https://developers.cloudbeds.com/docs/supporting-group-accounts.md): Cloudbeds accounts (properties) can be grouped under one group account (often referred as mygroup, organization or assoaciation). Group users have the highest level of user permissions in all of the grouped accounts (properties). Calls that provide group account data have "Group account support" label in the API doc. - [Cloudbeds reseller flow (optional)](https://developers.cloudbeds.com/docs/cloudbeds-reseller-flow-optional.md): Optional Cloudbeds Reseller Flow - [Introduction to Cloudbeds Insights API](https://developers.cloudbeds.com/docs/introduction-to-cloudbeds-insights-api-1.md) - [Introduction to Multi Island (January 2024)](https://developers.cloudbeds.com/docs/introduction-to-multi-island-january-2024.md) - [Property and Group Account API Access](https://developers.cloudbeds.com/docs/property-and-group-account-api-access.md) ## API Reference - [Introduction](https://developers.cloudbeds.com/reference/about-pms-api.md) - [Tech Specs](https://developers.cloudbeds.com/reference/tech-specs.md) - [metadata](https://developers.cloudbeds.com/reference/get_oauth-metadata-2.md): In the context of properties being distributed across multiple localizations, this endpoint serves to retrieve the precise location of the property associated with the provided access token. Further information can be found in the [Authentication guide](https://integrations.cloudbeds.com/hc/en-us/sections/14731510501915-Authentication). - [access_token](https://developers.cloudbeds.com/reference/post_access-token-2.md): Query the authorization server for an access token used to access property resources.
If the automatic delivery method for API keys is used, the grant type `urn:ietf:params:oauth:grant-type:api-key` needs to be used to request an API key. This grant type requires `grant_type=urn:ietf:params:oauth:grant-type:api-key`, `client_id`, `client_secret`, `redirect_uri` and `code`.
For OAuth 2.0., two different grant types (`authorization_code`, `refresh_token`) are supported. Authorization code grant type requires `grant_type=authorization_code`, `client_id`, `client_secret`, `redirect_uri`, `code`. Refresh token grant type requires `grant_type=refresh_token`, `client_id`, `client_secret`, `refresh_token`.
Read the [Authentication guide](https://integrations.cloudbeds.com/hc/en-us/sections/14731510501915-Authentication) for implementation tips, user flows and testing advice. - [userinfo](https://developers.cloudbeds.com/reference/get_userinfo-2.md): Returns information on user who authorized connection - [deleteAdjustment](https://developers.cloudbeds.com/reference/delete_deleteadjustment-2.md): Voids the AdjustmentID transaction on the specified reservationID - [postAdjustment](https://developers.cloudbeds.com/reference/post_postadjustment-2.md): Adds an adjustment to a reservation - [createAllotmentBlock](https://developers.cloudbeds.com/reference/post_createallotmentblock-2.md): Retreive allotment blocks @apiQuery {Integer} propertyID Property ID - [deleteAllotmentBlock](https://developers.cloudbeds.com/reference/post_deleteallotmentblock-2.md): Delete allotment blocks - [getAllotmentBlocks](https://developers.cloudbeds.com/reference/get_getallotmentblocks-2.md): Retrieve allotment blocks - [updateAllotmentBlock](https://developers.cloudbeds.com/reference/post_updateallotmentblock-2.md): Update an allotment block @apiQuery {Integer} propertyID Property ID - [createAllotmentBlockNotes](https://developers.cloudbeds.com/reference/post_createallotmentblocknotes-2.md): Add a note to an allotment block - [listAllotmentBlockNotes](https://developers.cloudbeds.com/reference/get_listallotmentblocknotes-2.md): List notes added to an allotment block - [updateAllotmentBlockNotes](https://developers.cloudbeds.com/reference/post_updateallotmentblocknotes-2.md): Update a note on an allotment block - [deleteAppPropertySettings](https://developers.cloudbeds.com/reference/post_deleteapppropertysettings-2.md) - [getAppPropertySettings](https://developers.cloudbeds.com/reference/get_getapppropertysettings-2.md): Returns the app property settings - [postAppPropertySettings](https://developers.cloudbeds.com/reference/post_postapppropertysettings-2.md) - [putAppPropertySettings](https://developers.cloudbeds.com/reference/post_putapppropertysettings-2.md) - [getCurrencySettings](https://developers.cloudbeds.com/reference/get_getcurrencysettings-2.md): Get currency settings - [getCustomFields](https://developers.cloudbeds.com/reference/get_getcustomfields-2.md): Gets custom fields list
¹ data.displayed = "booking" - Display this field to guests on the booking engine.
¹ data.displayed = "reservation" - Add this field to the reservation folio for use by staff.
¹ data.displayed = "card" - Make this field available for registration cards.
- [postCustomField](https://developers.cloudbeds.com/reference/post_postcustomfield-2.md): Sets custom fields. The call should only be made once to add the field to the system. - [getDashboard](https://developers.cloudbeds.com/reference/get_getdashboard-2.md): Returns basic information about the current state of the hotel - [getEmailTemplates](https://developers.cloudbeds.com/reference/get_getemailtemplates-2.md): Returns a list of all existing email templates. This call is only available for third-party integration partners, and not for property client IDs. - [postEmailTemplate](https://developers.cloudbeds.com/reference/post_postemailtemplate-2.md): 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. - [getEmailSchedule](https://developers.cloudbeds.com/reference/get_getemailschedule-2.md): Returns a list of all existing email scheduling. This call is only available for third-party integration partners, and not for property client IDs. - [postEmailSchedule](https://developers.cloudbeds.com/reference/post_postemailschedule-2.md): 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. - [getGroupNotes](https://developers.cloudbeds.com/reference/get_getgroupnotes-2.md): Returns group notes - [getGroups](https://developers.cloudbeds.com/reference/get_getgroups-2.md): Returns the groups for a property - [patchGroup](https://developers.cloudbeds.com/reference/post_patchgroup-2.md): Updates an existing group with information provided. At least one information field is required for this call. - [postGroupNote](https://developers.cloudbeds.com/reference/post_postgroupnote-2.md): Adds a group note - [putGroup](https://developers.cloudbeds.com/reference/post_putgroup-2.md): Adds a group to the property. Please note that the default setting for 'Route to Group Folio' will be 'No,' and the 'Reservation Folio Configuration' will be set as the default folio configuration. You can edit these settings through the user interface (UI). - [getGuest](https://developers.cloudbeds.com/reference/get_getguest-2.md): Returns information on a guest specified by the Reservation ID parameter - [getGuestList](https://developers.cloudbeds.com/reference/get_getguestlist-2.md): Returns a list of guests, ordered by modification date ### Group account support - [getGuestsModified](https://developers.cloudbeds.com/reference/get_getguestsmodified-2.md): Returns a list of guests based on their modification date. Note that when a guest checks in or checks out of a room, their record is modified at that time. If no date range is passed, only the records for the current day are returned. Also note that if the guest is assigned to multiple rooms, it will result in multiple records. ### Group account support - [getGuestsByStatus](https://developers.cloudbeds.com/reference/get_getguestsbystatus-2.md): Returns a list of guests in the current status (Not Checked In, In House, Checked Out or Cancelled), sorted by modification date. If no date range is passed, it returns all guests with the selected status. ### Group account support - [getGuestsByFilter](https://developers.cloudbeds.com/reference/get_getguestsbyfilter-2.md): Returns a list of guests matching the selected parameters ### Group account support - [postGuestNote](https://developers.cloudbeds.com/reference/post_postguestnote-2.md): Adds a guest note - [getGuestNotes](https://developers.cloudbeds.com/reference/get_getguestnotes-2.md): Retrieves a guest notes - [putGuestNote](https://developers.cloudbeds.com/reference/put_putguestnote-2.md): Updates an existing guest note. - [deleteGuestNote](https://developers.cloudbeds.com/reference/delete_deleteguestnote-2.md): Archives an existing guest note. - [putGuest](https://developers.cloudbeds.com/reference/put_putguest-2.md): Updates an existing guest with information provided. At least one information field is required for this call. - [postGuestDocument](https://developers.cloudbeds.com/reference/post_postguestdocument-2.md): Attaches a document to a guest - [postGuest](https://developers.cloudbeds.com/reference/post_postguest-2.md): Adds a guest to reservation as an additional guest. - [postGuestsToRoom](https://developers.cloudbeds.com/reference/post_postgueststoroom-2.md): Assigns guest(s) to a room in a reservation and adds these guests as additional guests. - [postGuestPhoto](https://developers.cloudbeds.com/reference/post_postguestphoto-2.md): Attaches a photo to a guest - [getHotels](https://developers.cloudbeds.com/reference/get_gethotels-2.md): Returns a list of hotels, filtered by the parameters passed ### Group account support - [getHotelDetails](https://developers.cloudbeds.com/reference/get_gethoteldetails-2.md): Returns the details of a specific hotel, identified by "propertyID" - [postFile](https://developers.cloudbeds.com/reference/post_postfile-2.md): Attaches a file to a hotel - [getFiles](https://developers.cloudbeds.com/reference/get_getfiles-2.md): Returns a list of files attached to a hotel or group profile, ordered by creation date - [getHouseAccountList](https://developers.cloudbeds.com/reference/get_gethouseaccountlist-2.md): Pulls list of active house accounts - [postNewHouseAccount](https://developers.cloudbeds.com/reference/post_postnewhouseaccount-2.md): Add a new House Account - [putHouseAccountStatus](https://developers.cloudbeds.com/reference/put_puthouseaccountstatus-2.md): Change specific house account to either open or closed. - [getHousekeepingStatus](https://developers.cloudbeds.com/reference/get_gethousekeepingstatus-2.md): Returns the current date's housekeeping information The housekeeping status is calculated basing on the set of fields roomOccupied | roomCondition | roomBlocked | vacantPickup | roomBlocked | refusedService The available statuses are: - Vacant and Dirty (VD): false | “dirty” | false | false | false | false - Occupied and Dirty (OD): true | “dirty” | false | false | false | false - Vacant and Clean (VC): false | “clean” | false | false | false | false - Occupied and Clean (OC): true | “clean” | false | false | false | false - Occupied and Clean Inspected (OCI): true | “inspected” | false | false | false | false - Vacant and Clean Inspected (VCI): false | “inspected” | false | false | false | false - Do Not Disturb (DND): if doNotDisturb is true - Refused Service (RS): if refusedService is true - Out of Order (OOO): if roomBlocked is true - Vacant and Pickup (VP): if vacantPickup is true - [postHousekeepingStatus](https://developers.cloudbeds.com/reference/post_posthousekeepingstatus-2.md): Switches the current date's housekeeping status for a specific room ID to either clean or dirty The housekeeping status is calculated basing on the set of fields roomOccupied | roomCondition | roomBlocked | vacantPickup | roomBlocked | refusedService The available statuses are: - Vacant and Dirty (VD): false | “dirty” | false | false | false | false - Occupied and Dirty (OD): true | “dirty” | false | false | false | false - Vacant and Clean (VC): false | “clean” | false | false | false | false - Occupied and Clean (OC): true | “clean” | false | false | false | false - Occupied and Clean Inspected (OCI): true | “inspected” | false | false | false | false - Vacant and Clean Inspected (VCI): false | “inspected” | false | false | false | false - Do Not Disturb (DND): if doNotDisturb is true - Refused Service (RS): if refusedService is true - Out of Order (OOO): if roomBlocked is true - Vacant and Pickup (VP): if vacantPickup is true - [postHousekeeper](https://developers.cloudbeds.com/reference/post_posthousekeeper-2.md): Add New Housekeeper - [putHousekeeper](https://developers.cloudbeds.com/reference/put_puthousekeeper-2.md): Edit Housekeeper Details - [getHousekeepers](https://developers.cloudbeds.com/reference/get_gethousekeepers-2.md): Returns a list of housekeepers ### Group account support - [postHousekeepingAssignment](https://developers.cloudbeds.com/reference/post_posthousekeepingassignment-2.md): Assign rooms (single or multiple) to an existing housekeeper - [getAppState](https://developers.cloudbeds.com/reference/get_getappstate-2.md): Get the current app integration state for a property.
This call is only available for third-party integration partners, and not for property client IDs. Read the [Connecting/Disconnecting Apps guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007613213-Connecting-Disconnecting-Apps) to further understand the use cases. - [postAppState](https://developers.cloudbeds.com/reference/post_postappstate-2.md): Update app integration state for a property ID.
This call is only available for third-party integration partners, and not for property client IDs.
If an app is set to 'disabled', it will remove all active sessions Read the [Connecting/Disconnecting Apps guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007613213-Connecting-Disconnecting-Apps) to further understand the use cases. - [postGovernmentReceipt](https://developers.cloudbeds.com/reference/post_postgovernmentreceipt-2.md): Add a Government Receipt to a Reservation or House Account - [getAppSettings](https://developers.cloudbeds.com/reference/get_getappsettings-2.md): Get the current app settings for a property.
- [postAppError](https://developers.cloudbeds.com/reference/post_postapperror-2.md): Submit the error received by the hybrid integration from the partner to the MFD - [postWebhook](https://developers.cloudbeds.com/reference/post_postwebhook-2.md): Subscribe a webhook for a specified event. Read the [Webhooks guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007612553-Webhooks) to see available objects, actions, payload info and more. - [deleteWebhook](https://developers.cloudbeds.com/reference/delete_deletewebhook-2.md): Remove subscription for webhook. Read the [Webhooks guide](https://integrations.cloudbeds.com/hc/en-us/articles/360007612553-Webhooks) to see available objects, actions, payload info and more. ### Group account support - [getWebhooks](https://developers.cloudbeds.com/reference/get_getwebhooks-2.md): List webhooks for which the API client is subscribed to. - [getItem](https://developers.cloudbeds.com/reference/get_getitem-2.md): Gets the details for the one itemID
1 only if data.stockInventory = true
2 Taxes, fees and totals will show up only if an item has assigned tax or fee.
- [putItemToInventory](https://developers.cloudbeds.com/reference/put_putitemtoinventory-2.md): Updates an item with information provided
¹ only if item.stockInventory = true
- [getItems](https://developers.cloudbeds.com/reference/get_getitems-2.md): Gets all the items and their prices the hotel has created in myfrontdesk
1 only if data.stockInventory = true
2 Taxes, fees and totals will show up only if an item has assigned tax or fee.
- [getItemCategories](https://developers.cloudbeds.com/reference/get_getitemcategories-2.md): Gets the item category list - [postItemCategory](https://developers.cloudbeds.com/reference/post_postitemcategory-2.md): Adds new items category - [postItemsToInventory](https://developers.cloudbeds.com/reference/post_postitemstoinventory-2.md): Adds new items batch
¹ only if item.stockInventory = true
- [postItem](https://developers.cloudbeds.com/reference/post_postitem-2.md): Adds an item either to a reservation or to a house account. - [postCustomItem](https://developers.cloudbeds.com/reference/post_postcustomitem-2.md): Adds single, or multiple, custom items and their associated payments to a Reservation or House Account as a single transaction. - [appendCustomItem](https://developers.cloudbeds.com/reference/post_appendcustomitem-2.md): Append single, or multiple, custom items and their associated payments to an existing one in a Reservation, House Account, or Group. - [postVoidItem](https://developers.cloudbeds.com/reference/post_postvoiditem-2.md): Voids the itemID transaction on the specified Reservation ID, House Account ID, or Group. If payments were sent in calls [postItem](https://developers.cloudbeds.com/reference/post_postitem) or [postCustomItem](https://developers.cloudbeds.com/reference/post_postcustomitem), they will be deleted too. - [getPackages](https://developers.cloudbeds.com/reference/get_getpackages-2.md): This efficient method allows you to retrieve the collection of packages associated with a property. Packages here define a group of features that a property has the ability to utilize or access. By invoking this API method, developers will get a comprehensive view of the feature sets that are available and active for a specific property. The getPackages method boasts a seamless execution that offers essential information, vital in enhancing property management, understanding available functionalities and ultimately, optimizing user experience. - [getPackageNames](https://developers.cloudbeds.com/reference/get_getpackagenames-2.md): Return a list of billing package names for a property - [postPayment](https://developers.cloudbeds.com/reference/post_postpayment-2.md): Add a payment to a specified reservation, house account, or group. If multiple IDs are provided, precedence is reservationID, then houseAccountID, then groupCode. - [postCustomPaymentMethod](https://developers.cloudbeds.com/reference/post_postcustompaymentmethod-2.md): Add a Custom Payment Method to a property. This call does not allow to add Payment Methods: credit cards, bank transfer or Pay Pal. - [getPaymentMethods](https://developers.cloudbeds.com/reference/get_getpaymentmethods-2.md): Get a list of active methods for a property, or list of properties - [getPaymentsCapabilities](https://developers.cloudbeds.com/reference/get_getpaymentscapabilities-2.md): Lists the payment capabilities of a given property - [postVoidPayment](https://developers.cloudbeds.com/reference/post_postvoidpayment-2.md): Voids a payment (using paymentID) to a specified reservation or house account. - [postCharge](https://developers.cloudbeds.com/reference/post_postcharge-2.md): Use a payment method to process a payment on a reservation, group profile, accounts receivable ledger, or house account. - [postCreditCard](https://developers.cloudbeds.com/reference/post_postcreditcard-2.md): Returns the rate of the room type selected, based on the provided parameters - [getRate](https://developers.cloudbeds.com/reference/get_getrate-2.md): Returns the rate of the room type selected, based on the provided parameters - [getRateJobs](https://developers.cloudbeds.com/reference/get_getratejobs-2.md): Returns a list of Rate Jobs. Rate jobs are only returned within 7 days of creation, after 7 days they will not be returned in the response. Requests which do not provide a jobReferenceID will be filtered by the client ID of the request's token. - [getRatePlans](https://developers.cloudbeds.com/reference/get_getrateplans-2.md): Returns the rates of the room type or promo code selected, based on the provided parameters. If no parameters are provided, then the method will return all publicly available rate plans. ### Group account support - [patchRate](https://developers.cloudbeds.com/reference/post_patchrate-2.md): Update the rate of the room based on rateID selected, based on the provided parameters. You can make multiple rate updates in a single API call. Providing a startDate and/or endDate will update rates only within the interval provided. Only non derived rates can be updated, requests to update a derived rate will return an error. This endpoint performs updates asynchronously, rate updates are added to a queue and the endpoint returns a job reference ID. This job reference ID can be used to track job status notifications or to look up details of the update once it is completed. The API is limited to 30 interval per update, sending more than 30 will return an error. - [putRate](https://developers.cloudbeds.com/reference/post_putrate-2.md): Update the rate of the room based on rateID selected, based on the provided parameters. You can make multiple rate updates in a single API call. Providing a startDate and/or endDate will update rates only within the interval provided. Only non derived rates can be updated, requests to update a derived rate will return an error. This endpoint performs updates asynchronously, rate updates are added to a queue and the endpoint returns a job reference ID. This job reference ID can be used to track job status notifications or to look up details of the update once it is completed. The API is limited to 30 interval per update, sending more than 30 will return an error. - [getReservation](https://developers.cloudbeds.com/reference/get_getreservation-2.md): Returns information on a booking specified by the reservationID parameter - [postReservation](https://developers.cloudbeds.com/reference/post_postreservation-2.md): Adds a reservation to the selected property - [getReservations](https://developers.cloudbeds.com/reference/get_getreservations-2.md): Returns a list of reservations that matched the filters criteria.
Please note that some reservations modification may not be reflected in this timestamp. ### Group account support - [getReservationsWithRateDetails](https://developers.cloudbeds.com/reference/get_getreservationswithratedetails-2.md): Returns a list of reservations with added information regarding booked rates and sources.
Please note that some reservations modification may not be reflected in this timestamp. - [getReservationAssignments](https://developers.cloudbeds.com/reference/get_getreservationassignments-2.md): Returns a list of rooms/reservations assigned for a selected date. - [postReservationNote](https://developers.cloudbeds.com/reference/post_postreservationnote-2.md): Adds a reservation note - [getReservationNotes](https://developers.cloudbeds.com/reference/get_getreservationnotes-2.md): Retrieves reservation notes based on parameters - [putReservationNote](https://developers.cloudbeds.com/reference/put_putreservationnote-2.md): Updates an existing reservation note. - [deleteReservationNote](https://developers.cloudbeds.com/reference/delete_deletereservationnote-2.md): Archives an existing reservation note. - [postReservationDocument](https://developers.cloudbeds.com/reference/post_postreservationdocument-2.md): Attaches a document to a reservation - [putReservation](https://developers.cloudbeds.com/reference/put_putreservation-2.md): Updates a reservation, such as custom fields, estimated arrival time, room configuration and reservation status. - [getSources](https://developers.cloudbeds.com/reference/get_getsources-2.md): Gets available property sources - [getRoomsFeesAndTaxes](https://developers.cloudbeds.com/reference/get_getroomsfeesandtaxes-2.md): Get applicable fees and tax to a booking. This is meant to be used on checkout to display to the guest. - [postRoomAssign](https://developers.cloudbeds.com/reference/post_postroomassign-2.md): Assign/Reassign a room on a guest reservation - [postRoomCheckIn](https://developers.cloudbeds.com/reference/post_postroomcheckin-2.md): Check-in a room already assigned for a guest - [postRoomCheckOut](https://developers.cloudbeds.com/reference/post_postroomcheckout-2.md): Check-out a room already assigned for a guest. If all rooms are checked out, the reservation status will update accordingly to "Checked Out" as well. - [getReservationRoomDetails](https://developers.cloudbeds.com/reference/get_getreservationroomdetails-2.md): Returns information about particular room in reservation by its subReservationID - [postRoomBlock](https://developers.cloudbeds.com/reference/post_postroomblock-2.md): Adds a room block to the selected property. - [getRoomBlocks](https://developers.cloudbeds.com/reference/get_getroomblocks-2.md): Returns a list of all room blocks considering the informed parameters. - [putRoomBlock](https://developers.cloudbeds.com/reference/put_putroomblock-2.md): Updates a room block. - [getRoomTypes](https://developers.cloudbeds.com/reference/get_getroomtypes-2.md): Returns a list of room types filtered by the selected parameters ### Group account support - [getAvailableRoomTypes](https://developers.cloudbeds.com/reference/get_getavailableroomtypes-2.md): Returns a list of room types with availability considering the informed parameters ### Group account support - [getRooms](https://developers.cloudbeds.com/reference/get_getrooms-2.md): Returns a list of all rooms considering the informed parameters. If Check-in/out dates are sent, only unassigned rooms are returned. ### Group account support - [getRoomsUnassigned](https://developers.cloudbeds.com/reference/get_getroomsunassigned-2.md): Returns a list of unassigned rooms in the property. Call is alias of [getRooms](#api-Room-getRooms). Please check its documentation for parameters, response and example. ### Group account support - [deleteRoomBlock](https://developers.cloudbeds.com/reference/post_deleteroomblock.md): Deletes a room block - [getTaxesAndFees](https://developers.cloudbeds.com/reference/get_gettaxesandfees-2.md): Returns the taxes and fees set for the property. Read the [Rate-Based tax (Dynamic Tax) guide](https://myfrontdesk.cloudbeds.com/hc/en-us/articles/360014103514-rate-based-tax-dynamic-tax) to understand its usage. - [getUsers](https://developers.cloudbeds.com/reference/get_getusers-2.md): Returns information on the properties' users ### Group account support - [Retrieve property add-ons](https://developers.cloudbeds.com/reference/addoncontrollergetaddons.md): Fetches list of Add-ons with basic information for a specific property - [Get amenity catalog](https://developers.cloudbeds.com/reference/amenitycatalogcontrollergetamenitycatalog.md): Returns the complete list of amenities available for the specified scope (property or room) with their translated names and category codes. - [Get amenity category catalog](https://developers.cloudbeds.com/reference/amenitycatalogcontrollergetamenitycategorycatalog.md): Returns the complete list of amenity categories available for the specified scope (property or room) with their translated names. - [Get property amenities](https://developers.cloudbeds.com/reference/propertyamenitycontrollergetpropertyamenities.md): Retrieve the complete set of active property amenities. - [Update property amenities](https://developers.cloudbeds.com/reference/propertyamenitycontrollerupdatepropertyamenities.md): Replace the complete set of active property amenities in a single atomic transaction. - [Get amenities for all rooms in a property](https://developers.cloudbeds.com/reference/roomamenitycontrollergetpropertyroomsamenities.md): Retrieve the complete set of active amenities for all rooms in a property. - [Update amenities for multiple rooms](https://developers.cloudbeds.com/reference/roomamenitycontrollerupdatepropertyroomsamenities.md): Replace the complete set of active amenities for multiple rooms in a single atomic transaction. - [Get room amenities](https://developers.cloudbeds.com/reference/roomamenitycontrollergetroomamenities.md): Retrieve the complete set of active room amenities. - [Update room amenities](https://developers.cloudbeds.com/reference/roomamenitycontrollerupdateroomamenities.md): Replace the complete set of active room amenities in a single atomic transaction. - [Get all connected API clients for a property](https://developers.cloudbeds.com/reference/apiclientcontrollerconnectedapiclients-1.md) - [Get a list of doorlock keys for a specific app client and property.](https://developers.cloudbeds.com/reference/doorlockkeycontrollerindex-1.md) - [Create a new doorlock key.](https://developers.cloudbeds.com/reference/doorlockkeycontrollercreate-1.md) - [Delete a list of doorlock keys.](https://developers.cloudbeds.com/reference/doorlockkeycontrollerbatchdelete-1.md) - [Delete a doorlock key.](https://developers.cloudbeds.com/reference/doorlockkeycontrollerdelete-1.md) - [Update a doorlock key.](https://developers.cloudbeds.com/reference/doorlockkeycontrollerupdate-1.md) - [Get doorlock settings for property for specific application client.](https://developers.cloudbeds.com/reference/doorlocksettingscontrollersingle-1.md) - [Upsert doorlock settings for property for specific application client.](https://developers.cloudbeds.com/reference/doorlocksettingscontrollerupsert-1.md) - [Delete doorlock settings for property for specific application client.](https://developers.cloudbeds.com/reference/doorlocksettingscontrollerdelete-1.md) - [List events for a property](https://developers.cloudbeds.com/reference/eventcontrollerlist.md): Returns a paginated list of events for a property. Events contain operational data and reference group profiles via profileId. - [Create a new event](https://developers.cloudbeds.com/reference/eventcontrollercreate.md): Creates a new event associated with an existing group profile or without any profile association. - [Get a single event](https://developers.cloudbeds.com/reference/eventcontrollershow.md): Returns detailed information about a specific event. - [Delete an event](https://developers.cloudbeds.com/reference/eventcontrollerdestroy.md): Deletes an event by ID or event code. This is a soft delete. - [Update an existing event](https://developers.cloudbeds.com/reference/eventcontrollerupdate.md): Updates an event. Only provided fields are updated. For profileId: omit to keep, null to clear, string to replace. - [List notes for an event](https://developers.cloudbeds.com/reference/eventnotecontrollerlist.md): Returns a paginated list of notes for a specific event. - [Create a note for an event](https://developers.cloudbeds.com/reference/eventnotecontrollercreate.md): Creates a new note for a specific event. - [Update an event note](https://developers.cloudbeds.com/reference/eventnotecontrollerupdate.md): Updates an existing note or archives it. - [Housekeeping inspection list](https://developers.cloudbeds.com/reference/27abd48cb30106ec3251cf3baf34174c-1.md) - [Get a list of integration events for a specific property.](https://developers.cloudbeds.com/reference/integrationeventcontrollerindex-1.md) - [Create a new integration event.](https://developers.cloudbeds.com/reference/integrationeventcontrollercreate-1.md) - [Update an integration event.](https://developers.cloudbeds.com/reference/integrationeventcontrollerupdate-1.md) - [Retry an integration event.](https://developers.cloudbeds.com/reference/integrationeventcontrollerretry-1.md) - [Get a list of custom items for a specific property.](https://developers.cloudbeds.com/reference/customitemcontrollerindex-1.md) - [Post one or more items to a reservation, house account, or group profile](https://developers.cloudbeds.com/reference/itemcontrollercreateitems.md): Adds items to a reservation, house account, or group profile. This endpoint supports batch operations, allowing multiple items to be posted in a single request. Each item can have associated payments and custom pricing. - [Get a list of Market Segmentation Groups.](https://developers.cloudbeds.com/reference/groupcontrollerindex-1.md) - [Create a new Market Segmentation Group.](https://developers.cloudbeds.com/reference/groupcontrollercreate-1.md) - [Get Market Segmentation Group data.](https://developers.cloudbeds.com/reference/groupcontrollersingle-1.md) - [Delete a Market Segmentation Group.](https://developers.cloudbeds.com/reference/groupcontrollerdelete-1.md) - [Update a Market Segmentation Group.](https://developers.cloudbeds.com/reference/groupcontrollerupdate-1.md) - [Enable a Market Segmentation Group.](https://developers.cloudbeds.com/reference/groupcontrollerenable-1.md) - [Disable a Market Segmentation Group.](https://developers.cloudbeds.com/reference/groupcontrollerdisable-1.md) - [Get a list of Market Segmentation Segments.](https://developers.cloudbeds.com/reference/segmentcontrollerindex-1.md) - [Get Market Segmentation Segment data.](https://developers.cloudbeds.com/reference/segmentcontrollersingle-1.md) - [Delete a Market Segmentation Segment.](https://developers.cloudbeds.com/reference/segmentcontrollerdelete-1.md) - [Update a Market Segmentation Segment.](https://developers.cloudbeds.com/reference/segmentcontrollerupdate-1.md) - [Get a list of reservations linked to a Market Segmentation Segment.](https://developers.cloudbeds.com/reference/segmentcontrollerreservations-1.md) - [Create a new Market Segmentation Segment.](https://developers.cloudbeds.com/reference/segmentcontrollercreate-1.md) - [Enable a Market Segmentation Segment.](https://developers.cloudbeds.com/reference/segmentcontrollerenable-1.md) - [Disable a Market Segmentation Segment.](https://developers.cloudbeds.com/reference/segmentcontrollerdisable-1.md) - [Set Market Segmentation Segment as Default.](https://developers.cloudbeds.com/reference/segmentcontrollerdefault-1.md) - [Retrieves the property's system component versions](https://developers.cloudbeds.com/reference/systemcontrollergetsystem.md) - [Search eligible rate plans and base rates with conflict info.](https://developers.cloudbeds.com/reference/policyexceptioncontrollereligiblerates.md) - [List all policy exceptions for a property.](https://developers.cloudbeds.com/reference/policyexceptioncontrollerindex.md) - [Create a new policy exception.](https://developers.cloudbeds.com/reference/policyexceptioncontrollercreate.md) - [Get a single policy exception by ID.](https://developers.cloudbeds.com/reference/policyexceptioncontrollershow.md) - [Update an existing policy exception.](https://developers.cloudbeds.com/reference/policyexceptioncontrollerupdate.md) - [Delete a policy exception.](https://developers.cloudbeds.com/reference/policyexceptioncontrollerdestroy.md) - [Partially update a policy exception.](https://developers.cloudbeds.com/reference/policyexceptioncontrollerpartialupdate.md) - [Get all charts](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-charts-1.md) - [Search for a chart](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-charts-search-1.md) - [Get Datasets](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-datasets-1.md): Obtain all the available Cloudbeds Datasets | Dataset | Dataset Name | Description | | ------ | ------ | ---------- | | Financial | Financial | Financial transactions that are made, including debits and credit and their attributes | | Guest | Guests | The details on each guest at the hotel, including the history if their stays, their contact information, document information, etc | | Reservations | Reservations | Booking or Reservation information include who booked, where the booking came from, when it occurs, the price, the rate plans, room types, etc | | Occupancy | Occupancy | The productivity information for the hotel, including metrics such as occupancy, room nights, Revpar, ADR, etc. Used by revenue managers to set prices and distribution strategies | | Payments | Payment | Payment processing information, including charges, fees, chargebacks, reversals, etc. | Invoices | Invoices | Invoices information, including reservation level information etc and credit notes. | Occupancy (Beta) | Occupancy (Beta) | The productivity information for the hotel, including metrics such as occupancy, room nights, Revpar, ADR, etc. Used by revenue managers to set prices and distribution strategies | | Housekeeping | Housekeeping | ... - [Get Dataset by id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-datasets-dataset-id-1.md): Obtain all the CDF information related with each Dataset and the last time the dataset has been refreshed If categories is true, CDFs will be grouped by category **CDF**: Cloudbeds Data field. | Dataset | Dataset Id | Description | | ------ | ------ | ---------- | | Financial | 1 | Financial transactions that are made, including debits and credit and their attributes | | Guest | 2 | The details on each guest at the hotel, including the history if their stays, their contact information, document information, etc | | Reservations | 3 | Booking or Reservation information include who booked, where the booking came from, when it occurs, the price, the rate plans, room types, etc | | Occupancy | 4 | The productivity information for the hotel, including metrics such as occupancy, room nights, Revpar, ADR, etc. Used by revenue managers to set prices and distribution strategies | | Payments | 5 | Payment processing information, including charges, fees, chargebacks, reversals, etc. | Invoices | 6 | Invoices information, including reservation level information etc and credit notes. | Occupancy (Beta) | 7 | The productivity information for the hotel, including metrics such as occupancy, room nights, Revpar, ADR, etc. Used by revenue managers to set prices and distribution strategies | | Housekeeping | 8 | ... | - [Get Dataset by id Updated At](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-datasets-dataset-id-updated-at-1.md): Obtain the last time your property receive an event based on the Dataset ID. For example if the Dataset ID is Reservation it will show the last time DI received a reservation. If you have a lag bigger than 5 minutes please raise a ZD Ticket. **CDF**: Cloudbeds Data field. | Dataset | Dataset Id | Description | | ------ | ------ | ---------- | | Financial | 1 | Financial transactions that are made, including debits and credit and their attributes | | Guest | 2 | The details on each guest at the hotel, including the history if their stays, their contact information, document information, etc | | Reservations | 3 | Booking or Reservation information include who booked, where the booking came from, when it occurs, the price, the rate plans, room types, etc | | Occupancy | 4 | The productivity information for the hotel, including metrics such as occupancy, room nights, Revpar, ADR, etc. Used by revenue managers to set prices and distribution strategies | | Payments | 5 | Payment processing information, including charges, fees, chargebacks, reversals, etc. | Invoices | 6 | Invoices information, including reservation level information etc and credit notes. | Occupancy (Beta) | 7 | The productivity information for the hotel, including metrics such as occupancy, room nights, Revpar, ADR, etc. Used by revenue managers to set prices and distribution strategies | | Housekeeping | 8 | ... | - [List of multi-levels per dataset.](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-datasets-dataset-id-multi-levels-1.md): Obtain list of all multi-levels associated with particular datasets. Some datasets might live alone without any levels associated with them. Reservations (Dataset) │ └───Room Reservation (Multi-level) │ └─── Room Check-in (CDF) │ └─── Room Check-out (CDF) │ └─── Room Reservation Status (CDF) - [List of multi-level CDFs associated by dataset.](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-datasets-dataset-id-multi-levels-multi-level-id-1.md): Obtain list of all CDFs (Part of multi-level) associated with particular dataset. Some datasets might live alone without any levels associated with them. Reservations (Dataset) │ └───Room Reservation (Multi-level) │ └─── Room Check-in (CDF) │ └─── Room Check-out (CDF) │ └─── Room Reservation Status (CDF) - [Get the CDF (Cloudbeds Data Field) picklist options](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-datasets-dataset-id-cdf-1.md) - [Get the CDF (Cloudbeds Data Field) picklist options for Multi level](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-datasets-dataset-id-multi-levels-multi-level-id-cdf-1.md) - [List of Folders per property Id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-folders-1.md): Obtain a list of all the created folders under a property - [Create a folder for a property](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-folders-1.md): Folders give the ability to the user to organize and find better their reports **Notes** - A Folder can not have the same name - A Folder may have a parent or may not - The max level of nested folders is 3. Below there is an example of the max level allowed ``` Financial │ └───Bar │ └───Food ``` - [Get Folder by id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-folders-id-1.md): Obtain a folder created under a property. - [Update Folder](https://developers.cloudbeds.com/reference/put_datainsights-v1-1-folders-id-1.md): Folders give the ability to the user to organize and find better their reports. **Notes** - A Folder can not have the same name. - A Folder may have a parent or may not. - A Folder can not have as parent_id himself. - The max level of nested folders is 3. Below there is an example of the max level allowed. ``` Financial │ └───Bar │ └───Food ``` - [Delete folder by id](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-folders-id-1.md): Delete a folder that is not used anymore **Notes** - To delete a folder, the folder should not have assigned a report - To delete a folder, the folder should not have a parent_id - [Assign a report to a folder](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-folders-id-reports-1.md): Assing a report to a folder in order to organize your them. - [/datainsights/v1.1/folders/{id}/reports/{report_id}](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-folders-id-reports-report-id-1.md) - [Get the health of the service](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-health-1.md): This method performs various checks, such as: - The status of the connections to the infrastructure services used by the service instance - The status of the host, e.g. storage, - Application specific logic and direct dependencies - [Get all hubs](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-hubs-1.md) - [Create a hub](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-hubs-1.md) - [Get a hub by id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-hubs-hub-id-1.md) - [Update a hub by id](https://developers.cloudbeds.com/reference/put_datainsights-v1-1-hubs-hub-id-1.md) - [Delete a hub by id](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-hubs-hub-id-1.md) - [Get all hubs](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-hubs-search-1.md) - [Get a card by id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-hubs-hub-id-cards-card-id-1.md) - [Update a card by id](https://developers.cloudbeds.com/reference/put_datainsights-v1-1-hubs-hub-id-cards-card-id-1.md) - [Delete a card by id](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-hubs-hub-id-cards-card-id-1.md) - [Create a card linking a hub to a chart](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-hubs-hub-id-cards-1.md) - [Get profile data about the current user](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-me-1.md) - [Get properties data about the current user](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-me-properties-1.md) - [Get policies data about the current user](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-me-policies-1.md) - [Get reports](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-1.md): Returns all the reports for a single property. - [Create a new report](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-reports-1.md): Create a single report. *Note: Based on the *properties* defined while creating a report the `type` may have multiple formats.* ## Types #### List ``` { ... "columns": ... "settings": { ... "totals": false, "transpose": false, } } ``` #### List (Totals) ``` { ... "columns": ... "settings": { ... "totals": true, "transpose": false, } } ``` #### PeriodList ``` { ... "columns": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary (Totals) ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": true "transpose: true|false, } } ``` #### PeriodSummary ``` { ... "columns": ... "group_rows": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Pivot ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": false, "transpose": true|false } } ``` #### Pivot (Totals) ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": true, "transpose": true|false, } } ``` ## Data | Type | Headers | Index | Records | Group Rows | Group Columns | Totals | Periods | Transpose | | -------------------- | ------- | ------ | ------- | ---------- | ------------- | ------ | ------- | --------- | | **List** | Yes | No | Yes | No | No | No | No | No | | **List (Totals)** | Yes | No | Yes | No | No | Yes | No | No | | **PeriodList** | Yes | Yes | Yes | No | No | No | Yes | Yes | | **Summary** | Yes | Yes | Yes | Yes | No | No | No | Yes | | **Summary (Details)** | Yes | Yes | Yes | Yes | No | Yes | No | No | | **Summary (Totals)** | Yes | Yes | Yes | Yes | No | Yes | No | Yes | | **PeriodSummary** | Yes | Yes | Yes | Yes | No | No | Yes | Yes | | **Pivot** | Yes | Yes | Yes | Yes | Yes | No | No | Yes | | **Pivot (Totals)** | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | The API returns a 201 CREATED if the creation was successful. - [Get report by id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-report-id-1.md): Returns a single report. *Note: The API may throw a HTTP 404 if there are no reports found with a given id.* The API returns a 200 OK if there is a report with given id. - [Update report by id](https://developers.cloudbeds.com/reference/put_datainsights-v1-1-reports-report-id-1.md): Update a single report. *Note: The API may throw a HTTP 404 if there are no reports found with a given id.* The API returns a 200 OK if the update was successful. - [Delete report by id](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-reports-report-id-1.md): Delete a single report. *Note: The API may throw a HTTP 404 if there are no reports found with a given id.* The API returns a 204 NO CONTENT if the delete was successful. - [Clone report by id](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-reports-report-id-clone-1.md): Create a report cloning another report. *Note: The API may throw a HTTP 404 if there are no reports found with a given id.* The API returns a 201 CREATED if the cloning was successful. - [Get report data by id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-report-id-data-1.md): Based on the report `type` generated while creating a report the data structure returned may have multiple formats. ## Types #### List ``` { ... "columns": ... "settings": { ... "totals": false, "transpose": false, } } ``` #### List (Totals) ``` { ... "columns": ... "settings": { ... "totals": true, "transpose": false, } } ``` #### PeriodList ``` { ... "columns": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary (Totals) ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": true "transpose: true|false, } } ``` #### PeriodSummary ``` { ... "columns": ... "group_rows": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Pivot ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": false, "transpose": true|false } } ``` #### Pivot (Totals) ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": true, "transpose": true|false, } } ``` ## Data | Type | Headers | Index | Records | Group Rows | Group Columns | Totals | Periods | Transpose | | -------------------- | ------- | ------ | ------- | ---------- | ------------- | ------ | ------- | --------- | | **List** | Yes | No | Yes | No | No | No | No | No | | **List (Totals)** | Yes | No | Yes | No | No | Yes | No | No | | **PeriodList** | Yes | Yes | Yes | No | No | No | Yes | Yes | | **Summary** | Yes | Yes | Yes | Yes | No | No | No | Yes | | **Summary (Details)** | Yes | Yes | Yes | Yes | No | Yes | No | No | | **Summary (Totals)** | Yes | Yes | Yes | Yes | No | Yes | No | Yes | | **PeriodSummary** | Yes | Yes | Yes | Yes | No | No | Yes | Yes | | **Pivot** | Yes | Yes | Yes | Yes | Yes | No | No | Yes | | **Pivot (Totals)** | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | - [Get report summary by id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-report-id-summary-1.md) - [Get report export by id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-report-id-export-1.md) - [Get report properties by id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-report-id-properties-1.md) - [Query report data](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-reports-query-data-1.md): Query report data from a report that is not created Mode: - Preview: 100 Records - Run: 12000 Records Based on the report `type` sent in the request, the data structure returned may have multiple formats. ## Types #### List ``` { ... "columns": ... "settings": { ... "totals": false, "transpose": false, } } ``` #### List (Totals) ``` { ... "columns": ... "settings": { ... "totals": true, "transpose": false, } } ``` #### PeriodList ``` { ... "columns": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary (Totals) ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": true "transpose: true|false, } } ``` #### PeriodSummary ``` { ... "columns": ... "group_rows": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Pivot ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": false, "transpose": true|false } } ``` #### Pivot (Totals) ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": true, "transpose": true|false, } } ``` ## Data | Type | Headers | Index | Records | Group Rows | Group Columns | Totals | Periods | Transpose | | -------------------- | ------- | ------ | ------- | ---------- | ------------- | ------ | ------- | --------- | | **List** | Yes | No | Yes | No | No | No | No | No | | **List (Totals)** | Yes | No | Yes | No | No | Yes | No | No | | **PeriodList** | Yes | Yes | Yes | No | No | No | Yes | Yes | | **Summary** | Yes | Yes | Yes | Yes | No | No | No | Yes | | **Summary (Details)** | Yes | Yes | Yes | Yes | No | Yes | No | No | | **Summary (Totals)** | Yes | Yes | Yes | Yes | No | Yes | No | Yes | | **PeriodSummary** | Yes | Yes | Yes | Yes | No | No | Yes | Yes | | **Pivot** | Yes | Yes | Yes | Yes | Yes | No | No | Yes | | **Pivot (Totals)** | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | - [Query report summary](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-reports-query-summary-1.md): Query report summary from a report that is not created Mode: - Preview: 100 Records - Run: 12000 Records Based on the report `type` sent in the request, the data structure returned may have multiple formats. ## Types #### List ``` { ... "columns": ... "settings": { ... "totals": false, "transpose": false, } } ``` #### List (Totals) ``` { ... "columns": ... "settings": { ... "totals": true, "transpose": false, } } ``` #### PeriodList ``` { ... "columns": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary (Totals) ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": true "transpose: true|false, } } ``` #### PeriodSummary ``` { ... "columns": ... "group_rows": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Pivot ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": false, "transpose": true|false } } ``` #### Pivot (Totals) ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": true, "transpose": true|false, } } ``` ## Data | Type | Headers | Index | Records | Group Rows | Group Columns | Totals | Periods | Transpose | | -------------------- | ------- | ------ | ------- | ---------- | ------------- | ------ | ------- | --------- | | **List** | Yes | No | Yes | No | No | No | No | No | | **List (Totals)** | Yes | No | Yes | No | No | Yes | No | No | | **PeriodList** | Yes | Yes | Yes | No | No | No | Yes | Yes | | **Summary** | Yes | Yes | Yes | Yes | No | No | No | Yes | | **Summary (Details)** | Yes | Yes | Yes | Yes | No | Yes | No | No | | **Summary (Totals)** | Yes | Yes | Yes | Yes | No | Yes | No | Yes | | **PeriodSummary** | Yes | Yes | Yes | Yes | No | No | Yes | Yes | | **Pivot** | Yes | Yes | Yes | Yes | Yes | No | No | Yes | | **Pivot (Totals)** | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | - [Query report data and export to file](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-reports-query-export-1.md): Request a file export of data from any report json that is not created Query report data from a report that is not created Based on the report `type` sent in the request, the data structure returned may have multiple formats. Mode: - Export: 100000 Records ## Types #### List ``` { ... "columns": ... "settings": { ... "totals": false, "transpose": false, } } ``` #### List (Totals) ``` { ... "columns": ... "settings": { ... "totals": true, "transpose": false, } } ``` #### PeriodList ``` { ... "columns": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary (Totals) ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": true "transpose: true|false, } } ``` #### PeriodSummary ``` { ... "columns": ... "group_rows": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Pivot ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": false, "transpose": true|false } } ``` #### Pivot (Totals) ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": true, "transpose": true|false, } } ``` ## Data | Type | Headers | Index | Records | Group Rows | Group Columns | Totals | Periods | Transpose | | -------------------- | ------- | ------ | ------- | ---------- | ------------- | ------ | ------- | --------- | | **List** | Yes | No | Yes | No | No | No | No | No | | **List (Totals)** | Yes | No | Yes | No | No | Yes | No | No | | **PeriodList** | Yes | Yes | Yes | No | No | No | Yes | Yes | | **Summary** | Yes | Yes | Yes | Yes | No | No | No | Yes | | **Summary (Details)** | Yes | Yes | Yes | Yes | No | Yes | No | No | | **Summary (Totals)** | Yes | Yes | Yes | Yes | No | Yes | No | Yes | | **PeriodSummary** | Yes | Yes | Yes | Yes | No | No | Yes | Yes | | **Pivot** | Yes | Yes | Yes | Yes | Yes | No | No | Yes | | **Pivot (Totals)** | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | - [Get custom cdfs on a report](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-report-id-custom-cdfs-1.md): Get a list of all the custom cdfs created on a report. - [Create a custom cdf on a report](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-reports-report-id-custom-cdfs-1.md): - A custom cdf gives the user the ability to create a new cdf based on existing cdf. - Column is generated over the name, only with alphanumerical values and lower case. Special characters are replaced with underscore(_) **Note**: - A custom cdf should have a validate formula. - [Get custom cdf on a report](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-report-id-custom-cdfs-custom-cdf-id-1.md): Get a created custom cdf on a report. - [Update a custom cdf on a report](https://developers.cloudbeds.com/reference/put_datainsights-v1-1-reports-report-id-custom-cdfs-custom-cdf-id-1.md) - [Delete a custom cdf on a report](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-reports-report-id-custom-cdfs-custom-cdf-id-1.md): Delete a custom cdf on a report. - [Validate a custom cdf for a report](https://developers.cloudbeds.com/reference/put_datainsights-v1-1-reports-report-id-custom-cdfs-validate-1.md): In order to create a custom cdf the formula needs to be validated. **Notes**: - Column is generated over the name, only with alphanumerical values and lower case. Special characters are replaced with underscore(_) - A valid formula could be a string concatenation. - A valid formula could be a math operation. - A valid formula is a list of objects that contains kind and value. - `kind`: cdf | separator | operator | operand | parenthesis. - `value`: It's the value of the cdf, separator, operator, operand or parenthesis. - Separator: Any value. - Operator: Valid operators. - Operand: Numeric values. - Parenthesis: ( or ). - [Get tags on report](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-report-id-tags-1.md): Get a list of tags that a report is associated with. - [Create an association between a Report and a tag](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-reports-report-id-tags-1.md): It associates a created tag with a created report. - [Delete an association between a Report and a tag](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-reports-report-id-tags-tag-id-1.md): It unassigns a created tag from a created report. - [Get list of possible relative date entries](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-filters-relative-dates-1.md): Relative dates can either be a standalone keyword, or they can be a keyword with a duration separated by a semicolon `;`. **Examples without duration:** - `"value": "yesterday"` - `"value": "years_prior"` (In this case duration is 0 by default) **Examples with duration:** - `"value": "days_later;42"` - `"value": "years_prior;1"` - [/datainsights/v1.1/reports/limits](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-limits-1.md) - [Get list of available report format types](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-formats-1.md) - [Get list of options for a given format type](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-formats-format-type-id-1.md): **Date Format String Definitions:** The defined date format must contain the day, month, and year format strings, and a separator for the different units - `DD`: 0 padded, 2 digit day number - `MM`: 0 padded, 2 digit month number - `YYYY`: 4 digit year format *Date Separators:* - `/` - `-` - `.` - [Get report based on search results](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-search-1.md): Get reports filtered by different search criteria **Notes**: - Rows are returned if title contains values (case-insensitive comparison) - The API returns 200 even if no results are found. - [/datainsights/v1.1/reports/{report_id}/charts](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-report-id-charts-1.md) - [/datainsights/v1.1/reports/{report_id}/charts](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-reports-report-id-charts-1.md) - [/datainsights/v1.1/reports/{report_id}/charts/{chart_id}](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-reports-report-id-charts-chart-id-1.md) - [/datainsights/v1.1/reports/{report_id}/charts/{chart_id}](https://developers.cloudbeds.com/reference/put_datainsights-v1-1-reports-report-id-charts-chart-id-1.md) - [/datainsights/v1.1/reports/{report_id}/charts/{chart_id}](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-reports-report-id-charts-chart-id-1.md) - [Queue task to export report by id](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-reports-report-id-export-async-1.md) - [Query report data and export to file](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-reports-query-export-async-1.md): Request a file export of data from any report json that is not created Query report data from a report that is not created Mode: - Export: 100000 Records Based on the report `type` sent in the request, the data structure returned may have multiple formats. ## Types #### List ``` { ... "columns": ... "settings": { ... "totals": false, "transpose": false, } } ``` #### List (Totals) ``` { ... "columns": ... "settings": { ... "totals": true, "transpose": false, } } ``` #### PeriodList ``` { ... "columns": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary (Totals) ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": true "transpose: true|false, } } ``` #### PeriodSummary ``` { ... "columns": ... "group_rows": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Pivot ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": false, "transpose": true|false } } ``` #### Pivot (Totals) ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": true, "transpose": true|false, } } ``` ## Data | Type | Headers | Index | Records | Group Rows | Group Columns | Totals | Periods | Transpose | | -------------------- | ------- | ------ | ------- | ---------- | ------------- | ------ | ------- | --------- | | **List** | Yes | No | Yes | No | No | No | No | No | | **List (Totals)** | Yes | No | Yes | No | No | Yes | No | No | | **PeriodList** | Yes | Yes | Yes | No | No | No | Yes | Yes | | **Summary** | Yes | Yes | Yes | Yes | No | No | No | Yes | | **Summary (Details)** | Yes | Yes | Yes | Yes | No | Yes | No | No | | **Summary (Totals)** | Yes | Yes | Yes | Yes | No | Yes | No | Yes | | **PeriodSummary** | Yes | Yes | Yes | Yes | No | No | Yes | Yes | | **Pivot** | Yes | Yes | Yes | Yes | Yes | No | No | Yes | | **Pivot (Totals)** | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | - [Queue task to export multiple reports by ids as single Excel workbook](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-reports-export-async-1.md) - [Get all the settings for an specific property](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-property-settings-1.md) - [Get property settings with their options](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-property-settings-name-1.md) - [Update property setting by name](https://developers.cloudbeds.com/reference/put_datainsights-v1-1-property-settings-name-1.md) - [Get schedules](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-schedules-1.md) - [Create a schedule for a report workbook](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-schedules-1.md) - [Get schedule](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-schedules-schedule-id-1.md) - [Update a schedule by id](https://developers.cloudbeds.com/reference/put_datainsights-v1-1-schedules-schedule-id-1.md) - [Delete schedule on a report](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-schedules-schedule-id-1.md) - [Get report export by id](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-schedules-schedule-id-run-1.md) - [Search cross different resources](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-search-1.md): Get paginated search result for each requested resource **Notes**: - Filter values should be formatted column:value, e.g. title:res - Valid columns for report resource: title - Valid columns for stock_report resource: title - API Returns 400 if a column isn't searchable for any requested resource. - Rows are returned if column contains values (case-insensitive comparison) - The API returns 200 even if no results are found. - [/datainsights/v1.1/stock_reports](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-1.md) - [Publish a new report](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-stock-reports-1.md): Publish a single report to a stock report with optional rules. The API returns a 201 CREATED if the creation was successful. - [Get stock report by id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-stock-report-id-1.md): Get one stock report. Stock reports are the reports that Cloudbeds owns. **Notes** - A stock report can not be edited, but can be copied. - Since a stock report doesn't belong to any property, it's mandatory to define it. - A copied stock report is the same as creating a new report where all the features are available. - [Update report by id](https://developers.cloudbeds.com/reference/put_datainsights-v1-1-stock-reports-stock-report-id-1.md): Update a single report. *Note: The API may throw a HTTP 404 if there are no reports found with a given id.* The API returns a 200 OK if the update was successful. - [Unpublish stock report by id](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-stock-reports-stock-report-id-1.md): Unpblish a single stock report. *Note: The API may throw a HTTP 404 if there are no reports found with a given id.* The API returns a 204 NO CONTENT if the delete was successful. - [Update report rules by id](https://developers.cloudbeds.com/reference/put_datainsights-v1-1-stock-reports-stock-report-id-rules-1.md): Update a single report's rules. *Note: The API may throw a HTTP 404 if there are no reports found with a given id.* The API returns a 200 OK if the update was successful. - [Get stock report data by id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-stock-report-id-data-1.md): Based on the report `type` generated while creating a stock report the data structure returned may have multiple formats. ## Types #### List ``` { ... "columns": ... "settings": { ... "totals": false, "transpose": false, } } ``` #### List (Totals) ``` { ... "columns": ... "settings": { ... "totals": true, "transpose": false, } } ``` #### PeriodList ``` { ... "columns": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary (Totals) ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": true "transpose: true|false, } } ``` #### PeriodSummary ``` { ... "columns": ... "group_rows": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Pivot ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": false, "transpose": true|false } } ``` #### Pivot (Totals) ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": true, "transpose": true|false, } } ``` ## Data | Type | Headers | Index | Records | Group Rows | Group Columns | Totals | Periods | Transpose | | -------------------- | ------- | ------ | ------- | ---------- | ------------- | ------ | ------- | --------- | | **List** | Yes | No | Yes | No | No | No | No | No | | **List (Totals)** | Yes | No | Yes | No | No | Yes | No | No | | **PeriodList** | Yes | Yes | Yes | No | No | No | Yes | Yes | | **Summary** | Yes | Yes | Yes | Yes | No | No | No | Yes | | **Summary (Details)** | Yes | Yes | Yes | Yes | No | Yes | No | No | | **Summary (Totals)** | Yes | Yes | Yes | Yes | No | Yes | No | Yes | | **PeriodSummary** | Yes | Yes | Yes | Yes | No | No | Yes | Yes | | **Pivot** | Yes | Yes | Yes | Yes | Yes | No | No | Yes | | **Pivot (Totals)** | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | - [Get stock report summary by id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-stock-report-id-summary-1.md) - [Get stock report export by id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-stock-report-id-export-1.md) - [Query stock report summary](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-stock-reports-stock-report-id-query-summary-1.md): Mode: - Preview: 100 Records - Run: 12000 Records Query stock report summary from a stock report already created being able to change - Filters Operators and Values - Columns Order - Group Row Modifier - Group Columns Modifier - Sort - Settings - [Query stock report data](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-stock-reports-stock-report-id-query-data-1.md): Mode: - Preview: 100 Records - Run: 12000 Records Query stock report data from a stock report already created being able to change - Filters Operators and Values - Columns Order - Group Row Modifier - Group Columns Modifier - Sort - Settings - [Get stock reports based on search results](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-search-1.md): Get stock reports filtered by different search criteria **Notes**: - Rows are returned if title contains values (case-insensitive comparison) - The API returns 200 even if no results are found. - [Get keys of supported rules](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-rules-1.md) - [Get keys of supported rules](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-rules-property-ids-1.md) - [Get keys of supported rules](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-rules-feature-ids-1.md) - [Get keys of supported rules](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-rules-country-codes-1.md) - [Get keys of supported rules](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-rules-property-types-1.md) - [/datainsights/v1.1/stock_reports/{stock_report_id}/revisions](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-stock-report-id-revisions-1.md) - [/datainsights/v1.1/stock_reports/{stock_report_id}/revisions/{revision_id}](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-stock-report-id-revisions-revision-id-1.md) - [Query stock report data and export to file](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-stock-reports-stock-report-id-query-export-1.md): Request a file export of data from any stock report json that is not created Query stock report data from a stock report that is not created Mode: - Export: 100000 Records Based on the report `type` sent in the request, the data structure returned may have multiple formats. ## Types #### List ``` { ... "columns": ... "settings": { ... "totals": false, "transpose": false, } } ``` #### List (Totals) ``` { ... "columns": ... "settings": { ... "totals": true, "transpose": false, } } ``` #### PeriodList ``` { ... "columns": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary (Totals) ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": true "transpose: true|false, } } ``` #### PeriodSummary ``` { ... "columns": ... "group_rows": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Pivot ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": false, "transpose": true|false } } ``` #### Pivot (Totals) ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": true, "transpose": true|false, } } ``` ## Data | Type | Headers | Index | Records | Group Rows | Group Columns | Totals | Periods | Transpose | | -------------------- | ------- | ------ | ------- | ---------- | ------------- | ------ | ------- | --------- | | **List** | Yes | No | Yes | No | No | No | No | No | | **List (Totals)** | Yes | No | Yes | No | No | Yes | No | No | | **PeriodList** | Yes | Yes | Yes | No | No | No | Yes | Yes | | **Summary** | Yes | Yes | Yes | Yes | No | No | No | Yes | | **Summary (Details)** | Yes | Yes | Yes | Yes | No | Yes | No | No | | **Summary (Totals)** | Yes | Yes | Yes | Yes | No | Yes | No | Yes | | **PeriodSummary** | Yes | Yes | Yes | Yes | No | No | Yes | Yes | | **Pivot** | Yes | Yes | Yes | Yes | Yes | No | No | Yes | | **Pivot (Totals)** | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | - [Get custom cdfs of a stock report](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-stock-report-id-custom-cdfs-1.md): Get a list of all the custom cdfs created of a stock report. - [Create a custom cdf for a stock report](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-stock-reports-stock-report-id-custom-cdfs-1.md): - A custom cdf gives the user the ability to create a new cdf based on existing cdf. - Column is generated over the name, only with alphanumerical values and lower case. Special characters are replaced with underscore(_) **Note**: - A custom cdf should have a validate formula. - [Get custom cdf of a stock report](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-stock-report-id-custom-cdfs-custom-cdf-id-1.md): Get a created custom cdf of a stock report. - [Update a custom cdf on a report](https://developers.cloudbeds.com/reference/put_datainsights-v1-1-stock-reports-stock-report-id-custom-cdfs-custom-cdf-id-1.md) - [Delete a custom cdf of a stock report](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-stock-reports-stock-report-id-custom-cdfs-custom-cdf-id-1.md): Delete a custom cdf of a stock report. - [Validate a custom cdf for a stock report](https://developers.cloudbeds.com/reference/put_datainsights-v1-1-stock-reports-stock-report-id-custom-cdfs-validate-1.md): In order to create a custom cdf the formula needs to be validated. **Notes**: - Column is generated over the name, only with alphanumerical values and lower case. Special characters are replaced with underscore(_) - A valid formula could be a string concatenation. - A valid formula could be a math operation. - A valid formula is a list of objects that contains kind and value. - `kind`: cdf | separator | operator | operand | parenthesis. - `value`: It's the value of the cdf, separator, operator, operand or parenthesis. - Separator: Any value. - Operator: Valid operators. - Operand: Numeric values. - Parenthesis: ( or ). - [Clone stock report by id](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-stock-reports-stock-report-id-clone-1.md): Create a stock report cloning another report. *Note: The API may throw a HTTP 404 if there are no reports found with a given id.* The API returns a 201 CREATED if the cloning was successful. - [/datainsights/v1.1/stock_reports/{stock_report_id}/charts](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-stock-report-id-charts-1.md) - [/datainsights/v1.1/stock_reports/{stock_report_id}/charts](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-stock-reports-stock-report-id-charts-1.md) - [/datainsights/v1.1/stock_reports/{stock_report_id}/charts/{chart_id}](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-stock-report-id-charts-chart-id-1.md) - [/datainsights/v1.1/stock_reports/{stock_report_id}/charts/{chart_id}](https://developers.cloudbeds.com/reference/put_datainsights-v1-1-stock-reports-stock-report-id-charts-chart-id-1.md) - [/datainsights/v1.1/stock_reports/{stock_report_id}/charts/{chart_id}](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-stock-reports-stock-report-id-charts-chart-id-1.md) - [List of stock report folders](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-folders-1.md): Get a list of all the stock report folders. This folders are managed by Cloudbeds - [Create a new stock report folder](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-stock-reports-folders-1.md): Create a new Stock Report folder in order to organize them. - [Get Stock report folder by Id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-folders-folder-id-1.md): Get a stock report folder by id - [Assign a stock report to a folder](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-stock-reports-folders-folder-id-1.md): Assign a stock report to a folder in order to organize your them. - [/datainsights/v1.1/stock_reports/folders/{folder_id}](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-stock-reports-folders-folder-id-1.md) - [Remove a stock report from a folder](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-stock-reports-folders-folder-id-stock-report-id-1.md) - [/datainsights/v1.1/stock_reports/limits](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-stock-reports-limits-1.md) - [Get stock report export by id](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-stock-reports-stock-report-id-export-async-1.md) - [Query stock report data and export to file](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-stock-reports-stock-report-id-query-export-async-1.md): Request a file export of data from any stock report json that is not created Query stock report data from a stock report that is not created Mode: - Export: 100000 Records Based on the report `type` sent in the request, the data structure returned may have multiple formats. ## Types #### List ``` { ... "columns": ... "settings": { ... "totals": false, "transpose": false, } } ``` #### List (Totals) ``` { ... "columns": ... "settings": { ... "totals": true, "transpose": false, } } ``` #### PeriodList ``` { ... "columns": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Summary (Totals) ``` { ... "columns": ... "group_rows": ... "settings": { ... "totals": true "transpose: true|false, } } ``` #### PeriodSummary ``` { ... "columns": ... "group_rows": ... "periods": ... "settings": { ... "totals": false, "transpose": true|false, } } ``` #### Pivot ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": false, "transpose": true|false } } ``` #### Pivot (Totals) ``` { ... "columns": ... "group_rows": ... "group_columns": ... "settings": { ... "totals": true, "transpose": true|false, } } ``` ## Data | Type | Headers | Index | Records | Group Rows | Group Columns | Totals | Periods | Transpose | | -------------------- | ------- | ------ | ------- | ---------- | ------------- | ------ | ------- | --------- | | **List** | Yes | No | Yes | No | No | No | No | No | | **List (Totals)** | Yes | No | Yes | No | No | Yes | No | No | | **PeriodList** | Yes | Yes | Yes | No | No | No | Yes | Yes | | **Summary** | Yes | Yes | Yes | Yes | No | No | No | Yes | | **Summary (Details)** | Yes | Yes | Yes | Yes | No | Yes | No | No | | **Summary (Totals)** | Yes | Yes | Yes | Yes | No | Yes | No | Yes | | **PeriodSummary** | Yes | Yes | Yes | Yes | No | No | Yes | Yes | | **Pivot** | Yes | Yes | Yes | Yes | Yes | No | No | Yes | | **Pivot (Totals)** | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | - [List of Tags per property Id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-tags-1.md): Obtain a list of all the created tags under a property. - [Create a tag for a property](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-tags-1.md): A tag gives the ability to the user to organize, and label their reports to a better seach and easy indentification. **Notes** - A Tag could not be duplicated. - There is distincion with capital letters. So Financial and financial are 2 different tags. - [Update a tag](https://developers.cloudbeds.com/reference/put_datainsights-v1-1-tags-id-1.md): Update a tag name. All the reports using it will be updated with the new name. **Note** - A Tag could not be duplicated. - There is distincion with capital letters. So Financial and financial are 2 different tags. - [Delete tag](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-tags-id-1.md): Delete a tag that is not used anymore. - [List of Favorites in a property for the user that is authorized](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-favorites-1.md): Get a list of all the created favorites for a user on a specific property. - [Create a favorite in a property for the user that is authorized](https://developers.cloudbeds.com/reference/post_datainsights-v1-1-favorites-1.md): A favorite gives the ability to quick search their most wanted reports **Notes** - There is not possible to have 2 ranks with the same value could not be duplicated. - The maximum numbers of reports to favorite is 12. - If a report is favorited in the rank 1 and there is already one report favorited in the rank 1, the latest one will be put in the desired and position and all the rest of the elements will be move one position - [Get a Favorite by id](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-favorites-id-1.md): Get a Favorite by id. - [Update a rank](https://developers.cloudbeds.com/reference/patch_datainsights-v1-1-favorites-id-1.md): Update the rank of a favorite. If there is already a favorite in the new position, it will be updated with the current rank, swapping the position **Notes** - There is not possible to have 2 ranks with the same value could not be duplicated. - The maximum numbers of reports to favorite is 12. - Example: If you want to update a favorite to the rank 1, being your favorite in the position 2. The rank in the position 1 will be moved to the 2 and the 2 to the 1 - [Delete favorite](https://developers.cloudbeds.com/reference/delete_datainsights-v1-1-favorites-id-1.md): Delete a favorite that is not used anymore. Unfavorite action for a given report in a property for the user that is authorized - [Get the liveness probe of the service](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-liveness-1.md) - [/datainsights/v1.1/explore](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-explore-1.md) - [Get tasks](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-tasks-1.md): Returns all the tasks for a single property. - [/datainsights/v1.1/tasks/{id}](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-tasks-id-1.md) - [/datainsights/v1.1/tasks/token/{token}](https://developers.cloudbeds.com/reference/get_datainsights-v1-1-tasks-token-token-1.md) - [Get property accounting settings](https://developers.cloudbeds.com/reference/getsettings-1.md): Retrieve the accounting settings for a property. Use this endpoint to check the current configuration, such as the deposit consumption policy. Settings control how certain accounting behaviors work across the property. - [Update property accounting settings](https://developers.cloudbeds.com/reference/patchsettings-1.md): Update one or more accounting settings for a property. You only need to include the fields you want to change; unspecified fields remain unchanged. If no settings exist for the property, they are created automatically. - [Transfer deposit transactions](https://developers.cloudbeds.com/reference/postdepositstransfer-1.md): Transfer one or more deposit transactions to the guest ledger. Provide the transaction IDs of the deposits you want to transfer. This operation is processed asynchronously; the response includes an event ID you can use to track the result. - [Get deposit balance](https://developers.cloudbeds.com/reference/getdepositbalance-1.md): Retrieve the deposit balance for a specific source or the entire property. To get the balance for a specific reservation or other source, provide both sourceId and sourceKind. To get the aggregate deposit balance for the whole property, omit both parameters. The response includes the posted balance and pending balance in the smallest currency unit. - [List deposit transactions](https://developers.cloudbeds.com/reference/getdeposittransactions-1.md): Retrieve a paginated list of deposit transactions for a property. You can filter by transaction state, reservation, date ranges (transaction date, check-in, check-out), reservation status, and user. Use this endpoint to review deposit activity including payments received, transfers, and refunds. - [List accounts receivable ledgers](https://developers.cloudbeds.com/reference/getaccountsreceivableledgers-1.md): Retrieve a paginated list of accounts receivable (AR) ledgers for a property. You can filter by status, date range, balance range, profile, and search query. Use AR ledgers to track balances that have been transferred from reservations or group profiles for later collection. - [Create an accounts receivable ledger](https://developers.cloudbeds.com/reference/postaccountsreceivableledger-1.md): Create a new accounts receivable (AR) ledger for a property. An AR ledger provides a way to track outstanding balances outside of a reservation, such as invoices sent to a corporate client. You must provide a name, and can optionally link the ledger to a profile. - [Update an accounts receivable ledger](https://developers.cloudbeds.com/reference/patchaccountsreceivableledger-1.md): Update an existing accounts receivable (AR) ledger. You can change the name, description, linked profile, or status. Only include the fields you want to update. To close a ledger, set the status to CLOSED; note that a ledger can only be closed when its balance is zero. - [Get an accounts receivable ledger by ID](https://developers.cloudbeds.com/reference/getaccountsreceivableledgerbyid-1.md): Retrieve a single accounts receivable (AR) ledger by its unique identifier. The response includes the ledger name, status, total charges, amount paid, and outstanding balance. - [List transactions for an AR ledger](https://developers.cloudbeds.com/reference/getaccountsreceivableledgertransactions-1.md): Retrieve a paginated list of transactions belonging to a specific accounts receivable (AR) ledger. You can filter by transaction state (posted or pending), date ranges, transaction type, and more. Use this endpoint to review the detailed financial activity within an AR ledger. - [Get AR ledger totals](https://developers.cloudbeds.com/reference/getaccountsreceivableledgertotals-1.md): Retrieve aggregated totals across all accounts receivable (AR) ledgers for a property. The response includes the combined total charges, amount paid, and outstanding balance. You can optionally filter by ledger status to see totals for only open or closed ledgers. - [Transfer a reservation balance to an AR ledger](https://developers.cloudbeds.com/reference/postaccountsreceivableledgerreservationbalancetransfer-1.md): Transfer the outstanding balance of a reservation to an accounts receivable (AR) ledger. This creates a transfer transaction that moves the balance from the reservation to the specified AR ledger for later collection. This operation is processed asynchronously; the response includes an event ID you can use to track the result. - [Transfer a group profile balance to an AR ledger](https://developers.cloudbeds.com/reference/postaccountsreceivableledgergroupbalancetransfer.md): Transfer the outstanding balance of a group profile to an accounts receivable (AR) ledger. You can optionally specify a folio ID to transfer the balance from a specific folio within the group profile. This operation is processed asynchronously; the response includes an event ID you can use to track the result. - [Reverse a reservation-to-AR balance transfer](https://developers.cloudbeds.com/reference/deleteaccountsreceivableledgerreservationbalancetransfer-1.md): Reverse a previously created balance transfer between a reservation and an accounts receivable (AR) ledger. This moves the transferred balance back to the original reservation. This operation is processed asynchronously; the response includes an event ID you can use to track the result. - [Get AR balance transfer details for a reservation](https://developers.cloudbeds.com/reference/getaccountsreceivableledgerreservationbalancetransfer-1.md): Retrieve the balance transfer details for a specific reservation. If a balance transfer exists between the reservation and an accounts receivable (AR) ledger, the response includes the transfer transaction ID, amount, and the associated AR ledger ID. - [List custom general ledger codes](https://developers.cloudbeds.com/reference/getcustomgeneralledgercodes-1.md): Retrieve all custom general ledger (GL) codes configured for a property. GL codes let you map Cloudbeds transaction categories to your own chart-of-accounts structure for reporting and export to external accounting systems. - [Create or update custom general ledger codes](https://developers.cloudbeds.com/reference/putcustomgeneralledgercodes-1.md): Create or update custom general ledger (GL) codes for a property. Send the full list of GL codes you want to persist. Each code must have a unique name and code value. You can assign codes to groups (payments, products, reservations, taxes/fees, etc.) to categorize them. To archive a code, set its `archived` flag to true. - [List custom transaction codes](https://developers.cloudbeds.com/reference/getcustomtransactioncodes-1.md): Retrieve all custom transaction code mappings for a property. Custom transaction codes let you assign your own codes to each Cloudbeds internal transaction type (e.g., room rate, tax, payment method). You must call the initialize endpoint before codes can be retrieved for the first time. - [Update custom transaction code mappings](https://developers.cloudbeds.com/reference/putcustomtransactioncodes-1.md): Update custom transaction code mappings for a property. For each mapping, provide the record ID and the new custom code value. You can also optionally assign a custom general ledger code to each transaction code. Only the mappings you include in the request are updated; others remain unchanged. - [Initialize custom transaction codes](https://developers.cloudbeds.com/reference/initializecustomtransactioncodes-1.md): Initialize custom transaction code records for a property. You must call this endpoint before you can retrieve or update custom transaction codes. Initialization creates a record for each internal transaction type with an empty custom code mapping. If codes have already been initialized, this endpoint has no additional effect. - [Search posted transactions](https://developers.cloudbeds.com/reference/listtransactions-1.md): Search and retrieve posted transactions for a property. This endpoint uses POST (instead of GET) to support complex filter criteria in the request body. You can combine multiple filters with AND/OR logic, paginate results, and sort by various fields. **Supported filter fields:** - `account_category` - `chart_of_account_type` - `created_at` (alias for `transaction_datetime`) - `customer_id` - `custom_code` - `external_relation_id` - `external_relation_kind` - `folio_id` - `id` - `internal_code` - `origin_id` - `parent_id` - `routed_from` - `source_id` - `source_identifier` - `source_kind` - `transaction_datetime` - `trial_balance_id` - `service_date` **Supported sort fields:** - `created_at` (alias for `transaction_datetime`) - `id` - `internal_code` - `source_id` - `transaction_datetime` - `service_date` **Required filter constraints:** The API has certain constraints for filters so that the system is able to efficiently query the data. Every request must include at least one of the following base filters: - `id` with operator `equals` or `in` - `source_id` together with `source_kind` - `source_identifier` together with `source_kind` - `external_relation_id` together with `external_relation_kind` - `transaction_datetime` - `service_date` - `trial_balance_id` **Additional filter rules:** - Filters cannot be empty. - `source_id` requires `source_kind` to be present in the same request. - `source_identifier` requires `source_kind` to be present in the same request. - `external_relation_id` and `external_relation_kind` must always be used together. - `trial_balance_id` only supports the `equals` operator and cannot appear more than once. - When using a single filter condition (without `and`/`or`), only `id`, `transaction_datetime`, or `service_date` are allowed, and the operator must be `equals` or `in`. **Example — single filter condition (no AND/OR needed):** ``` { "filters": { "field": "id", "operator": "in", "value": [101, 102, 103] } } ``` ``` { "filters": { "field": "service_date", "operator": "equals", "value": "2024-01-01" } } ``` **Example — composite filter condition:** ``` { "filters": { "and": [ { "field": "transaction_datetime", "operator": "greater_than_or_equal", "value": "2024-01-01T00:00:00Z" }, { "field": "transaction_datetime", "operator": "less_than", "value": "2024-02-01T00:00:00Z" } ] } } ``` **Example — composite filter condition with sorting and pagination:** ``` { "filters": { "and": [ { "operator": "greater_than_or_equal", "value": "2019-01-11T08:59:00Z", "field": "transaction_datetime" }, { "operator": "equals", "value": "123", "field": "source_id" }, { "operator": "equals", "value": "RESERVATION", "field": "source_kind" }, { "or": [ { "operator": "in", "value": ["1", "2", "3"], "field": "customer_id" }, { "operator": "equals", "value": "9000", "field": "internal_code" } ] } ] }, "pageToken": null, "limit": 10, "sort": [ { "field": "transaction_datetime", "direction": "asc" } ] } ``` - [Search pending transactions](https://developers.cloudbeds.com/reference/listpendingtransactions.md): Search and retrieve pending (not yet posted) transactions for a property. Pending transactions represent charges, payments, or adjustments that have been created but not yet finalized. This endpoint uses POST (instead of GET) to support complex filter criteria in the request body. The filter and sort options are the same as for posted transactions. **Supported filter fields:** - `account_category` - `chart_of_account_type` - `created_at` (alias for `transaction_datetime`) - `customer_id` - `custom_code` - `external_relation_id` - `external_relation_kind` - `folio_id` - `id` - `internal_code` - `origin_id` - `parent_id` - `routed_from` - `source_id` - `source_identifier` - `source_kind` - `transaction_datetime` - `trial_balance_id` - `service_date` **Supported sort fields:** - `created_at` (alias for `transaction_datetime`) - `id` - `internal_code` - `source_id` - `transaction_datetime` - `service_date` **Required filter constraints:** The API has certain constraints for filters so that the system is able to efficiently query the data. Every request must include at least one of the following base filters: - `id` with operator `equals` or `in` - `source_id` together with `source_kind` - `source_identifier` together with `source_kind` - `external_relation_id` together with `external_relation_kind` - `transaction_datetime` - `service_date` - `trial_balance_id` **Additional filter rules:** - Filters cannot be empty. - `source_id` requires `source_kind` to be present in the same request. - `source_identifier` requires `source_kind` to be present in the same request. - `external_relation_id` and `external_relation_kind` must always be used together. - `trial_balance_id` only supports the `equals` operator and cannot appear more than once. - When using a single filter condition (without `and`/`or`), only `id`, `transaction_datetime`, or `service_date` are allowed, and the operator must be `equals` or `in`. **Example — single filter condition (no AND/OR needed):** ``` { "filters": { "field": "id", "operator": "in", "value": [101, 102, 103] } } ``` ``` { "filters": { "field": "service_date", "operator": "equals", "value": "2024-01-01" } } ``` **Example — composite filter condition:** ``` { "filters": { "and": [ { "field": "transaction_datetime", "operator": "greater_than_or_equal", "value": "2024-01-01T00:00:00Z" }, { "field": "transaction_datetime", "operator": "less_than", "value": "2024-02-01T00:00:00Z" } ] } } ``` **Example — composite filter condition with sorting and pagination:** ``` { "filters": { "and": [ { "operator": "greater_than_or_equal", "value": "2019-01-11T08:59:00Z", "field": "transaction_datetime" }, { "operator": "equals", "value": "123", "field": "source_id" }, { "operator": "equals", "value": "RESERVATION", "field": "source_kind" }, { "or": [ { "operator": "in", "value": ["1", "2", "3"], "field": "customer_id" }, { "operator": "equals", "value": "9000", "field": "internal_code" } ] } ] }, "pageToken": null, "limit": 10, "sort": [ { "field": "transaction_datetime", "direction": "asc" } ] } ``` - [Get folio balance summary](https://developers.cloudbeds.com/reference/getfoliossummary.md): Retrieve a summary of each folio for a given source (reservation or group profile). Returns a map keyed by folio ID, where each value contains the folio's balance due. The balance is computed from both posted and pending transactions assigned to each folio. - [List folios for a source](https://developers.cloudbeds.com/reference/getfolios.md): Retrieve all folios for a given source (reservation, group profile, or configuration). Folios organize transactions into logical groups, such as separating room charges from incidentals. The filter requires both a sourceId and sourceKind to identify the source. - [Create a folio](https://developers.cloudbeds.com/reference/createfolio.md): Create a new folio for a source (reservation, group profile, or configuration). You must provide a name, the source details, and the transaction types assigned to it. - [Update a folio](https://developers.cloudbeds.com/reference/updatefolio.md): Update an existing folio. You can change the folio name and the transaction types assigned to it. Transaction types control which kinds of transactions are automatically routed to this folio. Other folio properties (source, configuration) cannot be changed after creation. - [Delete a folio](https://developers.cloudbeds.com/reference/deletefolio.md): Delete a folio. The folio is soft-deleted and will no longer appear in listings. You cannot delete a folio that still has transactions assigned to it; move or unroute all transactions before deleting. - [Move transactions between folios](https://developers.cloudbeds.com/reference/movetransactions.md): Move transactions to a different folio within the same source. You can specify individual transaction IDs or transaction types (by origin ID and external relation kind) to move all matching transactions at once. At least one of `transactions` or `transactionTypes` must be provided. - [Route transactions to a group profile](https://developers.cloudbeds.com/reference/routetransactions.md): Route reservation transactions to a group profile folio. Routing binds reservation transactions to a group profile and assigns them to the specified folio. You can specify individual transaction IDs or transaction types (by origin ID and external relation kind) to route all matching transactions at once. At least one of `transactions` or `transactionTypes` must be provided. - [Unroute transactions from a group profile](https://developers.cloudbeds.com/reference/unroutetransactions.md): Unroute transactions from a group profile back to the original reservation. This reverses a previous routing operation, removing the transactions from the group profile and returning them to the reservation they originated from. Unlike move and route operations, only individual transaction IDs are supported (transaction types are not accepted). - [Search folio transactions](https://developers.cloudbeds.com/reference/listfoliotransactions.md): Search and retrieve both posted and pending transactions for a source (reservation, group profile, or house account), merged into a single response. This endpoint uses POST (instead of GET) to support complex filter and grouping criteria in the request body. Results can be grouped by date, transaction type, folio, or other fields. Results are always wrapped in groups. When groupBy is specified, transactions are grouped by that field. When omitted, all transactions are placed in a single group with key "default". Pagination is applied first (cursor-based on flat transactions), then grouping is applied to the page results. Groups at page boundaries may be partial. When includeTotal is true, totals and foreign currency totals are computed on the first page and cached in Redis. Subsequent pages return cached totals. When no filters are applied, the total amount is read from the pre-computed source balance for optimal performance. Supported filter fields: folioId, posted, descriptionFilters, transactionDate range, serviceDate range, subSourceIds, searchQuery. Supported sort fields: transaction_datetime, service_date, id, internal_code. Supported groupBy fields: transaction_date, service_date, internal_code_group, description, sub_source_identifier, folio_id, user_id. - [Check trial balance configuration status](https://developers.cloudbeds.com/reference/istrialbalanceconfigured-1.md): Check whether a property has configured its trial balance. The response indicates whether the trial balance is configured and, if so, the date it was set up. You must configure the trial balance before you can generate daily reports. - [Calculate initial trial balance](https://developers.cloudbeds.com/reference/calculatetrialbalance-1.md): Calculate the initial trial balance for a property based on all historical transaction records up to the end of yesterday (in property local time). Use this endpoint to preview the opening balances before committing the trial balance configuration. The response contains the computed deposit ledger, accounts receivable ledger, and guest ledger opening balances. - [Get trial balance configuration](https://developers.cloudbeds.com/reference/gettrialbalanceconfiguration-1.md): Retrieve the saved trial balance configuration for a property, including the configured opening balances for the deposit ledger, accounts receivable ledger, and guest ledger. Returns the configuration date and the opening balance values that were set when the trial balance was initialized. - [Configure trial balance](https://developers.cloudbeds.com/reference/settrialbalance-1.md): Configure the trial balance for a property by saving the opening balances as of today. You must provide opening balances for the deposit ledger, accounts receivable ledger, and guest ledger. This operation can only be performed once per property; it returns an error if a trial balance configuration already exists. Use the calculate endpoint first to preview the recommended opening balance values. - [Get trial balance report](https://developers.cloudbeds.com/reference/gettrialbalancereport-1.md): Retrieve the trial balance report for a specific date. The report provides a daily financial reconciliation showing opening and closing balances, ledger activity, deposit and AR transfers, and a detailed breakdown of guest ledger charges, taxes, and payments by transaction code. The property must have a configured trial balance before reports can be generated. - [List internal transaction codes](https://developers.cloudbeds.com/reference/getinternaltransactioncodes-1.md): Retrieve the complete list of Cloudbeds internal transaction codes. These are system-defined codes that categorize each type of transaction (e.g., room rate, tax, fee, payment). Internal codes cannot be modified, but you can map them to your own custom codes using the custom transaction codes endpoints. - [Get source balance](https://developers.cloudbeds.com/reference/getsourcebalancebysource.md): Retrieve the financial balance summary for a specific source. The source can be a reservation, house account, group profile, or accounts receivable ledger, identified by the sourceKind and sourceId path parameters. The response includes a detailed breakdown of charges (subtotal, additional items, taxes, fees), payments, refunds, upcoming payments, and the overall balance due. Use the optional Accept-Language header to receive localized tax and fee names. - [/accounting/v1.0/source-balances/snapshots/{reservationId}](https://developers.cloudbeds.com/reference/getsourcebalancesnapshotbysource.md): Get source balance snapshot information for a reservation - [Partially update a folio configuration](https://developers.cloudbeds.com/reference/patchfolioconfiguration.md): Partially update a folio configuration. Accepts optional isDefault, name, and description fields. Only provided fields are updated. - [/accounting/v1.0/folios/configurations](https://developers.cloudbeds.com/reference/getfolioconfigurations.md): Get all folio configurations for a property - [Create or update a folio configuration](https://developers.cloudbeds.com/reference/savefolioconfiguration.md): Create a new folio configuration or update an existing one for a property. A folio configuration defines a template for how folios are structured, including which booking sources are included and which transaction types are assigned to each folio. To update an existing configuration, include its ID in the request body. - [/accounting/v1.0/folios/configurations/{id}](https://developers.cloudbeds.com/reference/getfolioconfiguration.md): Get a folio configuration by ID - [Delete a folio configuration](https://developers.cloudbeds.com/reference/deletefolioconfiguration.md): Delete a folio configuration by its ID. The default configuration cannot be deleted; set another configuration as default first. Existing folios that were created from this configuration are not affected. - [/accounting/v1.0/folios/configurations/sources](https://developers.cloudbeds.com/reference/getfolioconfigurationsource.md): Get which folio configuration is assigned to a source - [/accounting/v1.0/folios/configurations/sources](https://developers.cloudbeds.com/reference/assignfolioconfigurationtosource.md): Assign a folio configuration to a source, replacing existing folios - [Get autorouting rules](https://developers.cloudbeds.com/reference/getroutingrules.md): Retrieve the autorouting rules configured for a group profile. Autorouting rules define which transaction types are automatically routed from reservations to a group profile folio. - [Create an autorouting rule](https://developers.cloudbeds.com/reference/createroutingrule.md): Create a new autorouting rule for a group profile. The rule defines which transaction types are automatically routed from reservations to a group profile folio. - [Update an autorouting rule](https://developers.cloudbeds.com/reference/updateroutingrule.md): Update or create autorouting rules for a group profile. Entries with an id are updated; entries without an id are created as new rules. - [Get the structured filter tree of routable transaction types](https://developers.cloudbeds.com/reference/getfoliotransactionsfilters.md): Returns the debit and credit filter tree the folio-config UI uses to pick transaction types to route into a folio. The tree is composed server-side and returned ready to render; the client does not assemble any nodes itself. Labels are localized via the Accept-Language header. - [Create a Pay By Link](https://developers.cloudbeds.com/reference/create-1.md) - [Retrieve a Pay By Link](https://developers.cloudbeds.com/reference/geturl-1.md) - [Get list of fiscal documents](https://developers.cloudbeds.com/reference/getfiscaldocuments.md): Retrieves a paginated list of fiscal documents filtered by optional criteria. - [Update a fiscal document by id](https://developers.cloudbeds.com/reference/putfiscaldocument.md): Update a fiscal document status, government integration details, or failure reason. Used by integration partners to update document lifecycle and government processing status. **Common Updates:** - Update status (PENDING_INTEGRATION, COMPLETED_INTEGRATION, FAILED, etc.) - Set government integration details (series, number, external ID, QR codes) - Record failure reasons for failed integrations **Invoice Cancellation (Spanish Properties Only):** - Set status to CANCEL_REQUESTED to cancel invoices - Only invoices in OPEN, PAID, PARTIALLY_PAID or CORRECTION_NEEDED status can be canceled - Invoices with rectifying documents cannot be canceled - Integration partners must handle CANCEL_REQUESTED and update to CANCELED (success) or revert to previous status (failure) - [Get available transactions for fiscal documents](https://developers.cloudbeds.com/reference/getfiscaldocumenttransactions.md): Retrieves a paginated list of available transactions for a source based on the document type. - For INVOICE: Returns posted (paid) transactions, and pending transactions when feature.fiscal-document.pending-transactions is enabled - For CREDIT_NOTE: Returns posted (paid) transactions, and pending transactions when feature.fiscal-document.pending-transactions is enabled - For PRO_FORMA_INVOICE: Returns both pending transactions and posted (paid) payments - Transactions already included in fiscal documents are excluded unless show_invoiced=true - Each transaction includes a status field (PENDING or POSTED) - [Get available transactions for allocations](https://developers.cloudbeds.com/reference/getfiscaldocumenttransactionsforallocation.md): Retrieves a paginated list of available transactions for allocations. - [Get payment allocation transactions](https://developers.cloudbeds.com/reference/getallocations.md): Retrieves payment allocations. - [Get allocations summary](https://developers.cloudbeds.com/reference/getallocationssummary.md): Retrieves allocations summary. - [Get totals of selected available transactions for fiscal documents (deprecated)](https://developers.cloudbeds.com/reference/getselectedtransactionssummary.md): **Deprecated:** Use POST /fiscal-document/v1/fiscal-documents/transactions/summary instead. Get totals of selected available transactions for fiscal documents based on the document type. - [Get list of transactions for a given fiscal document id](https://developers.cloudbeds.com/reference/getfiscaldocumenttransactionsbyid.md): Retrieves a paginated list of available transactions for fiscal document id. - [Get totals of transactions for a given fiscal document id](https://developers.cloudbeds.com/reference/gettransactionssummarybydocumentid.md): Get totals of transactions for a given fiscal document id. - [Get list of recipients associated to the fiscal document](https://developers.cloudbeds.com/reference/getfiscaldocumentrecipientsbyid.md): Retrieves a list of recipients associated to the transaction. - [Download fiscal document](https://developers.cloudbeds.com/reference/downloadfiscaldocument.md): Initiates the download of the fiscal document file - [Email a fiscal document](https://developers.cloudbeds.com/reference/emailfiscaldocument.md): Initiates the process to send the invoice to a customer - [Create a fiscal document of the type invoice](https://developers.cloudbeds.com/reference/createinvoice.md): Create a fiscal document of the type invoice. - [Get fiscal document preview of the type invoice](https://developers.cloudbeds.com/reference/getdocumentpreview.md): Get fiscal document preview of the type invoice. - [Create a fiscal document of the type credit note](https://developers.cloudbeds.com/reference/createcreditnote.md): Create a fiscal document of the type credit note. - [Get fiscal document preview of the type credit note](https://developers.cloudbeds.com/reference/getcreditnotepreview.md): Get fiscal document preview of the type credit note. - [Create a fiscal document of the type rectify invoice](https://developers.cloudbeds.com/reference/createrectifyinvoice.md): Create a fiscal document of the type rectify invoice. **Spanish Fiscal Regulations:** - Only available for properties in Spain - An invoice that has already been rectified cannot be rectified again - To make corrections to a rectified invoice, you must rectify the most recent invoice in the rectification chain **Validation Rules:** - The target invoice must not have been previously rectified - If the invoice has been rectified, the API will return an error with details about which invoice should be rectified instead - [Get fiscal document preview of the type rectify invoice](https://developers.cloudbeds.com/reference/getrectifyinvoicepreview.md): Get fiscal document preview of the type rectify invoice. **Spanish Fiscal Regulations:** - Only available for properties in Spain - An invoice that has already been rectified cannot be rectified again - To make corrections to a rectified invoice, you must rectify the most recent invoice in the rectification chain **Validation Rules:** - The target invoice must not have been previously rectified - If the invoice has been rectified, the API will return an error with details about which invoice should be rectified instead - [Create a fiscal document of the type pro forma invoice](https://developers.cloudbeds.com/reference/getproformapreview.md): Create a fiscal document of the type pro forma invoice. **Pro Forma Invoice Characteristics:** - Contains pending transactions that are subject to change - Includes payment information - Transactions are NOT locked (unlike regular invoices) - Can be converted to regular invoices later when transactions are posted - Has its own sequence numbering and settings - [Create a fiscal document of the type pro forma invoice](https://developers.cloudbeds.com/reference/createproformainvoice.md): Create a fiscal document of the type pro forma invoice. **Pro Forma Invoice Characteristics:** - Contains pending transactions that are subject to change - Includes payment information - Transactions are NOT locked (unlike regular invoices) - Can be converted to regular invoices later when transactions are posted - Has its own sequence numbering and settings - [Update pro forma invoice status](https://developers.cloudbeds.com/reference/updateproformainvoicestatus.md): Update the status of a pro forma invoice. Supported status transitions: - OPEN -> ACCEPTED, REJECTED, CANCELED - ACCEPTED -> CANCELED - REJECTED -> CANCELED - [Create receipt for a payment.](https://developers.cloudbeds.com/reference/createreceipt.md): Create a receipt for a payment and optionally specify allocations per transaction. In case of no allocations, a 'Simple receipt' will be created that can later be allocated to charge transactions. The amounts of all allocations must be equal to the payment amount. The transactions should not be fully allocated already and the amount allocated should not be more than the remaining balance on the transaction. All transactions not part of an invoice will be added to newly created invoice. - [Create simple receipts.](https://developers.cloudbeds.com/reference/createsimplereceipt.md): Create receipts for list of payments without allocations. - [Void a receipt](https://developers.cloudbeds.com/reference/voidreceipt.md): Voids a receipt by updating its status to VOIDED. The receipt must be in OPEN status. For Italy, a refund receipt will be automatically created and linked to the voided receipt. - [Allocate payment associated with receipt to charge transactions.](https://developers.cloudbeds.com/reference/allocatereceiptpayment.md): Allocate payment associated with receipt to charge transactions. The amounts of all allocations must be equal to the payment amount. The transactions should not be fully allocated already and the amount allocated should not be more than the remaining balance on the transaction. All transactions not part of an invoice will be added to newly created invoice. - [Get allocations for an invoice](https://developers.cloudbeds.com/reference/getinvoiceallocations.md): Retrieves all active allocations for the specified invoice, grouped by transaction ID. Only includes allocations from receipts with active statuses. - [Get totals of selected available transactions for fiscal documents](https://developers.cloudbeds.com/reference/postselectedtransactionssummary.md): Get totals of selected available transactions for fiscal documents based on the document type. Supports partial transaction amounts via transactionIdToAmount. - [Create a settlement invoice for an advance invoice](https://developers.cloudbeds.com/reference/createsettlementinvoice.md): Create a settlement invoice linked to an existing advance invoice. A settlement invoice finalizes the billing cycle started by an advance invoice. It references the advance invoice and may include additional transactions that were not part of the original advance. **Validation Rules:** - The parent document must be an ADVANCE_INVOICE - The parent document must be in an active status - There must not already be an active settlement invoice for this advance - [Apply receipt to invoice](https://developers.cloudbeds.com/reference/applyreceipt.md): Apply receipt to invoice. Receipt should not have allocations - [Update require attention flag for a fiscal document](https://developers.cloudbeds.com/reference/updaterequireattention.md): Sets the requireAttention flag on a fiscal document. - [Get count of fiscal documents with discrepancies](https://developers.cloudbeds.com/reference/getcountfiscaldocumentswithdiscrepancies.md): Returns the count of fiscal documents that have discrepancies, filtered by sourceId and sourceKind. - [Get document creation rules for a given document kind](https://developers.cloudbeds.com/reference/getdocumentrules.md): Returns field definitions that the UI must collect when creating a document of the given kind. Uses the same FieldDefinition schema as action.fields on document actions. - [Get list of fiscal documents configs](https://developers.cloudbeds.com/reference/getconfigs.md): Retrieves a paginated list of fiscal documents filtered by optional criteria. - [Updates a config of a specific kind](https://developers.cloudbeds.com/reference/updateconfigs.md): Update document config. - [Get logo image for fiscal documents](https://developers.cloudbeds.com/reference/getlogo.md): Retrieve the logo image used in fiscal document templates as a presigned URL. - [Upload logo image for fiscal documents](https://developers.cloudbeds.com/reference/uploadlogo.md): Upload a logo image to be used in fiscal document templates. - [Delete logo image for fiscal documents](https://developers.cloudbeds.com/reference/deletelogo.md): Delete the logo image used in fiscal document templates. - [Get PDF document preview](https://developers.cloudbeds.com/reference/getpdfpreview.md): Build and return PDF document - [Crop logo image for fiscal documents](https://developers.cloudbeds.com/reference/croplogo.md): Crop the previously uploaded logo. The original is preserved so subsequent crops always start from the full original image. Output is stored as PNG and resized to at most 1000 px on the longest dimension. - [Get fiscalization registration for a property](https://developers.cloudbeds.com/reference/getfiscalizationregistration.md): Returns the fiscalization registration (supplier/party info) for the given property. - [Create fiscalization registration](https://developers.cloudbeds.com/reference/createfiscalizationregistration.md): Creates a new fiscalization registration (supplier/party info) for the given property. - [Update fiscalization registration](https://developers.cloudbeds.com/reference/updatefiscalizationregistration.md): Updates the fiscalization registration for the given property. - [Get fiscalization rules for a country](https://developers.cloudbeds.com/reference/getfiscalizationregistrationrules.md): Returns country-specific fiscalization rules for building forms. The response always includes the full section list; `fields` is filtered by the optional `sectionKey` query param (default `registration`). - [Validate fiscalization registration data](https://developers.cloudbeds.com/reference/validatefiscalizationdata.md): Validates party data against country-specific fiscalization rules based on the $regime field - [Get available countries for property registration](https://developers.cloudbeds.com/reference/getfiscalizationregistrationcountries.md): Returns list of countries available for fiscalization based on property location - [Get registration status for a property](https://developers.cloudbeds.com/reference/getfiscalizationregistrationstatus.md): Returns the registration status with government systems for each configured country - [Get fiscalization provider info for a country](https://developers.cloudbeds.com/reference/getfiscalizationprovider.md): Returns which provider handles fiscal registration for a given country - [Record user consent for fiscalization](https://developers.cloudbeds.com/reference/createfiscalizationconsent.md): Records that the user has consented to sharing data with the fiscalization provider - [Get consent status for a property](https://developers.cloudbeds.com/reference/getfiscalizationconsent.md): Returns whether the property has consented to fiscalization - [Get fiscalization tax rules for a country](https://developers.cloudbeds.com/reference/getfiscalizationtaxrules.md): Returns country-specific tax categories and rates for configuring tax mappings - [Get fiscalization tax for a property](https://developers.cloudbeds.com/reference/getfiscalizationtax.md): Returns the fiscalization tax configuration for the given property - [Update fiscalization tax for a property](https://developers.cloudbeds.com/reference/updatefiscalizationtax.md): Creates or updates the fiscalization tax configuration for the given property - [Set fiscalization credentials for a property](https://developers.cloudbeds.com/reference/setfiscalizationcredentials.md): Sets or updates text-based credentials (username/password) for the property's supplier. Used for countries that require portal login credentials (e.g., PT AT portal). - [Get available series rules for a country](https://developers.cloudbeds.com/reference/getfiscalizationseriesrules.md): Returns the available document type prefixes and series types for the given country. Used by the frontend to build the series registration UI. - [Get series configuration for a property](https://developers.cloudbeds.com/reference/getfiscalizationseries.md): Returns the series configuration (document kind to series name mappings) for the given property - [Update series configuration for a property](https://developers.cloudbeds.com/reference/updatefiscalizationseries.md): Creates or updates the series configuration for the given property. Each entry maps a document kind to a registered series name. - [Generate and download a fiscalization report](https://developers.cloudbeds.com/reference/getfiscalizationreport.md): Generates a country-specific report (e.g., SAF-T for Portugal) and returns it for download. - [Get fiscalization payment method rules for a country](https://developers.cloudbeds.com/reference/getfiscalizationpaymentmethodrules.md): Returns country-specific GOBL payment means keys for configuring payment method mappings - [Get fiscalization payment methods for a property](https://developers.cloudbeds.com/reference/getfiscalizationpaymentmethods.md): Returns the payment method mapping configuration for the given property - [Update fiscalization payment methods for a property](https://developers.cloudbeds.com/reference/updatefiscalizationpaymentmethods.md): Creates or updates the payment method mapping configuration for the given property - [Get fiscalization customization for a property](https://developers.cloudbeds.com/reference/getfiscalizationcustomization.md): Returns the customization configuration (logo, locale, layout) for the given property - [Update fiscalization customization for a property](https://developers.cloudbeds.com/reference/updatefiscalizationcustomization.md): Creates or updates the customization configuration for the given property - [Get fiscalization customization logo](https://developers.cloudbeds.com/reference/getfiscalizationcustomizationlogo.md): Returns a presigned URL for the fiscalization customization logo - [Upload fiscalization customization logo](https://developers.cloudbeds.com/reference/uploadfiscalizationcustomizationlogo.md): Upload a logo image for the fiscalization customization - [Delete fiscalization customization logo](https://developers.cloudbeds.com/reference/deletefiscalizationcustomizationlogo.md): Delete the fiscalization customization logo - [Get fiscalization section values for a property](https://developers.cloudbeds.com/reference/getfiscalizationsection.md): Returns the current values for a declared section of the country's fiscalization rules (e.g. `customization.invoicing`). Values are projected from the stored GOBL Party extensions by filtering to keys tagged with the requested section in the country rules. - [Update fiscalization section values for a property](https://developers.cloudbeds.com/reference/updatefiscalizationsection.md): Partial merge update for the given section. Only keys tagged with this section in the country rules are accepted; others are rejected. Sections marked `immutableAfterRegistration` cannot be edited once the property is REGISTERED — use the registration endpoint for those. This call does NOT re-sync the party with the fiscalization provider; sections carrying supplier-ext fields must flow through registration. - [Get item extension mapping rules for a country](https://developers.cloudbeds.com/reference/getfiscalizationitemextensionrules.md): Returns country-specific item categories and GOBL extension fields for per-item mapping - [Get item extension mappings for a property](https://developers.cloudbeds.com/reference/getfiscalizationitemextensions.md): Returns the per-item GOBL extension mapping configuration for the given property - [Update item extension mappings for a property](https://developers.cloudbeds.com/reference/updatefiscalizationitemextensions.md): Creates or updates the per-item GOBL extension mapping configuration for the given property - [Get fiscalization credentials status for a property](https://developers.cloudbeds.com/reference/getfiscalizationcredentials.md): Returns metadata about the stored fiscalization provider credentials. The password is never returned. Returns 404 if credentials have never been set or if the country does not require credentials. - [Upload a certificate for fiscalization credentials](https://developers.cloudbeds.com/reference/uploadfiscalizationcertificate.md): Uploads a certificate file (e.g., tax authority certificate, ownership document) for the property's supplier. Used for countries that require certificate-based authentication (e.g., HR tax certificate, BE Peppol ownership document). - [Activate a series for a property](https://developers.cloudbeds.com/reference/activatefiscalizationseries.md): Activates the given series and deactivates other series of the same document kind - [Deactivate a series for a property](https://developers.cloudbeds.com/reference/deactivatefiscalizationseries.md): Deactivates the given series - [Get fiscal operator rules for a country](https://developers.cloudbeds.com/reference/getfiscalizationoperatorrules.md): Returns country-specific rules for the fiscal operator mapping (e.g. tax-ID format, checksum, label). Countries that don't require operator-level fiscalization respond with `operatorRequired: false`. - [List property users with their fiscal operator mapping](https://developers.cloudbeds.com/reference/getfiscalizationoperators.md): Returns all users assigned to the property, joined with their stored OIB mapping (if any). Users without a mapping appear in the response with `oib: null` so the UI can prompt the Property Admin to complete the configuration. - [Update fiscal operator mappings for a property](https://developers.cloudbeds.com/reference/updatefiscalizationoperators.md): Replaces the property's full list of operator mappings. Each entry must reference a user assigned to the property and carry a syntactically valid OIB. - [Get fiscalization certificate status for a property](https://developers.cloudbeds.com/reference/getfiscalizationcertificate.md): Returns metadata about the stored fiscalization certificate (timestamps and verification state). Returns 404 if no certificate has been uploaded or if the country does not require a certificate. - [Get enabled features for the current user and property](https://developers.cloudbeds.com/reference/getpropertyfeatures.md): Returns a map of feature flags enabled for the authenticated user in the context of the current property. - [Get folio list of transactions exported as PDF](https://developers.cloudbeds.com/reference/getfoliopdf.md): Get folio list of transactions exported as PDF - [Export folio transactions as PDF](https://developers.cloudbeds.com/reference/exportfoliopdf.md): Export folio list of transactions as PDF - [List supported countries](https://developers.cloudbeds.com/reference/listfiscalcountries.md) - [List fiscal channels for a country](https://developers.cloudbeds.com/reference/listfiscalchannels.md) - [List providers for a channel](https://developers.cloudbeds.com/reference/listfiscalproviders.md) - [Check if the property is ready to issue fiscal documents](https://developers.cloudbeds.com/reference/getfiscalizationstatus.md) - [List connections for a property](https://developers.cloudbeds.com/reference/listfiscalconnections.md) - [Create a connection](https://developers.cloudbeds.com/reference/createfiscalconnection.md) - [Get a single connection](https://developers.cloudbeds.com/reference/getfiscalconnection.md) - [Update a connection](https://developers.cloudbeds.com/reference/updatefiscalconnection.md) - [Disconnect a connection](https://developers.cloudbeds.com/reference/disconnectfiscalconnection.md) - [Activate a verifying connection](https://developers.cloudbeds.com/reference/activatefiscalconnection.md) - [Pause a connection](https://developers.cloudbeds.com/reference/pausefiscalconnection.md) - [Resume a paused connection](https://developers.cloudbeds.com/reference/resumefiscalconnection.md) - [Test the connection to the tax authority](https://developers.cloudbeds.com/reference/testfiscalconnection.md) - [List available options for an onboarding step](https://developers.cloudbeds.com/reference/listonboardingstepoptions.md): Returns provider-specific options for the given step (e.g. available accounts for registration, available series for the series step). - [Submit data for an onboarding step](https://developers.cloudbeds.com/reference/submitonboardingstep.md): Submits the user's selection or input for the given step. The request body shape depends on the step and provider. - [Complete onboarding and activate connection](https://developers.cloudbeds.com/reference/completeonboarding.md) - [List in-progress connection drafts](https://developers.cloudbeds.com/reference/listfiscalconnectiondrafts.md) - [Upsert a registration draft](https://developers.cloudbeds.com/reference/upsertfiscalconnectiondraft.md) - [Discard a registration draft](https://developers.cloudbeds.com/reference/deletefiscalconnectiondraft.md) - [List all routing rules for a property](https://developers.cloudbeds.com/reference/listfiscaldocumentrouting.md) - [Bulk-replace routing rules](https://developers.cloudbeds.com/reference/replacefiscaldocumentrouting.md) - [Update a single routing rule](https://developers.cloudbeds.com/reference/patchfiscaldocumentrouting.md) - [List all profiles across all types](https://developers.cloudbeds.com/reference/listallprofiles.md) - [Create a new profile (any type)](https://developers.cloudbeds.com/reference/createprofile.md): Create a company, group, or travel agent profile based on the attributes provided in the request body - [Get profile by ID (any type)](https://developers.cloudbeds.com/reference/getprofilebyid.md): Retrieve a company, group, or travel agent profile by its ID. The profile type is determined from the stored data. - [Update profile (any type)](https://developers.cloudbeds.com/reference/updateprofile.md): Update a company, group, or travel agent profile. The profile type is determined from existing data and cannot be changed. - [Delete profile (any type)](https://developers.cloudbeds.com/reference/deleteprofile.md): Delete a company, group, or travel agent profile. The profile type is automatically determined. - [List person for a profile](https://developers.cloudbeds.com/reference/listprofileperson.md): Get all person where this profile is linked to persons/guests - [Create a new person relationship for a profile](https://developers.cloudbeds.com/reference/createprofileperson.md): Create a relationship between this profile and a person/guest - [Unlink person from a profile](https://developers.cloudbeds.com/reference/unlinkprofileperson.md): Remove the relationship between this profile and a person/guest - [Find by person ID](https://developers.cloudbeds.com/reference/findbypersonid.md): Get all profile where person is the target (reverse lookup) - [Search contact persons of organization](https://developers.cloudbeds.com/reference/searchcontactpersons.md) - [Add contact person to a profile (group, company, or travel agent)](https://developers.cloudbeds.com/reference/addprofilecontactperson.md) - [Get contact person by ID](https://developers.cloudbeds.com/reference/getcontactpersonbyid.md) - [Update contact person for a profile (group, company, or travel agent)](https://developers.cloudbeds.com/reference/updateprofilecontactperson.md) - [Delete contact person from a profile (group, company, or travel agent)](https://developers.cloudbeds.com/reference/deleteprofilecontactperson.md) - [List notes for a profile](https://developers.cloudbeds.com/reference/listprofilenotes.md): Get all notes for a profile (group, company, or travel agent) - [Add note to a profile](https://developers.cloudbeds.com/reference/addprofilenote.md): Create a new note for a profile (group, company, or travel agent) - [Get profile note by ID](https://developers.cloudbeds.com/reference/getprofilenote.md): Get a specific note for a profile - [Update profile note](https://developers.cloudbeds.com/reference/updateprofilenote.md): Update an existing note for a profile - [Delete profile note](https://developers.cloudbeds.com/reference/deleteprofilenote.md): Delete a note from a profile - [Archive profile note](https://developers.cloudbeds.com/reference/archiveprofilenote.md): Archive a note by setting the archived_at timestamp. Archived notes can be restored later. - [Restore archived profile note](https://developers.cloudbeds.com/reference/restoreprofilenote.md): Restore an archived note by unsetting the archived_at timestamp. - [List tags for profile](https://developers.cloudbeds.com/reference/listprofiletags.md) - [Assign Tag to a profile](https://developers.cloudbeds.com/reference/addprofiletag.md) - [Delete tag from profile](https://developers.cloudbeds.com/reference/deleteprofiletag.md) - [List documents for a profile](https://developers.cloudbeds.com/reference/listprofiledocuments.md): Get all documents for a profile (group, company, or travel agent) - [Upload document(s) to a profile](https://developers.cloudbeds.com/reference/uploadprofiledocuments.md): Upload one or more documents for a profile (group, company, or travel agent) - [Get profile document metadata by ID](https://developers.cloudbeds.com/reference/getprofiledocument.md): Get metadata for a specific document - [Delete profile document](https://developers.cloudbeds.com/reference/deleteprofiledocument.md): Delete a document from a profile - [Get document download URL](https://developers.cloudbeds.com/reference/downloadprofiledocument.md): Get a pre-signed URL for downloading the document file (valid for 5 minutes) - [Tokenize a Card](https://developers.cloudbeds.com/reference/tokenizeacard.md): Accepts card data along with optional billing details, tokenizes the card, and securely stores the tokenized payment method. Returns a token ID that can be used in place of the card number for future transactions. Authentication is done via Cloudbeds JWT - [Introduction](https://developers.cloudbeds.com/reference/ota-build-to-us-introduction.md) - [Booking Format](https://developers.cloudbeds.com/reference/ota-build-to-us-booking-format.md) - [Error Codes](https://developers.cloudbeds.com/reference/ota-build-to-us-error-codes.md) - [Rate Plans](https://developers.cloudbeds.com/reference/ota-build-to-us-rate-plans.md) - [FAQ](https://developers.cloudbeds.com/reference/ota-build-to-us-faq.md) - [Changelog](https://developers.cloudbeds.com/reference/ota-build-to-us-changelog.md) - [HealthCheck](https://developers.cloudbeds.com/reference/health_check.md): Called prior to `SetupProperty` or other configuration requests to verify proper operation. Should always return true. - [SetupProperty](https://developers.cloudbeds.com/reference/setup_property.md): Check/verify/validate the credentials stored in `ota_property_id` and `ota_property_password`. If the credentials are invalid return with error ID `1001`. If the connection needs to be enabled from the OTA side first return with error ID `1002`. On Cloudbeds the hotel will go to the OTA setup by selecting the OTA. There the user will be prompted to put in the credentials (`ota_property_id` and `ota_property_password`), which are provided by your OTA. Both `ota_property_id` and `ota_property_password` will be retained by us and passed in every call. Should you not need two identification fields please let us know and we can set it to only ask for `ota_property_id`. In that case, the hotel can self-serve as long as no other property is already using the same `ota_property_id`. If the ID is already in use by another property, our customer support team will verify that the new connection is allowed before enabling it, to prevent a hotel from entering someone else's credentials. Implementation suggestions: `ota_property_id` should typically be a username or hotel ID on your OTA. The `ota_property_password` is typically a password used by the hotel to access your OTA's extranet or a token specifically for a channel manager. - [GetSubProperties](https://developers.cloudbeds.com/reference/get_sub_properties.md): Some OTAs only tie one property to a specific login username/password where the username is also the ota_property_id. Others allow for one username/password to be associated with multiple properties. In this second case, each OTA property identifier is stored as an `ota_property_sub_id` in order to be handled separately from the property's OTA username. This method call should return all of the properties (ota_property_sub_ids) associated with the OTA's username/password so that the correct `ota_property_sub_id` can be linked with our `mya_property_id` for a specific property. *IMPORTANT*: Please contact us to enable this feature for your OTA. It is NOT enabled by default. It is only necessary if your OTA allows for multiple properties associated with one login username/password. Implementation suggestions: `ota_property_sub_id` will be the OTA identifier for a specific property managed by the hotel while the title is that property's name. This method will allow the property to map their Cloudbeds property with the OTA's `ota_property_sub_id` when setting up the property-OTA association on Cloudbeds. - [CreateProperty](https://developers.cloudbeds.com/reference/create_property.md): Can be used to create a new property (including rooms) on your OTA based on the details that we have in Cloudbeds (eg. property name, address, images, room details, etc). This call needs to be activated explicitly from our side before you can use it. Please talk to your Cloudbeds contact before implementing this call! Rate plan information was added at a later date and is only transmitted for new build-to-us implementations or if the feature has been enabled explicitly. Note that every room has a default rate plan, and the ID (even across different rooms) is always `0`. Once approved please provide us with your terms & conditions for us to display to a property. You should provide them as a HTML file with only basic styling. We cannot guarantee that all of the following request fields will always be filled in, as many are optional within Cloudbeds. - [UpdateProperty](https://developers.cloudbeds.com/reference/update_property.md): Update general data of property after it has been changed on the Cloudbeds channel manager. This call needs to be activated explicitly from our side before you can use it. Please talk to your Cloudbeds contact before implementing this call! We cannot guarantee that all of the following request fields will always be filled in, as many are optional within Cloudbeds. - [UpdateRoom](https://developers.cloudbeds.com/reference/update_room.md): Create or update room after it has been changed on the Cloudbeds channel manager. - [DeleteRoom](https://developers.cloudbeds.com/reference/delete_room.md): Delete room after it has been deleted on Cloudbeds. - [UpdateRatePlan](https://developers.cloudbeds.com/reference/update_rateplan.md): Create of update rate plan after it has been changed on the Cloudbeds channel manager. - [DeleteRatePlan](https://developers.cloudbeds.com/reference/delete_rateplan.md): Delete rateplan after it has been deleted on Cloudbeds. - [UpdateTaxes](https://developers.cloudbeds.com/reference/update_taxes.md): Synchronize taxes/fees after they have been changed on the Cloudbeds channel manager. - [GetRoomTypes](https://developers.cloudbeds.com/reference/get_room_types.md): Returns a list of rooms configured for the passed credentials. - [GetRatePlans](https://developers.cloudbeds.com/reference/get_rate_plans.md): Cloudbeds uses this call to retrieve a list of rate plans, which are either specific to each room, or global for all rooms. - [ARIUpdate](https://developers.cloudbeds.com/reference/ari_update.md): This call is used to send availability, rates and restrictions to your OTA. We will combine the updates into as few date ranges as possible, and we split bigger updates into several API requests. We also cache data and will not send ARI updates if the ARI data has not changed within a certain timeframe. You can ask us to alter the number of `Inventory` objects we send per request. It's also possible to ask us to restrict maximum number of days per date range. Note that Cloudbeds only supports availability on the room level, so for the same `ota_room_id` and the same date range the availability will always be the same. Only restrictions and rates are sent on the rate plan level. - [GetBookingList](https://developers.cloudbeds.com/reference/get_booking_list.md): Returns a list of bookings/reservations which have not been previously downloaded or have been modified. The pull interval can be freely set. For channels that do not support the `CreateBooking` callback the interval is usually set to pull bookings every 5 minutes. If `CreateBooking` is supported then the `GetBookingList` will be used as a fallback every 30 minutes. The OTA can also send Cloudbeds a `NotifyBooking` callback to inform about new bookings available to be polled. - [GetBookingId](https://developers.cloudbeds.com/reference/get_booking_id.md): Returns detailed bookings made on the OTA. See the Booking Format section of the documentation for the full booking format specification. ## Credit/debit card data If your `GetBookingId` responses can include guest credit/debit card data (the `Payments` object), your channel must be enabled for secure card handling. A PCI Attestation of Compliance (AoC) document is required before card data can be enabled for a channel. Retrieval of card data is handled over a secure path configured on the Cloudbeds side; your `GetBookingId` implementation returns the `Payments` object as documented in the booking format, with no special handling on your end. Within the `Payments` object, `CardNumber` and `SeriesCode` **must be encoded as JSON strings** (quoted values, e.g. `"SeriesCode": "143"`), never as bare JSON numbers. Card data is tokenized in place with non-numeric tokens; unquoted numeric values cannot be tokenized. A booking whose `GetBookingId` response contains card data is **silently dropped and not imported** (no error can be returned on `GetBookingId`) unless your channel has been enabled for card handling. - [AckBooking](https://developers.cloudbeds.com/reference/ack_booking.md): Allows Cloudbeds to acknowledge a booking on your OTA from the Cloudbeds side. *IMPORTANT*: Please contact us to enable this capability for your channel. It is NOT enabled by default. If the booking cannot be acknowledged the error code should be provided. Here are possible error codes: * 4004 - booking cannot be acknowledged. The reason is provided in the `msg` field. - [CancelBooking](https://developers.cloudbeds.com/reference/cancel_booking.md): Allows a property to cancel a booking on your OTA from the Cloudbeds side. *IMPORTANT*: Please contact us to enable this capability for your channel. It is NOT enabled by default. The reason why the booking is to be canceled is given in the reason field. If the booking cannot be canceled the error code should be provided. Here are possible error codes: * 4001 - booking has already departed * 4002 - booking is already canceled * 4003 - booking cannot be canceled. The reason is provided in the `msg` field. - [Getting Started](https://developers.cloudbeds.com/reference/ota-build-to-us-getting-started.md) - [CreateGroup](https://developers.cloudbeds.com/reference/create_group.md): This call is used to create new group profile on your OTA based on the details that we have in Cloudbeds (eg. group name, address, notes, status, contacts). This call needs to be activated explicitly from our side before you can use it. Please talk to your Cloudbeds contact before implementing this call! - [UpdateGroup](https://developers.cloudbeds.com/reference/update_group.md): This call is used to update group profile on your OTA based on the latest details that we have in Cloudbeds (eg. group name, address, notes, status, contacts). This call needs to be activated explicitly from our side before you can use it. Please talk to your Cloudbeds contact before implementing this call! - [DeleteGroup](https://developers.cloudbeds.com/reference/delete_group.md): This call is used to delete a group profile on your OTA previously created by CreateGroup call. This call needs to be activated explicitly from our side before you can use it. Please talk to your Cloudbeds contact before implementing this call! - [CreateGroupBlock](https://developers.cloudbeds.com/reference/create_group_block.md): This call is used to create a new inventory block for a group on your OTA based on the details that we have in Cloudbeds (eg. related group code, group block code, group block name, status, group block inventory, rates, restrictions, notes, release schedule). This call needs to be activated explicitly from our side before you can use it. Please talk to your Cloudbeds contact before implementing this call! - [UpdateGroupBlock](https://developers.cloudbeds.com/reference/update_group_block.md): This call is used to update an inventory block for a group on your OTA based on the latest details that we have in Cloudbeds (eg. related group block name, status, group block inventory, rates, restrictions, notes, release schedule). This call needs to be activated explicitly from our side before you can use it. Please talk to your Cloudbeds contact before implementing this call! - [DeleteGroupBlock](https://developers.cloudbeds.com/reference/delete_group_block.md): This call is used to delete an inventory block previously created using CreateGroupBlock call. This call needs to be activated explicitly from our side before you can use it. Please talk to your Cloudbeds contact before implementing this call! - [ARIFullRefresh](https://developers.cloudbeds.com/reference/ari_full_refresh.md): **Endpoint:** `https://api.myallocator.com/callback/ota/{ota}/v202203` (replace `{ota}` with your channel ID) This is for technical support on the remote OTA to enqueue a full refresh of the property. You may use either `ota_property_id` (it may be resolved into a number of Cloudbeds channel manager IDs) or `mya_property_id`. Note that full refreshes are heavy operations, so only call this when absolutely necessary. Under no circumstances use this callback on a scheduled basis. - [CheckAvailability](https://developers.cloudbeds.com/reference/check_availability.md): **Endpoint:** `https://api.myallocator.com/callback/ota/{ota}/v202203` (replace `{ota}` with your channel ID) Use this callback to check if a room (rateplan) is available for booking. Although information about specific room (rateplan) availability is supposed to be present locally on a channel side, we would like to provide an opportunity to double check if a room (rateplan) is available prior to creating a reservation. Using this callback ensures that due to a possible technical issue leading to a room (rateplan) availability numbers not having been (or having been incorrectly / not in time) delivered to a channel, the room is not overbooked and therefore helps avoid both host and guest frustration when such an over-booking has to be canceled by a host due to physical inability to accomodate. - [BookingCreate](https://developers.cloudbeds.com/reference/booking_create.md): **Endpoint:** `https://api.myallocator.com/callback/ota/{ota}/v202203` (replace `{ota}` with your channel ID) Use this callback to send us new bookings. Using this callback ensures that there is no delay between the creation of the booking and import on Cloudbeds. Therefore it's strongly recommend to implement this callback. Even when implemented it's still necessary to also implement the `GetBookingList` and `GetBookingId` calls, which act as fallbacks if the `CreateBooking` notification fails, when a reimport due to processing issues on Cloudbeds is necessary, or when a specific booking needs to be debugged. The booking format is identical to what is being returned in the `GetBookingId` call. The booking format is described [here in full detail](https://github.com/MyAllocator/build2us-apidocs/blob/gh-pages/booking_format_b2u.md). See the documentation about `GetBookingId` for more details on the format. The specification listed here is not complete and just the minimal requirement. The `booking_json` form field is expected to be JSON encoded. Note that the example shown on the right is not rendering correctly due to a bug with the specification renderer. `mya_property_id`, `shared_secret` and `booking_json` should be submitted as form fields. ## Sending credit/debit card data Guest credit/debit card data (the booking's `Payments` object) is **not accepted at the standard `BookingCreate` endpoint shown above.** Bookings that contain card data must be sent to a dedicated, PCI-compliant endpoint that Cloudbeds provides specifically for your channel. To send card data, your channel must be enabled for card handling: * **Provide a PCI Attestation of Compliance (AoC)** document to Cloudbeds. Card data cannot be enabled for a channel until the AoC has been received and approved. * Cloudbeds **configures your channel for card handling** and provides you with the dedicated secure URL to use in place of the standard `BookingCreate` endpoint, along with the credentials described below. * **Authenticate** every request to the secure URL either with the `tx-proxy-key` header (a secret key that Cloudbeds issues to your channel), or from a set of source IP addresses that you supply to Cloudbeds for allow-listing. The request format is identical to the standard endpoint: post the same JSON booking, including the `Payments` object with the card details. Bookings that do not contain card data are sent to the standard endpoint. Within the `Payments` object, `CardNumber` and `SeriesCode` **must be encoded as JSON strings** (quoted values, e.g. `"SeriesCode": "143"`), never as bare JSON numbers. The secure endpoint tokenizes these values in place with non-numeric tokens; unquoted numeric values cannot be tokenized. A booking that contains card data is **rejected with an error and not imported** unless your channel has been enabled for card handling. In that case the response has `Success: false` and `ErrorCode` `1032`. - [NotifyBooking](https://developers.cloudbeds.com/reference/notify_booking.md): **Endpoint:** `https://api.myallocator.com/callback/ota/{ota}/v202203` (replace `{ota}` with your channel ID) With this API call the OTA can notify Cloudbeds to immediately request a `GetBookingList` call based on the `ota_property_id`/`ota_property_sub_id` and the passed `booking_id`. This should be send on any new booking OR any changes such as cancellations to an existing booking. If the `BookingCreate` API call has been implemented then `NotifyBooking` is not required. Note: at this time we're not only sending a `GetBookingId` call with the `booking_id` given in this API call. Cloudbeds instead calls `GetBookingList` as usual. However, in the future Cloudbeds might specifically request the booking provided with `NotifyBooking`. - [RoomInfo](https://developers.cloudbeds.com/reference/room_info.md): **Endpoint:** `https://api.myallocator.com/callback/ota/{ota}/v202203` (replace `{ota}` with your channel ID) Returns the rooms configured on Cloudbeds. It's only necessary for deep integrations or situations where the OTA plans to automatically/create destroy rooms using Cloudbeds' configuration. In a normal integration this isn't very common. - [ChannelList](https://developers.cloudbeds.com/reference/channel_list.md): **Endpoint:** `https://api.myallocator.com/callback/ota/{ota}/v202203` (replace `{ota}` with your channel ID) Returns a list of all channels known to Cloudbeds, including their names and corresponding IDs. - [GetARI](https://developers.cloudbeds.com/reference/get_ari.md): **Endpoint:** `https://api.myallocator.com/callback/ota/{ota}/v202203` (replace `{ota}` with your channel ID) > **Not enabled by default.** Support for this method is disabled by > default and is only enabled upon request. When requesting access, > please provide details on why the method is needed and how it will > be used. > **Not intended for frequent usage.** This method must not be called > at a high frequency, and in particular must not be wired to > customer-exposed UI (e.g. called on page load or user interaction). > Use `ARIUpdate` push notifications to stay in sync; treat `GetARI` > as an occasional reconciliation tool. Retrieve the current ARI (availability, rates, restrictions) for one or more rooms over a given date range. Each `Inventory` row in the response has the same shape as the rows Cloudbeds sends via `ARIUpdate`, so an OTA can reuse the same inventory-row processor. A requested room with no enabled channel mapping is omitted from `room_ari` and reported under `warnings`. Likewise, a resolved property that is not available for the channel is skipped and reported under `warnings`; if no resolved property is available, the request fails with an error. - [Issue API Key](https://developers.cloudbeds.com/reference/payments-sdk-api-issue.md): Issue a new API key for the Payment Element, scoped to one or more properties. The response includes both the **identity** (public) and the **secret** (private). The secret is **only returned once** at creation time and cannot be retrieved later. > **Important:** Treat the `secret` as a password. Store it in a secure vault or secrets manager. > Do not log it, commit it to source control, or expose it in client-side code. ## Using with the Payment Webcomponent To initialize the payment webcomponent your backend must produce a token from the `identity` and `secret`, then populate the webcomponents `api-key` field. The token format is: ``` {identity}.{base64(HMAC_SHA256(message, secret))} ``` Where: - **`message`** is the literal string `"{identity}|{property_id}"` (UTF-8 bytes, pipe-separated, no surrounding whitespace). - **`secret`** is the value returned by this endpoint, used **as-is** (its raw ASCII bytes). Do **not** base64-decode it before signing. - The HMAC digest is the **raw 32 bytes** of HMAC-SHA256, then **standard base64** encoded (not base64url, no `=` stripping). - The token is the `identity`, a literal `.`, then the base64 digest. - [List API Keys](https://developers.cloudbeds.com/reference/payments-sdk-api-list.md): Retrieve a paginated list of API keys, optionally filtered by property or revocation status. Use `next_page_token` from the response as `page_token` in the next request to paginate. The `secret` field is never included in list responses. - [Revoke API Key](https://developers.cloudbeds.com/reference/payments-sdk-api-revoke.md): Permanently revoke an API key. Once revoked, the key can no longer be used for authentication. This action is **irreversible**. Revoked keys remain visible via List API Keys when `include_revoked=true`. - [Returns a list of guest profiles](https://developers.cloudbeds.com/reference/get_profiles.md) - [Create a new profile](https://developers.cloudbeds.com/reference/post_profiles.md) - [Returns a single profile by ID](https://developers.cloudbeds.com/reference/get_profiles-profileid.md) - [Update a profile](https://developers.cloudbeds.com/reference/patch_profiles-profileid.md) - [Returns a value of PII field for a given profile](https://developers.cloudbeds.com/reference/get_profiles-profileid-pii-field.md) - [Returns the stats of a given profile.](https://developers.cloudbeds.com/reference/get_profiles-profileid-stats.md) - [Returns available filter values for guest profiles](https://developers.cloudbeds.com/reference/get_profiles-filters.md): Returns the list of countries and guest statuses that can be used as filter values when querying guest profiles. Both countries and statuses are sourced from the guest-profile service. - [Returns the sources of a given profile.](https://developers.cloudbeds.com/reference/get_profiles-profileid-sources.md) - [Anonymize a given profile.](https://developers.cloudbeds.com/reference/post_profiles-profileid-anonymize.md) - [Get custom fields for a profile](https://developers.cloudbeds.com/reference/getcustomfields.md) - [Returns a list of profiles currently merged into a given profile](https://developers.cloudbeds.com/reference/get_profiles-profileid-merged-profiles.md) - [Get a list of suggested merges.](https://developers.cloudbeds.com/reference/get_merges-suggested.md) - [Returns a list of guest profile merges](https://developers.cloudbeds.com/reference/get_merges.md) - [Merge profiles](https://developers.cloudbeds.com/reference/post_merges.md) - [Unmerge profiles](https://developers.cloudbeds.com/reference/post_merges-mergeid-unmerge.md) - [Returns a list of reservations for a given profile](https://developers.cloudbeds.com/reference/get_profiles-profileid-reservations.md) - [Returns a list of attributes](https://developers.cloudbeds.com/reference/get_attribute-tagging-v1-attributes.md) - [Create a new attribute](https://developers.cloudbeds.com/reference/post_attribute-tagging-v1-attributes.md) - [Update an attribute](https://developers.cloudbeds.com/reference/patch_attribute-tagging-v1-attributes-id.md) - [Delete an attribute](https://developers.cloudbeds.com/reference/delete_attribute-tagging-v1-attributes-id.md) - [Returns a list of tags for an entity](https://developers.cloudbeds.com/reference/get_attribute-tagging-v1-tags.md) - [Attach attributes to an entity](https://developers.cloudbeds.com/reference/post_attribute-tagging-v1-tags.md) - [Delete multiple tags](https://developers.cloudbeds.com/reference/delete_attribute-tagging-v1-tags.md) - [Delete a tag](https://developers.cloudbeds.com/reference/delete_attribute-tagging-v1-tags-id.md) - [Returns tags for a list of entities (bulk lookup)](https://developers.cloudbeds.com/reference/post_attribute-tagging-v1-tags-query.md) ## Pages - [Main](https://developers.cloudbeds.com/home.md) ## Changelog - [May 2026 - Migration to Fiscal Docs API by December 1st, 2026 Required - Communication to Government Invoicing Partners](https://developers.cloudbeds.com/changelog/migration-to-fiscal-docs-api-by-december-1st-2026-required-commnication-to-government-invoicing-partners.md) - [April 2026 - Action Required: Migrate Your Door Lock Integration to the Cloudbeds Keys API - Communication to Door Lock Partners](https://developers.cloudbeds.com/changelog/april-2026-action-required-migrate-your-door-lock-integration-to-the-cloudbeds-keys-api-communication-to-door-lock-partners.md) - [June 2025 - getTransactions and other API endpoints deprecation - Migration from Cloudbeds API to Accounting API by December 1st, 2025 Required](https://developers.cloudbeds.com/changelog/june-2025-gettransactions-and-other-api-endpoints-deprecation-migration-from-cloudbeds-api-to-accounting-api-by-december-1st-2025-required.md) - [January 2025 - API v1.1 deprecated by March 31st, 2025](https://developers.cloudbeds.com/changelog/january-2025-action-required-cloudbeds-api-v11-deprecated-by-march-31st-2025.md) - [January 2025 - New feature for Groups & Events & POS](https://developers.cloudbeds.com/changelog/january-2025-new-features-for-groups-events-pos.md)