Skip to content

Checking the onboarding request status

The Payments Configuration Status API allows you to check the status of your Payments by Booking onboarding or configuration change request.

We recommend that you integrate with the notification service to receive status updates. When you receive a notification, call the Configuration Status API to fetch the latest status details.

Required connection type

You need to be connected with the Payments by Booking.com onboarding connection type to use this API.

For more information on the connection types, see Connections API Overview.

To simplify the process of setting up a connection between Booking.com and your platform, you can use Quick Connect.

With Quick Connect, you can request to connect a property directly from your interface. You can use it for already connected properties and for newly connecting properties. For more information, see this deck.

Ways to check the status

POST https://payments-api.booking.com/connectivity-payments/pbb/configurations/status

You can check the status of the request by using either:

  • Request ID – in case a configuration has already been accepted (you've received a notification that the given configuration has been ACCEPTED or a response from calling the Payments Configuration API that the configuration has been ACCEPTED), or
  • Property ID – to check the status of an individual property, or a set of properties in case you submitted multiple requests for different properties belonging to the same legal ID.

The API only returns information for requests that were successfully validated and accepted for processing. Therefore:

  • In case request_id is used in the request, the API returns the latest status of all the ACCEPTED requests, if available.

  • In case property_ids is used in the request, the API returns the latest status of the most recently ACCEPTED request for the given property, if available.

Example request: using request ID

{
   "property_ids": [],
   "request_id": "681fb7d4-a469-470a-b105-faba177bfc57",
   "kyc_callback_url": "https://www.google.com"
}

Example request: using property IDs

One request can have a maximum of 10 property IDs. All property IDs must belong to the same legal ID.

{
    "property_ids": ["1234567","7654321"],
    "request_id": null,
    "kyc_callback_url": "https://www.google.com"
}

Request elements

The following table describes the request elements:

ElementDescriptionType
:: property_idsRequired if request_id is not used. Specifies the ID of the property or an array of property IDs for which requests were submitted. All property IDs must belong to the same legal entity. Leave empty if checking the status with request_id.string
:: request_idRequired if property_ids is not used. Specifies the identifier of the ACCEPTED configuration that you want to check the status of. The request ID is received in the response to the onboarding/configuration change request. Set to null if checking the status with property_ids.string
:: kyc_callback_urlRequired. Specifies the callback URL for the page where the user should be redirected after completing the pending actions that they receive in the response (e.g.SUBMIT_KYC).string

Headers

ElementDescriptionTypeRequired/Optional
accept-versionSpecifies the version of the API you want to use. Accepted value is 1.0. If not specified, defaults to the latest version.stringoptional

Response example

The response structure is identical for both request methods:

{
  "meta": {
    "ruid": "9693efa1-fda3-407f-a700-62fa67bbe4e2"
  },
  "data": {
    "config_update_details": [
      {
        "property_id": "1234567",
        "request_id": "681fb7d4-a469-470a-b105-faba177bfc57",
        "status": "WAITING",
        "requested_at": "2025-05-02",
        "actions": [
          {
           "reference": "https://connect.stripe.com/setup/c/acct_123/abc",
           "type": "SUBMIT_KYC"
          }
        ]
      },
      {
        "property_id": "7654321",
        "request_id": "1f11033b-7d11-65b3-acb0-7108ea9d653b",
        "status": "IN_PROGRESS",
        "requested_at": "2025-05-01",
        "actions": []
      }
    ]
  },
  "errors": [],
  "warnings": []
}

Response headers

HeaderDescriptionType
api-versionThe latest version of the API used to generate the response.string

Response elements

The following table describes the response elements:

ElementDescriptionType
::: property_idUnique identifier of the property for which the status is retrieved.string
::: request_idIdentifier of the ACCEPTED configuration for which the status is retrieved.string
::: statusStatus of the request. For more information, see Request statuses.string
::: rejection_reasonIn case the request has been rejected, this field provides the reason. For more information, see Request rejection reasons.string
::: requested_atDate when the request was sent.string
::: actionsIndicates any steps the partner must complete before the request can proceed.string
:::: referenceReference to the action, such as a URL.string
:::: typeAction the partner needs to take.string
errorsContains potential errors. These can help you understand what went wrong with your request. For more information, see Response codes.array
warningsContains potential warnings. These can help you improve your requests.array

Request statuses

StatusMeaning
ACCEPTEDRequest was successfully validated and accepted for processing.
WAITINGRequest requires an action from partner's side. In case of Stripe, you need to complete the KYP form. For more details, see Note for Stripe.
IN_PROGRESSRequest is in progress.
SUCCESSFULRequest completed successfully. In case of bank transfers, you need to provide your bank details on Extranet. For more details, see Note for bank transfers.
FAILEDRequest failed. Retry or reach out to the Connectivity Support team.
REJECTEDRequest was rejected. See rejection_reason.

Request rejection reasons

ReasonMeaning
The requested configuration is ineligible for the assetThe property doesn't meet eligibility criteria for onboarding.
The legal_entity_id does not existThe provided legal entity ID doesn't exist.
The requested configuration is the same as currentThe submitted payout configuration is identical to the current payout setup.
The requested configuration has properties from different legal entitiesOne or more property IDs in the submitted configuration aren't associated with the provided legal entity ID.
Previous request is in processAn onboarding request for this asset is already being processed; only one active request is allowed.
The property signed up with Payments By Booking in the past, or the requested payout configuration change is not supportedThe property has been enrolled to Payments by Booking before, or the payout configuration change in not supported.
The KYC process is blockedThe KYC process for this asset is currently blocked and cannot proceed.

Rate limiting

To prevent excessive load on our systems, we limit the number of API calls that a provider can make per minute. For the Payments Configuration Status API, the limit is 30 requests per minute.

Response codes

This table lists and describes the response codes that the API can return.

CodeTypeDescription
200SuccessSuccessfully retrieved the status.
400Non-retryable failureReturned in case of multiple reasons. Check the description.
401Non-retryable failureMachine account is not authenticated.
403Non-retryable failureMachine account is not authorized to fetch the requested information.
404Non-retryable failureRequest ID doesn't exist.
429Retryable errorYou exceeded the rate limit.
500Retryable failureRequest failed with an internal server error.