Learn how to authenticate, poll the Status API, interpret operational status, and use its responses to build resilient integrations.
The Status API provides an operational signal for monitored Demand API endpoints.
Use it alongside your existing error handling to detect broader service degradation and adjust your integration when appropriate.
You can monitor the operational status of endpoint groups or individual endpoints, depending on the level of detail your integration requires.
You can also view the current operational status of monitored endpoints in the Status dashboard. The dashboard is for visual monitoring; use the Status API to retrieve status programmatically.
To access the Status API, you need:
✓ Send Status API requests to partnerships-status.booking.com.
✓ Include your Booking.com partner identifier in the X-Partner-Id request header in every request.
You do not need any activation as this service is available by default to your ID.
Include your partner identifier in every request.
Example request
GET /api/1.0/status HTTP/1.1
Host: partnerships-status.booking.com
X-Partner-Id: 125879
Accept: application/jsonIf the X-Partner-Id header is missing or invalid, the API returns 401 Unauthorized.
See the Error handling guide for more details.
Call the following endpoint periodically to retrieve the latest operational status of monitored Demand API endpoint groups and their individual endpoints:
GET /api/1.0/status
The response contains one or more endpoint groups.
Each group contains:
- The operational status of the group.
- The operational status of each monitored endpoint within the group.
- The time when the status was last evaluated.
- Additional information about an issue when the status is not
up.
Example response
{
"data": [
%} {
"group": "Reservations",
"status": "major_outage",
"updated_at": "2026-04-20T14:32:00Z",
"since": "2026-04-20T14:30:15Z",
"reason": "Issue reason",
"endpoints": [
{
"endpoint": "/orders/create",
"status": "major_outage",
"updated_at": "2026-04-20T14:32:00Z",
"since": "2026-04-20T14:30:15Z",
"reason": "Issue reason"
},
{
"endpoint": "/orders/preview",
"status": "up",
"updated_at": "2026-04-20T14:32:00Z"
}
]
}
]
}Each endpoint group includes the following information.
Field | Description |
|---|---|
group | Name of the endpoint group. |
status | Current operational status of the group. |
updated_at | UTC timestamp when the group status was last evaluated. |
since | Present only when the status is not up. Indicates when the current issue began. |
reason | Present only when the status is not up. Provides a human-readable explanation of the issue. |
| List of monitored Demand API endpoints within the group and their operational status. Each endpoint contains the same operational status information, together with its Demand API endpoint path. |
The since and reason fields are only present when the corresponding status is not up. Your integration should not assume that these fields are present for an up status.
The status field indicates the current operational state of an endpoint group or individual endpoint.
Status | Description |
|---|---|
up | The monitored endpoint or group is operating normally. |
minor_outage | The monitored endpoint or group is experiencing degraded service but remains partially operational. |
major_outage | The monitored endpoint or group is experiencing significant service disruption. |
Operational status represents the overall state detected by the Status API. It does not guarantee whether an individual Demand API request will succeed or fail.
You can monitor the status field at either group or endpoint level, depending on your application's requirements.
- Your application depends on an entire functional area.
- You only need to determine whether a broader set of operations is affected.
- You want a simpler monitoring implementation.
If your integration monitors groups, use the group-level status as the operational signal for that group.
- Different endpoints power different user journeys.
- You want to adjust only functionality affected by a specific endpoint.
- You need more granular operational decisions.
If your integration monitors individual endpoints, evaluate the status of the relevant endpoint instead.
The Status API is designed to be polled periodically. Status information is cached server-side for approximately 10 seconds.
- Booking.com recommends polling the Status API every 30 to 60 seconds.
- Because status information is stored, polling more frequently is unlikely to provide newer information and increases request volume.
Store the latest successful response between polls and define how your integration handles stale status information if subsequent Status API requests fail.
The Status API has its own rate limit, independent of the Demand API.
Current limit:
- 60 requests per 60 seconds per partner.
If you exceed the limit, the API returns 429 Too Many Requests.
Your integration should handle 429 responses appropriately and avoid immediately repeating requests that could continue to exceed the limit.
See the Error handling guide for details.
Use the Status API as a signal to adjust your application's behaviour according to your requirements.
Status | Recommended action |
|---|---|
up | Continue normal operation. |
minor_outage | Consider using retries with exponential backoff, adjusting timeouts, or displaying degraded-service messaging where appropriate. |
major_outage | Consider temporarily disabling affected functionality, switching to an alternative workflow, or informing users that the affected service is temporarily unavailable. |
These actions are recommendations rather than requirements. Choose the behaviour that is appropriate for your integration and user journey.
The Status API should complement—not replace—your existing error handling and retry logic. Continue to handle individual Demand API errors, timeouts, and network failures as normal.
Your integration should remain resilient if the Status API itself is temporarily unavailable or a status request fails.
A failure to retrieve status information does not indicate that a monitored Demand API endpoint is unavailable.
If a Status API request fails:
- Continue to handle Demand API requests and responses using your existing error-handling logic.
- Do not interpret a Status API error or timeout as a
minor_outageormajor_outagefor the Demand API. - Consider retaining the latest successfully retrieved status for operational context.
- Take the age of cached status information into account before using it to make operational decisions.
- Retry Status API requests according to your normal retry and backoff strategy.
This separation helps prevent an issue affecting status monitoring from unnecessarily disrupting your Demand API integration.
✅ Poll the status every 30–60 seconds.
✅ Store the latest successful response between scheduled polls.
✅ Use endpoint-level monitoring if only specific features depend on an individual endpoint.
✅ Use group-level monitoring for simpler operational checks.
✅ Continue implementing retries and error handling for individual API requests.
✅ Do not use the Status API as a source of historical monitoring or uptime reporting.
Continue with the API reference for the complete endpoint specification, request format, and response schema.
- API reference Status API
- Review the endpoint schema, response fields, status values, and error codes before implementing your integration.
Store the latest successful response between polls and define how your integration handles stale status information if subsequent Status API requests fail.