Booking.com Rooms API

Create and manage room types on Booking.com, including the bulk surface and the generated-names variant. Room definitions carry occupancy, extra beds configuration and rate-relevant attributes; the legacy max payable child field is deprecated and sunset under the published deprecation policy.

Operations 6

GET /rooms-api/properties/{property-id}/units Get units #
POST /rooms-api/properties/{property-id}/units Create unit #
DELETE /rooms-api/properties/{property-id}/units/{unit-id} Delete unit #
PATCH /rooms-api/properties/{property-id}/units/{unit-id} Update unit #
GET /rooms-api/properties/{property-id}/deleted-units Get deleted units (read only) #
GET /rooms-api/meta Get meta data for units #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/booking-com-rooms-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

booking-com-rooms-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Rooms API
  description: Contains Rooms API specification
  contact:
    name: Connectivity Team
    url: https://connect.booking.com
    email: connectivity@booking.com
  version: '1.2'
servers:
- url: https://supply-xml.booking.com/
  description: Test using live endpoint
tags:
- name: About Try it
  description: "Learn how to effectively use the Try it feature in the Rooms API documentation.\n\nUse the **Try it** feature\
    \ to send sample requests to API endpoints directly from the developer portal. In the **Mock (schema only)** environment,\
    \ Try it returns schema-driven mock responses or pre-built example responses. In the **Production** environment, it sends\
    \ the request to the live API and returns dynamic responses from your selected test property.\n\n## Environment\n\nYou\
    \ can select between two different environments (top right corner in the UI):\n\n**Mock (schema only)** (default):\n-\
    \ Helps to understand the response data schema\n- Recommended for all write operations (POST, PUT, DELETE)\n- Environment\
    \ for testing without affecting live/test data\n\n**Test live endpoint**:\n- Make sure to use only test properties.\n\
    - Changes will affect your test property data\n- Requires valid credentials\n- Same API structure as production\n\n##\
    \ Request\n\nYou can click on any unresolved placeholders to add a value or edit an existing placeholder value.\n\nThe\
    \ portal loads the default request body. Where the specification supports multiple request body examples (for example:\
    \ Rooms API POST endpoint), you can choose a different request body from the drop-down list.\n\nSome helpful pointers\
    \ before running a request:\n\n- **Authentication** (when using live endpoint): Configure your authentication headers\n\
    \  - API Key or OAuth token as required. Use the **Environments** tab.\n  - Make sure to manage separate machine accounts\
    \ for test vs. properties in production.\n  - Ensure credentials match your selected environment.\n\n- **Parameters**:\
    \ Fill in required parameters\n  - Path parameters (like `propertyId`)\n  - Query parameters (like `language_code`)\n\
    \  - Request body for `POST/PUT` operations\n\n- **Execute**: Click **Send** to send the request\n  - The request is sent\
    \ to the selected environment\n  - When sending requests to the live endpoint, real HTTP request is made to the API\n\n\
    ## Response\n\nThe Try it feature provides comprehensive response information to the extent supported by the Open API\
    \ specification:\n\n### Status code\n- **2xx**: Success responses (200)\n- **4xx**: Client errors (400 Bad Request, 401\
    \ Unauthorized, 404 Not Found)\n- **5xx**: Server errors (500 Internal Server Error)\n\n### Response body\n- JSON formatted\
    \ response data\n\nIf the returned response, by default, is unformatted, select the supported Response body format in\
    \ the UI.\n\n### Response headers\n- Content-Type, Content-Length.\n\n## Environments\n\nThe **Environments** tab allows\
    \ you to create variables specific to the environment. For example, you can add a variable to hold the value of the `property-id`\
    \ placeholder. The portal inserts the respective value depending on the environment at the time of sending the request.\n\
    \n### Variables\n\nMost of the endpoints (especially POST/PUT/DELETE) require you to add a path or query parameter before\
    \ sending the request. The Open API specification marks these parameters with placeholder tags. For example, {{`property_id`}}.\
    \ You can use the **Environments** tab to manage the values for these placeholders as variables.\n\n#### Path parameters\n\
    - **Required**: Must be provided to make the request\n- **Type validation**: Ensures correct data types (integer, string,\
    \ etc.)\n- **Example**: `property-id` in `/rooms-api/properties/{property-id}/units`\n\n#### Query parameters\n- **Optional**:\
    \ Usually have default values\n- **Example**: `debug_info` with boolean values\n\n#### Request body\n- **Schema validation**:\
    \ Follows OpenAPI schema definitions\n- **Example data**: Prepopulated with sample values\n\n## Best practices\n\nThis\
    \ section provides some basic practice guidelines.\n\n### Authentication\n\n- Always use separate machine accounts for\
    \ test properties vs. properties in production.\n- When testing with production endpoint, make sure to use only test properties.\n\
    \n### For Read operations (GET)\n- Safe to test in any environment\n- Use valid IDs that exist in your system\n- Check\
    \ response structure for integration planning\n\n### For Write operations (POST, PUT)\n- **Always use Mock (schema only)\
    \ environment first**\n- Verify request payload structure\n- Check response for success confirmation\n- Test error scenarios\
    \ with invalid data\n\n### For Delete operations (DELETE)\n- **Preferable to use Mock (schema only) environment only**\n\
    - Understand the operation is irreversible\n- Have backup data when testing using test properties\n\n## Troubleshooting\n\
    \n### Common issues\n\n**401 Unauthorized**\n- Check authentication credentials\n- Verify API key is valid and not expired\n\
    - Ensure credentials match the selected environment\n\n**400 Bad Request**\n- Validate request payload against schema\n\
    - Check required fields are provided\n- Verify data types match specification\n\n**404 Not Found**\n- Confirm the resource\
    \ ID exists\n- Check the endpoint URL is correct\n- Verify you have access to the resource\n\n### Getting help\n\nIf you\
    \ encounter issues:\n1. Check the response error message for details\n2. Verify your request matches the API specification\n\
    3. Contact the Connectivity Team for support\n\n---\n\n*This documentation applies to all endpoints in the Rooms API.\
    \ The Try it feature provides a consistent testing experience across all operations.*"
- name: rooms-api
  description: Create, update, retrieve and delete property units
- name: meta
  description: Retrieve units meta data and translations
x-tagGroups:
- name: API Endpoints
  tags:
  - rooms-api
  - meta
- name: Documentation
  tags:


# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/booking-com/refs/heads/main/openapi/booking-com-rooms-api-openapi.yml