Booking.com Payments by Booking configurations API

Update Payments by Booking payout configurations for properties.

Operations 1

POST /connectivity-payments/pbb/configurations Update Payments by Booking configurations #

Documentation

📖
Documentation
https://developers.booking.com/demand/docs/open-api/3.2/demand-api
📖
GettingStarted
https://developers.booking.com/demand/docs/getting-started/overview
📖
RateLimits
https://raw.githubusercontent.com/api-evangelist/booking-com/refs/heads/main/rate-limits/booking-com-rate-limits.yml
📖
Documentation
https://developers.booking.com/metasearch/connect-api/open-api
📖
GettingStarted
https://developers.booking.com/metasearch/connect-api/getting-started/overview
📖
Documentation
https://developers.booking.com/connectivity/docs/openapispecs/charges-api/charges-api-specification
📖
Documentation
https://developers.booking.com/connectivity/docs/openapispecs/contracting-api/contracting-api-specificaion
📖
Documentation
https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-api-specification
📖
Documentation
https://developers.booking.com/connectivity/docs/openapispecs/facilities-api/facilities-openspec-remote-sync
📖
Documentation
https://developers.booking.com/connectivity/docs/openapispecs/payments-api/payments-api-specification
📖
Documentation
https://developers.booking.com/connectivity/docs/openapispecs/payments-by-booking-onboarding-api/pbb-onboarding-api-specification
📖
Documentation
https://developers.booking.com/connectivity/docs/openapispecs/property-details-api/property-details-api-specification
📖
Documentation
https://developers.booking.com/connectivity/docs/openapispecs/reconciliation-api/reconciliation-api-specification
📖
Documentation
https://developers.booking.com/connectivity/docs/openapispecs/rooms-api/rooms-api-specification
📖
Documentation
https://developers.booking.com/connectivity/docs/openapispecs/rooms-api/rooms-api-specification-bulk
📖
Documentation
https://developers.booking.com/connectivity/docs/openapispecs/rooms-api/rooms-api-specification-generated-names
📖
Documentation
https://developers.booking.com/connectivity/docs/openapispecs/valueadds-api/valueadds-api-specification

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/booking-com-payments-by-booking-configurations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

booking-com-payments-by-booking-configurations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Payments by Booking Onboarding Payments by Booking…
  description: Manage Payments by Booking onboarding configurations, check property eligibility for different payout options, and monitor the processing status of configuration update requests.
  contact:
    name: Connectivity Team
    url: https://connect.booking.com
    email: connectivity@booking.com
  version: '1.0'
servers:
- url: https://payments-by-booking-onboarding-api.wiremockapi.cloud/
  description: Mock (stateful simulator)
- url: https://payments-api.booking.com/
  description: Production
security:
- bearerAuth: []
tags:
- name: Payments by Booking configurations
  description: Update Payments by Booking payout configurations for properties.
paths:
  /connectivity-payments/pbb/configurations:
    post:
      tags:
      - Payments by Booking configurations
      summary: Update Payments by Booking configurations
      description: Updates Payments by Booking configurations and returns processing status
      operationId: updatePBBConfigurations
      parameters:
      - name: accept-version
        in: header
        required: false
        schema:
          type: string
          default: '1.0'
        example: '1.0'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PBBConfigurationUpdateRequest'
            examples:
              singleConfigMultipleProperties:
                summary: Single config with multiple properties
                value:
                  payout_configurations:
                  - legal_entity_id: '7293851'
                    property_ids:
                    - 84729163
                    - 55318472
                    payout_method: VCC
                    payout_netting: GROSS
                    payout_frequency: null
                    payin_collection_strategy: PARTIAL
              multipleConfigsDifferentOptions:
                summary: Multiple configs with different payout methods
                value:
                  payout_configurations:
                  - legal_entity_id: '7293851'
                    property_ids:
                    - 84729163
                    payout_method: VCC
                    payout_netting: GROSS
                    payout_frequency: null
                    payin_collection_strategy: PARTIAL
                  - legal_entity_id: '1847293'
                    property_ids:
                    - 55318472
                    payout_method: BT
                    payout_netting: NET
                    payout_frequency: MONTHLY
                    payin_collection_strategy: ALL
              stripeConfiguration:
                summary: STRIPE configuration
                value:
                  payout_configurations:
                  - legal_entity_id: '6182739'
                    property_ids:
                    - 72615839
                    - 91483620
                    payout_method: STRIPE
                    payout_netting: GROSS
                    payout_frequency: null
                    payin_collection_strategy: ALL
              btFrequencyChange:
                summary: BT frequency change
                value:
                  payout_configurations:
                  - legal_entity_id: '9374621'
                    property_ids:
                    - 63947281
                    payout_method: BT
                    payout_netting: GROSS
                    payout_frequency: WEEKLY
                    payin_collection_strategy: ALL
              tooManyProperties:
                summary: Too many properties
                value:
                  payout_configurations:
                  - legal_entity_id: '7293851'
                    property_ids:
                    - 84729163
                    - 55318472
                    - 63947281
                    - 72615839
                    - 91483620
                    - 47382916
                    - 29164738
                    - 61827394
                    - 83741629
                    - 54829163
                    - 70193846
                    payout_method: VCC
                    payout_netting: GROSS
                    payout_frequency: null
                    payin_collection_strategy: PARTIAL
              triggerForbidden:
                summary: 'Trigger 403 - Set Authorization header to: Bearer invalid-scope-token'
                value:
                  payout_configurations:
                  - legal_entity_id: '7293851'
                    property_ids:
                    - 84729163
                    payout_method: VCC
                    payout_netting: GROSS
                    payout_frequency: null
                    payin_collection_strategy: PARTIAL
              triggerServerError:
                summary: 'Trigger 500 - Set Authorization header to: Bearer trigger-500-test'
                value:
                  payout_configurations:
                  - legal_entity_id: '7293851'
                    property_ids:
                    - 84729163
                    payout_method: VCC
                    payout_netting: GROSS
                    payout_frequency: null
                    payin_collection_strategy: PARTIAL
        required: true
      responses:
        '202':
          description: Request accepted for processing
          headers:
            api-version:
              $ref: '#/components/headers/ApiVersion'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PBBConfigurationUpdateStatusResponse'
              examples:
                mixedAcceptedRejected:
                  summary: Mixed accepted and rejected
                  value:
                    meta:
                      ruid: UQ-d1f5b392-8a4c-7e2b-3d9f-6c1a8b5e4d7f
                    data:
                      config_update_details:
                      - property_id: '84729163'
                        request_id: req-a7c4e291-8f3b-4d6e-9c1a-2b5d8f0e3a7c
                        status: ACCEPTED
                        rejection_reason: null
                        requested_at: '2025-06-18T10:32:47Z'
                      - property_id: '55318472'
                        request_id: null
                        status: REJECTED
                        rejection_reason: The property signed up with Payments By Booking in the past, or the requested payout configuration change is not supported.
                        requested_at: null
                    errors: []
                    warnings: []
                allAccepted:
                  summary: All accepted
                  value:
                    meta:
                      ruid: UQ-7e3a9b14-5c8d-2f6e-4a1b-9d7c0e5f3b2a
                    data:
                      config_update_details:
                      - property_id: '72615839'
                        request_id: req-b8d5f302-9a4c-5e7d-1b2f-4c6e9a1d8b3e
                        status: ACCEPTED
                        rejection_reason: null
                        requested_at: '2025-06-18T11:14:23Z'
                      - property_id: '91483620'
                        request_id: req-b8d5f302-9a4c-5e7d-1b2f-4c6e9a1d8b3e
                        status: ACCEPTED
                        rejection_reason: null
                        requested_at: '2025-06-18T11:14:23Z'
                    errors: []
                    warnings: []
                rejectedDifferentLegalEntities:
                  summary: Rejected - different legal entities
                  value:
                    meta:
                      ruid: UQ-2c6a4f81-7b3e-5d9c-8f2a-1e4b9d7c3f6a
                    data:
                      config_update_details:
                      - property_id: '84729163'
                        request_id: null
                        status: REJECTED
                        rejection_reason: The requested configuration has properties from different legal entities.
                        requested_at: null
                      - property_id: '55318472'
                        request_id: null
                        status: REJECTED
                        rejection_reason: The requested configuration has properties from different legal entities.
                        requested_at: null
                    errors: []
                    warnings: []
                rejectedSameAsCurrentConfig:
                  summary: Rejected - same as current config
                  value:
                    meta:
                      ruid: UQ-9f4b2e73-1d6c-8a5f-3e7b-4c1d9a2f6e8b
                    data:
                      config_update_details:
                      - property_id: '38274916'
                        request_id: null
                        status: REJECTED
                        rejection_reason: The requested configuration is the same as current.
                        requested_at: null
                    errors: []
                    warnings: []
                rejectedUnsupportedSwitch:
                  summary: Rejected - unsupported configuration switch
                  value:
                    meta:
                      ruid: UQ-6a1c8d35-4f7b-9e2a-5c3d-8b0f4e7a1c9d
                    data:
                      config_update_details:
                      - property_id: '63947281'
                        request_id: null
                        status: REJECTED
                        rejection_reason: The property signed up with Payments By Booking in the past, or the requested payout configuration change is not supported.
                        requested_at: null
                    errors: []
                    warnings: []
                stripeMixedResult:
                  summary: STRIPE - mixed result
                  value:
                    meta:
                      ruid: UQ-3b7e9f42-8c1a-6d4e-2f5b-9a0c3d7e1f4b
                    data:
                      config_update_details:
                      - property_id: '72615839'
                        request_id: req-c9f2b481-3e6d-7a5f-2c4b-8d1e9f0a3c5b
                        status: ACCEPTED
                        rejection_reason: null
                        requested_at: '2025-06-18T14:07:52Z'
                      - property_id: '47382916'
                        request_id: null
                        status: REJECTED
                        rejection_reason: The requested configuration is ineligible for the property.
                        requested_at: null
                    errors: []
                    warnings: []
        '400':
          description: Invalid request payload.
          headers:
            api-version:
              $ref: '#/components/headers/ApiVersion'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorResponse'
              examples:
                tooManyProperties:
                  summary: Too many properties
                  value:
                    meta:
                      ruid: UQ-5d8c3a71-2f9b-4e6d-1a7c-3b0f9e4d8c2a
                    data: null
                    errors:
                    - description: The number of property_ids exceeds the maximum allowed limit of 10.
                      message: BAD_REQUEST
                      status_code: 400
                      debug_message: null
                    warnings: []
                duplicateProperties:
                  summary: Duplicate properties
                  value:
                    meta:
                      ruid: UQ-1e9f4b82-6c3d-5a7f-8b2e-4d0c9a1f7b3e
                    data: null
                    errors:
                    - description: The request contains duplicate property_ids.
                      message: BAD_REQUEST
                      status_code: 400
                      debug_message: null
                    warnings: []
        '401':
          description: Unauthorized. Missing or invalid authentication token.
          headers:
            api-version:
              $ref: '#/components/headers/ApiVersion'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidTokenResponse'
              examples:
                unauthorizedRequest:
                  summary: Invalid or expired token
                  value:
                    meta:
                      ruid: UQ-c7d2e481-9f3a-4b6c-8e5d-1a2b3c4d5e6f
                    data: null
                    errors:
                    - description: Invalid or expired token.
                      message: UNAUTHORIZED
                      status_code: 401
                      debug_message: null
                    warnings: []
        '403':
          description: Access Denied!
          headers:
            api-version:
              $ref: '#/components/headers/ApiVersion'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedRequestResponse'
              examples:
                accessDenied:
                  summary: Insufficient permissions
                  value:
                    meta:
                      ruid: UQ-d8e3f592-0a4b-5c7d-9f6e-2b3c4d5e6f7a
                    data: null
                    errors:
                    - description: Access Denied!
                      message: FORBIDDEN
                      status_code: 403
                      debug_message: null
                    warnings: []
        '429':
          description: Rate limit exceeded. Maximum 30 requests per minute.
          headers:
            api-version:
              $ref: '#/components/headers/ApiVersion'
        '500':
          description: The request failed with an internal server error.
          headers:
            api-version:
              $ref: '#/components/headers/ApiVersion'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
              examples:
                internalError:
                  summary: Internal server error
                  value:
                    meta:
                      ruid: UQ-e9f4a6b3-1b5c-6d8e-0a7f-3c4d5e6f7a8b
                    data: null
                    errors:
                    - description: The request failed with an internal server error.
                      message: INTERNAL_SERVER_ERROR
                      status_code: 500
                      debug_message: null
                    warnings: []
components:
  schemas:
    Warning:
      type: object
      description: Warning information
      properties:
        message:
          type: string
          description: Warning message
          example: string
    PBBConfigurationUpdateStatusDetails:
      description: Information regarding Payments by Booking configuration change request for properties
      properties:
        config_update_details:
          type: array
          description: Status information for Payments by Booking configuration change requested for properties
          items:
            $ref: '#/components/schemas/PBBConfigurationUpdateStatusDetail'
    PBBConfigurationUpdateStatusDetail:
      description: Status information regarding validated Payments by Booking configuration change request for a property (update response)
      properties:
        property_id:
          type: string
          description: Property identifier
        request_id:
          type:
          - string
          - 'null'
          description: Idempotency key of the latest accepted Payments by Booking configuration change request. Null when status is REJECTED.
        status:
          type: string
          description: Payments by Booking configuration change status for property
        rejection_reason:
          type:
          - string
          - 'null'
          description: Reason for rejection of Payments by Booking configuration change request. Null when request is accepted.
        requested_at:
          type:
          - string
          - 'null'
          description: Payments by Booking configuration change requested at. Null when status is REJECTED.
    PBBConfigurationUpdateStatusResponse:
      description: Response of Payments by Booking configurations update request with property-level processing status of accepted configuration change request.
      properties:
        meta:
          $ref: '#/components/schemas/DefaultMeta'
        data:
          $ref: '#/components/schemas/PBBConfigurationUpdateStatusDetails'
        errors:
          type: array
          maxItems: 0
          items: {}
        warnings:
          type: array
          maxItems: 0
          items: {}
    Error:
      type: object
      description: Error response containing details about the error
      properties:
        description:
          type: string
          description: Description of the error
        message:
          type: string
          description: Error message
        status_code:
          type: integer
          format: int32
          description: HTTP status code for the error
        debug_message:
          type:
          - string
          - 'null'
          description: Detailed debug message for the error
    PBBConfigurationUpdateRequest:
      properties:
        payout_configurations:
          type: array
          items:
            $ref: '#/components/schemas/PayoutConfiguration'
    InvalidTokenResponse:
      type: object
      description: Response when the authentication token is missing, invalid, or expired.
      properties:
        meta:
          $ref: '#/components/schemas/DefaultMeta'
        data:
          type:
          - object
          - 'null'
          description: Response data (null for error responses)
        errors:
          type: array
          description: List of errors for the response
          items:
            $ref: '#/components/schemas/Error'
        warnings:
          type: array
          description: List of warnings for the response
          maxItems: 0
          items: {}
    UnauthorizedRequestResponse:
      type: object
      description: Response when the token is valid but does not have access to the requested resource.
      properties:
        meta:
          allOf:
          - $ref: '#/components/schemas/DefaultMeta'
          description: The meta
        data:
          type:
          - object
          - 'null'
          description: Response data (null for error responses)
        errors:
          type: array
          description: List of errors for the response
          items:
            $ref: '#/components/schemas/Error'
        warnings:
          type: array
          description: List of warnings for the response
          items:
            $ref: '#/components/schemas/Warning'
    InternalServerErrorResponse:
      type: object
      description: Response when the request failed with an internal reason
      properties:
        meta:
          allOf:
          - $ref: '#/components/schemas/DefaultMeta'
          description: The meta
        data:
          type:
          - object
          - 'null'
          description: Response data (null for error responses)
        errors:
          type: array
          description: List of errors for the response
          items:
            $ref: '#/components/schemas/Error'
        warnings:
          type: array
          description: List of warnings for the response
          items:
            $ref: '#/components/schemas/Warning'
    DefaultMeta:
      type: object
      description: Metadata for the response
      properties:
        ruid:
          type: string
          description: Request unique identifier
          example: string
    PayoutConfiguration:
      required:
      - legal_entity_id
      - property_ids
      - payout_method
      - payout_netting
      - payin_collection_strategy
      properties:
        legal_entity_id:
          type: string
        property_ids:
          description: <=10 property IDs per request. All `property_ids` in a request should belong to a common legal entity ID.
          type: array
          maxItems: 10
          items:
            type: integer
        payout_method:
          type: string
          description: 'The method by which Booking.com remits payments to the partner for this property. Possible values: VCC, BT, STRIPE.'
        payout_netting:
          type: string
          description: 'Defines how commissions or payment-related costs are deducted directly from each payout. Possible values: GROSS, NET.'
        payout_frequency:
          type:
          - string
          - 'null'
          description: 'How often payouts should be executed to the partner for this property. Applies mainly when payout_method is ''BT''. Possible values: DAILY, WEEKLY, MONTHLY. Set to null when payout_method is VCC or STRIPE.'
        payin_collection_strategy:
          type: string
          description: 'Payin collection strategy. Possible values: PARTIAL, ALL.'
    BadRequestErrorResponse:
      type: object
      description: Response when the request doesn't have valid parameters
      properties:
        meta:
          allOf:
          - $ref: '#/components/schemas/DefaultMeta'
          description: The meta
        data:
          type: object
          description: Data containing required information
        errors:
          type: array
          description: List of errors for the response
          items:
            $ref: '#/components/schemas/Error'
        warnings:
          type: array
          description: List of warnings for the response
          items:
            $ref: '#/components/schemas/Warning'
  headers:
    ApiVersion:
      description: The response includes the API version used. Either the version requested, or the default if none was specified in the request.
      schema:
        type: string
      example: '1.0'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token for authentication. Use your API credentials to obtain a token.
x-tagGroups:
- name: API Endpoints
  tags:
  - Payments eligibility details for partners
  - Payments by Booking configurations
  - Payments by Booking configurations status
- name: Documentation
  tags:
  - About Try it