Booking Holdings Messages API
Provides endpoints for two-way post-booking communication between guests and properties. Use these endpoints to send and retrieve messages, exchange images, and check conversation details.
Provides endpoints for two-way post-booking communication between guests and properties. Use these endpoints to send and retrieve messages, exchange images, and check conversation details.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/booking-holdings-messages-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Booking.com Demand Accommodations Messages API
version: '3.1'
summary: "The Booking.com Demand API enables Affiliate Partners to access Booking.com's travel inventory, including accommodations, car rentals, and flights. \n\nUse Demand API to search, retrieve details, check availability, manage bookings and run reports using orders details.\n\n- RESTful API with JSON responses.\n- Make HTTPS POST requests to interact with endpoints.\n- Requires authentication using your Affiliate ID and token credentials.\n\n[Check the try out guide!](/demand/docs/getting-started/try-out-the-api)\n"
x-last-validated: '2026-06-02'
x-generated-from: documentation
description: This API collection is specific for the stay part of the connected trip. </br></br>Use these endpoints to search for stays such as hotels and apartments, check availability, retrieve reviews, and get detailed property information.
servers:
- url: https://demandapi.booking.com/3.1
description: Production environment
- url: https://demandapi-sandbox.booking.com/3.1
description: Sandbox environment
security:
- BearerAuth: []
tags:
- name: Messages
x-displayName: Messages
description: Provides endpoints for two-way post-booking communication between guests and properties. </br></br>Use these endpoints to send and retrieve messages, exchange images, and check conversation details.
paths:
/messages/send:
post:
summary: Booking.com Send a Message
description: 'Sends a message within a conversation. The message body supports plain text.
Optionally, attach a file by referencing a previously uploaded attachment ID.
'
operationId: messagesSend
tags:
- Messages
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
requestBody:
required: true
content:
application/json:
schema:
title: SendMessageRequest
type: object
required:
- conversation
- content
- accommodation
properties:
conversation:
type: string
description: Unique identifier of the conversation.
accommodation:
type: string
description: Unique identifier of the property.
content:
type: string
description: The message text to send.
attachments:
type: array
items:
type: string
description: Optional list of attachment IDs, if sending one or more files.
example:
conversation: 8586a789-44f4-5521-9f27-f5efd097cba6
accommodation: '6819547'
content: Hello, I'm your guest!.
attachments:
- c325f460-1dc6-11f0-80f0-8d0908786f77
responses:
'200':
description: Message sent successfully.
content:
application/json:
schema:
type: object
properties:
request_id:
type: string
description: Unique identifier for this request. Provide this ID when contacting support.
data:
type: object
properties:
message:
type: string
description: Unique identifier for the sent message.
example:
request_id: cdb0b154-2eae-481b-8fee-fb2725296e1f
data:
message: 3164e570-19e0-11f0-baca-e5019c8df435
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/messages/latest:
post:
summary: Booking.com Fetch Latest Messages
description: 'Retrieves up to **100 of the most recent messages** including messages from both property and guest.<br/>
- Messages are returned in reverse chronological order (newest first).
- Use this endpoint to sync message threads or poll for updates.
**Important:** To retrieve the latest messages, send an empty POST request. Any content in the request body will be ignored.
'
operationId: messagesLatest
tags:
- Messages
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
responses:
'200':
description: Latest messages fetched successfully.
content:
application/json:
schema:
type: object
properties:
request_id:
type: string
description: Unique identifier for this request. Provide this ID when contacting support.
data:
type: object
properties:
messages:
type: array
items:
type: object
properties:
message_id:
type: string
description: Unique identifier of the message.
reply_to:
type:
- string
- 'null'
description: ID of the message this is replying to (if applicable).
conversation:
type: object
properties:
id:
type: string
description: Unique identifier of the conversation.
accommodation:
type: string
description: Unique identifier of the property.
reservation:
type: string
description: Unique identifier of the reservation.
content:
type: string
description: Message text content.
sender:
type: object
properties:
participant_id:
type: string
description: Unique identifier of the conversation participant.
metadata:
type: object
description: Additional metadata about the sender.
attachments:
type: array
items:
type: string
description: Attachment IDs included with the message.
timestamp:
type: string
format: date-time
description: Timestamp in ISO 8601 format (UTC) when the message was sent.
example:
request_id: 0248d85a-17e0-44b3-a37c-7d4b5c03f58b
data:
messages:
- message_id: daca26da-4ce3-519d-b9eb-623eeb674800
reply_to: null
conversation:
id: b2364f9b-6466-599a-a947-0d35cff4f492
accommodation: '5589515'
reservation: '4439608993'
content: Hello Anne, welcome to CS Training Test Hotel...
sender:
participant_id: 930d9af8-2390-5e43-a4d7-235b52a30a14
metadata:
type: property
name: CS Training Test Hotel Sloterdijk 10
attachments: []
timestamp: '2025-05-08T08:49:15.000Z'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/messages/latest/confirm:
post:
summary: Booking.com Confirm Message Receipt
description: 'Confirms receipt of specified messages.
This confirmation is required before receiving new messages from the POST /messages/latest endpoint.
'
operationId: messagesLatestConfirm
tags:
- Messages
parameters:
- $ref: '#/components/parameters/AffiliateIdHeader'
requestBody:
required: true
content:
application/json:
schema:
title: ConfirmMessageReceiptRequest
type: object
properties:
messages:
type: array
items:
type: string
description: Unique identifier of a message to confirm receipt of.
example:
messages:
- 8586a789-44f4-5521-9f27-f5efd097cba
examples:
MessagesLatestConfirmRequestExample:
summary: Default messagesLatestConfirm request
x-microcks-default: true
value:
messages:
- 8586a789-44f4-5521-9f27-f5efd097cba
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
parameters:
AffiliateIdHeader:
in: header
name: X-Affiliate-Id
schema:
type: integer
required: true
description: Include here your Affiliate identifier number
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: string
x-tagGroups:
- name: Travel services
tags:
- Accommodations
- Cars
- name: Common
tags:
- Common/locations
- Common/payments
- Common/languages
- name: Orders
tags:
- Orders
- name: Messaging
tags:
- Messages
- Conversations
- Attachments