Skip to content
Last updated

Integrate the Status API

Learn how to authenticate, poll the Status API, interpret operational status, and use its responses to build resilient integrations.


Overview

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.

View status in the dashboard

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.

Before you begin

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.

Authentication

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/json

If the X-Partner-Id header is missing or invalid, the API returns 401 Unauthorized.

See the Error handling guide for more details.

Retrieve the current status

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"
        }
      ]
    }
  ]
}

Understand the response

Each endpoint group includes the following information.

Field
Description
groupName of the endpoint group.
statusCurrent operational status of the group.
updated_atUTC timestamp when the group status was last evaluated.
sincePresent only when the status is not up. Indicates when the current issue began.
reasonPresent only when the status is not up. Provides a human-readable explanation of the issue.

endpoints

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.

Understand operational statuses

The status field indicates the current operational state of an endpoint group or individual endpoint.

Status
Description
upThe monitored endpoint or group is operating normally.
minor_outageThe monitored endpoint or group is experiencing degraded service but remains partially operational.
major_outageThe 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.

Choose group or endpoint monitoring

You can monitor the status field at either group or endpoint level, depending on your application's requirements.

Monitor groups when

  • 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.

Monitor individual endpoints when

  • 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.

Poll the Status API

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.

genius-bulb Store the latest successful response between polls and define how your integration handles stale status information if subsequent Status API requests fail.

Rate limiting

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
upContinue normal operation.
minor_outageConsider using retries with exponential backoff, adjusting timeouts, or displaying degraded-service messaging where appropriate.
major_outageConsider 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.

Handle Status API failures

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_outage or major_outage for 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.

Best practices

✅ 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.


Next steps

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.