airbnb Messages API
Operations for sending and retrieving guest and host messages within reservation threads.
Operations for sending and retrieving guest and host messages within reservation threads.
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/airbnb-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: Airbnb Homes Messages API
description: The Airbnb Homes API provides approved connectivity partners with programmatic access to manage vacation rental listings on the Airbnb platform.
version: 2025.03.31
contact:
name: Airbnb Developer Support
url: https://developer.withairbnb.com/
termsOfService: https://www.airbnb.com/terms
servers:
- url: https://api.airbnb.com/v2
description: Airbnb Production API Server
security:
- oauth2: []
tags:
- name: Messages
description: Operations for sending and retrieving guest and host messages within reservation threads.
paths:
/reservations/{reservation_id}/messages:
get:
operationId: listReservationMessages
summary: List Reservation Messages
description: Retrieves the message thread for a specific reservation, including all messages exchanged between the host and guest.
tags:
- Messages
parameters:
- $ref: '#/components/parameters/reservationIdParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
responses:
'200':
description: A paginated list of messages in the reservation thread.
content:
application/json:
schema:
type: object
properties:
messages:
type: array
items:
$ref: '#/components/schemas/Message'
pagination:
$ref: '#/components/schemas/Pagination'
'401':
description: Authentication credentials are missing or invalid.
'404':
description: The reservation was not found.
post:
operationId: sendReservationMessage
summary: Send a Reservation Message
description: Sends a new message in the reservation thread from the host to the guest. Messages are delivered through the Airbnb messaging system.
tags:
- Messages
parameters:
- $ref: '#/components/parameters/reservationIdParam'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- message
properties:
message:
type: string
description: The text content of the message to send.
maxLength: 5000
responses:
'201':
description: The message was successfully sent.
content:
application/json:
schema:
$ref: '#/components/schemas/Message'
'400':
description: The message content is invalid or exceeds length limits.
'401':
description: Authentication credentials are missing or invalid.
'404':
description: The reservation was not found.
components:
parameters:
limitParam:
name: limit
in: query
description: The maximum number of results to return per page.
schema:
type: integer
minimum: 1
maximum: 100
default: 25
reservationIdParam:
name: reservation_id
in: path
required: true
description: The unique identifier of the reservation.
schema:
type: string
offsetParam:
name: offset
in: query
description: The number of results to skip for pagination.
schema:
type: integer
minimum: 0
default: 0
schemas:
Message:
type: object
properties:
id:
type: string
description: The unique identifier of the message.
reservation_id:
type: string
description: The identifier of the associated reservation.
sender_type:
type: string
description: Whether the message was sent by the host or guest.
enum:
- host
- guest
message:
type: string
description: The text content of the message.
created_at:
type: string
format: date-time
description: The timestamp when the message was sent.
Pagination:
type: object
properties:
total:
type: integer
description: The total number of results available.
limit:
type: integer
description: The number of results returned per page.
offset:
type: integer
description: The current offset in the result set.
has_more:
type: boolean
description: Whether more results are available beyond this page.
securitySchemes:
oauth2:
type: oauth2
description: Airbnb uses OAuth 2.0 for authentication. Partners must register their application to receive a client ID and secret, then obtain access tokens through the authorization code flow. Access tokens expire after 24 hours and must be refreshed.
flows:
authorizationCode:
authorizationUrl: https://www.airbnb.com/oauth2/auth
tokenUrl: https://api.airbnb.com/v2/oauth2/authorizations
scopes:
listings:read: Read listing information
listings:write: Create and update listings
reservations:read: Read reservation information
reservations:write: Accept, deny, and cancel reservations
messages:read: Read reservation messages
messages:write: Send messages to guests
reviews:read: Read reviews
calendar:read: Read calendar availability
calendar:write: Update calendar availability and pricing
externalDocs:
description: Airbnb Developer Documentation
url: https://developer.withairbnb.com/