Skip to main content

Cloudbeds PMS

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

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

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

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

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

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

Request Format: HTTP GET, POST, PUT, PATCH and DELETE; request bodies are JSON (Content-Type: application/json)

Response Format: JSON

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

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

The cloudbeds_pms package is automatically generated by the OpenAPI Generator project:

  • API version: v2
  • Package version: 2.14.0
  • Generator version: 7.20.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen

Requirements.

Python 3.9+

Installation & Usage

This python library package is generated without supporting files like setup.py or requirements files

To be able to use it, you will need these dependencies in your own package that uses this library:

  • urllib3 >= 2.1.0, < 3.0.0
  • python-dateutil >= 2.8.2
  • pydantic >= 2
  • typing-extensions >= 4.7.1

Getting Started

In your own code, to use this library to connect and interact with Cloudbeds PMS, you can run the following:

import cloudbeds_pms
from cloudbeds_pms.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.cloudbeds.com
# See configuration.py for a list of all supported configuration parameters.
configuration = cloudbeds_pms.Configuration(
    host = "https://api.cloudbeds.com"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

configuration.access_token = os.environ["ACCESS_TOKEN"]


# Enter a context with an instance of the API client
with cloudbeds_pms.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = cloudbeds_pms.AddonsApi(api_client)
    x_property_id = '1,2,3' # str | A numeric, comma-separated string representing the property IDs, sent in the header.
    reservation_id = 'reservation_id_example' # str | The reservation ID, as returned by getReservation.
    sold_addon_id = 'sold_addon_id_example' # str | The add-on's soldProductID from reservationAddOnProducts in getReservation.

    try:
        # Void an add-on on a reservation
        api_response = api_instance.addon_controller_delete_reservation_addon(x_property_id, reservation_id, sold_addon_id)
        print("The response of AddonsApi->addon_controller_delete_reservation_addon:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling AddonsApi->addon_controller_delete_reservation_addon: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://api.cloudbeds.com

Class Method HTTP request Description
AddonsApi addon_controller_delete_reservation_addon DELETE /addons/v1/reservations/{reservationId}/addons/{soldAddonId} Void an add-on on a reservation
AddonsApi addon_controller_get_addons GET /addons/v1/addons Retrieve property add-ons
AmenitiesApi amenity_catalog_controller_get_amenity_catalog GET /amenities/v1/catalogs/amenities Get amenity catalog
AmenitiesApi amenity_catalog_controller_get_amenity_category_catalog GET /amenities/v1/catalogs/categories Get amenity category catalog
AmenitiesApi property_amenity_controller_get_property_amenities GET /amenities/v1/properties/{propertyId}/amenities Get property amenities
AmenitiesApi property_amenity_controller_update_property_amenities PUT /amenities/v1/properties/{propertyId}/amenities Update property amenities
AmenitiesApi room_amenity_controller_get_property_rooms_amenities GET /amenities/v1/properties/{propertyId}/room-amenities Get amenities for all rooms in a property
AmenitiesApi room_amenity_controller_get_room_amenities GET /amenities/v1/properties/{propertyId}/rooms/{roomTypeId}/amenities Get room amenities
AmenitiesApi room_amenity_controller_update_property_rooms_amenities PUT /amenities/v1/properties/{propertyId}/room-amenities Update amenities for multiple rooms
AmenitiesApi room_amenity_controller_update_room_amenities PUT /amenities/v1/properties/{propertyId}/rooms/{roomTypeId}/amenities Update room amenities
ApplicationsApi api_client_controller_connected_api_clients GET /integration/v1/connected-applications Get all connected API clients for a property
ChecksApi check_controller_create_check POST /folio/v1/checks Post a completed POS check (e.g., F&B) to a guest folio, house account, or group profile
ChecksApi check_controller_delete_check DELETE /folio/v1/checks/{checkId} Void a posted check end-to-end (ledger + payments + its gratuities) by its checkId
DoorLocksApi door_lock_key_controller_batch_delete DELETE /doorlock/v1/keys Delete a list of doorlock keys.
DoorLocksApi door_lock_key_controller_create POST /doorlock/v1/keys Create a new doorlock key.
DoorLocksApi door_lock_key_controller_delete DELETE /doorlock/v1/keys/{id} Delete a doorlock key.
DoorLocksApi door_lock_key_controller_index GET /doorlock/v1/keys/{propertyId} Get a list of doorlock keys for a specific app client and property.
DoorLocksApi door_lock_key_controller_update PATCH /doorlock/v1/keys/{id} Update a doorlock key.
DoorLocksApi door_lock_settings_controller_delete DELETE /doorlock/v1/settings/{propertyId} Delete doorlock settings for property for specific application client.
DoorLocksApi door_lock_settings_controller_single GET /doorlock/v1/settings/{propertyId} Get doorlock settings for property for specific application client.
DoorLocksApi door_lock_settings_controller_upsert PUT /doorlock/v1/settings/{propertyId} Upsert doorlock settings for property for specific application client.
EventsApi event_controller_create POST /events/v2/events Create a new event
EventsApi event_controller_destroy DELETE /events/v2/events/{eventId} Delete an event
EventsApi event_controller_list GET /events/v2/events List events for a property
EventsApi event_controller_show GET /events/v2/events/{eventId} Get a single event
EventsApi event_controller_update PATCH /events/v2/events/{eventId} Update an existing event
EventsApi event_note_controller_create POST /events/v2/events/{eventId}/notes Create a note for an event
EventsApi event_note_controller_list GET /events/v2/events/{eventId}/notes List notes for an event
EventsApi event_note_controller_update PATCH /events/v2/events/{eventId}/notes/{noteId} Update an event note
GratuitiesApi gratuity_controller_create_check_gratuity POST /folio/v1/checks/{checkId}/gratuities Post one or more guest tips linked to an existing check
GratuitiesApi gratuity_controller_create_gratuity POST /folio/v1/gratuities Post one or more guest tips to a folio, house account, or group profile
GratuitiesApi gratuity_controller_delete_gratuity DELETE /folio/v1/gratuities/{gratuityId} Void a posted gratuity by its gratuityId
HousekeepingApi call_27abd48cb30106ec3251cf3baf34174c GET /housekeeping/v1/inspections/{propertyId} Housekeeping inspection list
IntegrationEventsApi integration_event_controller_create POST /integration/v1/events Create a new integration event.
IntegrationEventsApi integration_event_controller_index GET /integration/v1/events Get a list of integration events for a specific property.
IntegrationEventsApi integration_event_controller_retry POST /integration/v1/events/{id}/retry Retry an integration event.
IntegrationEventsApi integration_event_controller_update PATCH /integration/v1/events/{id} Update an integration event.
ItemsApi custom_item_controller_index GET /item/v1/custom-items Get a list of custom items for a specific property.
ItemsApi item_controller_create_items POST /item/v1/items Post one or more items to a reservation, house account, or group profile
MarketSegmentationApi group_controller_create POST /market-segmentation/v1/groups Create a new Market Segmentation Group.
MarketSegmentationApi group_controller_delete DELETE /market-segmentation/v1/groups/{id} Delete a Market Segmentation Group.
MarketSegmentationApi group_controller_disable POST /market-segmentation/v1/groups/{id}/disable Disable a Market Segmentation Group.
MarketSegmentationApi group_controller_enable POST /market-segmentation/v1/groups/{id}/enable Enable a Market Segmentation Group.
MarketSegmentationApi group_controller_index GET /market-segmentation/v1/groups Get a list of Market Segmentation Groups.
MarketSegmentationApi group_controller_single GET /market-segmentation/v1/groups/{id} Get Market Segmentation Group data.
MarketSegmentationApi group_controller_update PATCH /market-segmentation/v1/groups/{id} Update a Market Segmentation Group.
MarketSegmentationApi segment_controller_create POST /market-segmentation/v1/segments Create a new Market Segmentation Segment.
MarketSegmentationApi segment_controller_default POST /market-segmentation/v1/segments/{id}/default Set Market Segmentation Segment as Default.
MarketSegmentationApi segment_controller_delete DELETE /market-segmentation/v1/segments/{id} Delete a Market Segmentation Segment.
MarketSegmentationApi segment_controller_disable POST /market-segmentation/v1/segments/{id}/disable Disable a Market Segmentation Segment.
MarketSegmentationApi segment_controller_enable POST /market-segmentation/v1/segments/{id}/enable Enable a Market Segmentation Segment.
MarketSegmentationApi segment_controller_index GET /market-segmentation/v1/segments/{enabled} Get a list of Market Segmentation Segments.
MarketSegmentationApi segment_controller_reservations GET /market-segmentation/v1/segments/{id}/reservations/{active} Get a list of reservations linked to a Market Segmentation Segment.
MarketSegmentationApi segment_controller_single GET /market-segmentation/v1/segments/{id} Get Market Segmentation Segment data.
MarketSegmentationApi segment_controller_update PATCH /market-segmentation/v1/segments/{id} Update a Market Segmentation Segment.
PaymentsApi create_payment POST /payments/v1/payments Create a payment or authorization
PropertyApi system_controller_get_system GET /property/v1/system Retrieves the property's system component versions
RatePlansApi rate_plan_controller_create POST /rates/v1/rate-plans Create a new Rate Plan.
RatePlansApi rate_plan_controller_delete DELETE /rates/v1/rate-plans/{id} Delete a Rate Plan.
RatePlansApi rate_plan_controller_index GET /rates/v1/rate-plans Get a list of Rates Plans.
RatePlansApi rate_plan_controller_single GET /rates/v1/rate-plans/{id} Get Rate Plan data.
RatePlansApi rate_plan_controller_update PATCH /rates/v1/rate-plans/{id} Update an existing Rate Plan.
SmartPoliciesApi adjustment_preview_controller_preview POST /smart-policies/v1/payments/preview-adjustment Preview how a folio adjustment (tax/fee/rate/room-revenue) would affect Smart Policy scheduled payments.
SmartPoliciesApi get_booking_policy_information_controller_get_booking_policy_information GET /smart-policies/v1/reservations/{reservationId}/policy-information Get the rendered smart policy text and scheduled payments for a reservation.
SmartPolicyExceptionsApi policy_exception_controller_create POST /smart-policies/v1/exceptions Create a new policy exception.
SmartPolicyExceptionsApi policy_exception_controller_destroy DELETE /smart-policies/v1/exceptions/{exceptionId} Delete a policy exception.
SmartPolicyExceptionsApi policy_exception_controller_eligible_rates POST /smart-policies/v1/exceptions/eligible-rates/search Search eligible rate plans and base rates with conflict info.
SmartPolicyExceptionsApi policy_exception_controller_index GET /smart-policies/v1/exceptions List all policy exceptions for a property.
SmartPolicyExceptionsApi policy_exception_controller_partial_update PATCH /smart-policies/v1/exceptions/{exceptionId} Partially update a policy exception.
SmartPolicyExceptionsApi policy_exception_controller_show GET /smart-policies/v1/exceptions/{exceptionId} Get a single policy exception by ID.
SmartPolicyExceptionsApi policy_exception_controller_update PUT /smart-policies/v1/exceptions/{exceptionId} Update an existing policy exception.
BookingRoomApi assignable_rooms_controller_get_assignable_rooms GET /booking-room/v1/{bookingRoomId}/assignable-rooms Get rooms a reservation can be reassigned to

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

api_key

  • Type: API key
  • API key parameter name: x-api-key
  • Location: HTTP header

default

  • Type: OAuth
  • Flow: accessCode
  • Authorization URL: https://api.cloudbeds.com/auth/oauth/authorize
  • Scopes:
  • read:addon: Read Addon information
  • read:doorLockKey: Read DoorLock keys and settings
  • write:doorLockKey: Write DoorLock keys and settings
  • delete:doorLockKey: Delete DoorLock keys and settings
  • read:housekeeping: Read Housekeeping inspections
  • read:marketsegment: Read Market Segmentation groups and segments
  • write:marketsegment: Write Market Segmentation groups and segments
  • delete:marketsegment: Delete Market Segmentation groups and segments
  • write:importTask: Create new data imports
  • read:importTask: Read data imports
  • hotel:read: Read Hotel information
  • hotel:write: Write Hotel information
  • hotel:delete: Delete Hotel information
  • write:appError: Write AppError information
  • read:agePolicy: Read Age Policy information
  • write:agePolicy: Write Age Policy information
  • delete:agePolicy: Delete Age Policy information
  • write:allotmentBlocks: Write AllotmentBlock information
  • read:allotmentBlocks: Read AllotmentBlock information
  • delete:allotmentBlocks: Delete AllotmentBlock information

Author

Metadata

Release files for cloudbeds-pms 2.14.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cloudbeds-pms 2.14.0
File Size Uploaded Provenance
cloudbeds_pms-2.14.0.tar.gz 346.3 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for cloudbeds-pms 2.14.0
File Interpreter ABI Platform
cloudbeds_pms-2.14.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.2 MB

Release files / cloudbeds_pms-2.14.0.tar.gz

Download URL cloudbeds_pms-2.14.0.tar.gz
Size 346.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3ffa94496322a4c2085a6f9e6b16ade1d0f1522609877ea48a9b0016667c8dbd
BLAKE2b-256 checksum
How to use checksums
4c86ad0719fd3f343461a57c995e1c8d5142bd2f4d5c3fa8b69e1ef1c0b69344
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / cloudbeds_pms-2.14.0-py3-none-any.whl

Download URL cloudbeds_pms-2.14.0-py3-none-any.whl
Size 1.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
ceb4bc0eafe902740fddc7a0933638a6e18fc7aaf4a40915084751d59bdaa59f
BLAKE2b-256 checksum
How to use checksums
20eeddc428fe257e23299dfc6ac4e0a9ce38b72dcd56351d64a9309de59d26f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Security for cloudbeds-pms 2.14.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for cloudbeds_pms-2.14.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page