Contracting API (1.0.0)

Use the Contracting API to invite a new partner on Booking.com, check whether a partner has signed the contract, resend invitation mail and retrieve the legal entity of the partner.

Authentication

The Contracting API supports token-based authentication. Each request must have an Authorization header containing a JWT token. Manage your machine accounts in the Connectivity Portal. See also the Authentication page of the documentation.

Message formats

The Contracting API accepts and returns JSON.

Documentation

Read the Contracting API documentation for more details about working with this API.

Languages
Servers
Test static response
https://developers.booking.com/_mock/connectivity/docs/openapispecs/contracting-api/contracting-api-specificaion/
Test using live endpoint
https://supply-xml.booking.com/contracts-api/

Manage contracts

Create, update or resend contract details.

Operations

Create a contract and legal entity ID

Request

Use this endpoint to create a partner card for a new partner and invite them to sign a contract with Booking.com

Headers
Authorizationstring
Bodyapplication/json
citystring

City name of the partner company.

company_namestringrequired

Commercial name of the company. Use the partner name if a commercial name is not available.

contract_countriesArray of strings

List of country codes where the partner has properties.

countrystring

Country code of the partner company.

is_testinteger

Indicates whether to create a test partner. Set to 1 for test partners, 0 for production partners.

Enum01
legal_contact_emailstringrequired

Contact email of the partner. This is treated as the unique identifier for the partner.

legal_contact_namestringrequired

Contact name of the person authorized to sign.

legal_contact_phone_numberstring

Contact phone number of the partner.

legal_namestring

Legal name of the company used for official registration. Use the partner name if a legal name is not available.

preferred_languagestringrequired

The partner's preferred language code for communication.

streetstring

Street name of the partner company.

total_number_of_propertiesinteger(int32)

Total number of properties that the partner has.

websitestring

Website of the partner, if any.

zipcodestring

Zipcode of the partner company.

curl -i -X POST \
  https://developers.booking.com/_mock/connectivity/docs/openapispecs/contracting-api/contracting-api-specificaion/partners/invite \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -d '{
    "city": "Amsterdam",
    "company_name": "Parker hotels",
    "country": "nl",
    "legal_contact_email": "peter.park+test01@besthotelxyz.abc",
    "contract_countries": [
      "fr",
      "nl"
    ],
    "legal_contact_name": "Swan Park",
    "legal_contact_phone_number": "+1234567890",
    "legal_name": "Park hotels BV",
    "preferred_language": "NL",
    "street": "Streetstreet",
    "total_number_of_properties": 2,
    "zipcode": "1000AB",
    "website": "https://www.besthotelxyz.abc",
    "is_test": "1"
  }'

Responses

OK

Bodyapplication/json
dataobject(InvitedPartnerObject)required
data.​legal_entity_idinteger(int32)required

The unique legal entity ID of the partner.

Example: 22567
errorsArray of objects(DiagnosisList)
metaobjectrequired
meta.​ruidstringrequired

Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support.

Example: "XNlckRhdGEkYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY3ODkwQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoxMjM0NTY3ODkw="
warningsArray of objects(DiagnosisList)
Response
application/json
{ "meta": { "ruid": "XNlckRhdGEkYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY3ODkwQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoxMjM0NTY3ODkw=" }, "errors": [], "data": { "legal_entity_id": 22567 }, "warnings": [] }

Update an existing contract

Request

Use this endpoint to send addendum to the partner to add more countries where properties can be listed, only if partner has already a signed contract with Booking.com.

Headers
Authorizationstring
Bodyapplication/json
additional_countriesArray of stringsrequired

List of country codes where partner has properties for which addendum should be signed.

is_teststring

Flag to filter in/out test partner cards. Setting it to 1 will look for test partners only, 0 will look for non-test partners only.

Enum"0""1"
le_idinteger(int32)

Legal entity ID of the partner. This is treated as the unique identifier for the partner.

legal_contact_emailstring

Contract contact email ID of the partner. This is treated as the unique identifier for the partner.

curl -i -X POST \
  https://developers.booking.com/_mock/connectivity/docs/openapispecs/contracting-api/contracting-api-specificaion/partners/addendum \
  -H 'Authorization: string' \
  -H 'Content-Type: application/json' \
  -d '{
    "additional_countries": [
      "be"
    ],
    "le_id": 14379109
  }'

Responses

OK

Bodyapplication/json
dataobject(AddendumObject)required
data.​statusstringrequired

Status message indicating whether the addendum email was sent successfully.

Example: "Addendum invitation sent to Partner."
data.​successinteger(int32)required

A flag that indicates if the operation finished successfully.

Example: 1
errorsArray of objects(DiagnosisList)
metaobjectrequired
meta.​ruidstringrequired

Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support.

Example: "UmFuZG9tSVYkc2Rl...="
warningsArray of objects(DiagnosisList)
Response
application/json

Response when adding countries to a partner with a signed contract. Addendum invitation is successfully sent to the partner.

{ "data": { "success": 1, "status": "Addendum invitation sent to Partner." }, "errors": [], "warnings": [], "meta": { "ruid": "UlPrZG9tSVYkc2RlIyh9YeobhK72bvPcGuKpIGBV43CLA0/ew3f32vvfbcDMZPMJ2upJzzPiWPpwqgrzqgrYuylZFVYodyywjTysIR2C7iIMdzNV3jh==" } }

Resend contract details

Request

Use this endpoint to resend the invitation email to the partner's registered contract email address.

Bodyapplication/json
is_testinteger

Flag to filter in/out test partner cards. Setting it to 1 will look for test partners only, 0 will look for non-test partners only.

Enum01
legal_contact_emailstringrequired

Contract contact email id of the partner. This is treated as the unique identifier for the partner.

curl -i -X POST \
  https://developers.booking.com/_mock/connectivity/docs/openapispecs/contracting-api/contracting-api-specificaion/partners/resend-invite \
  -H 'Content-Type: application/json' \
  -d '{
    "legal_contact_email": "peter.park+test01@besthotelxyz.abc"
  }'

Responses

OK

Bodyapplication/json
dataobject(ReInviteObject)required
data.​statusstringrequired

Status message indicating whether the invitation email was resent successfully.

Example: "Invitation sent to Partner."
data.​successinteger(int32)required

A flag that indicates if the operation finished successfully.

Example: 1
errorsArray of objects(DiagnosisList)
metaobjectrequired
meta.​ruidstringrequired

Response Unique Identifier. Refer to this when talking to Booking.com Connectivity Support.

Example: "UmFuZG9tSVYkc2Rl...="
warningsArray of objects(DiagnosisList)
Response
application/json
{ "meta": { "ruid": "UmFuZG9tSVYkc2RlIyh9Ya+pg/21ggUOrSQsocNZo8+onmuF/0Np5bNl9bXkIHOzcL5xe4+2Q5m5Yz4XU6LD/TrgwjmmpchX1cKrgLwhK4o=" }, "data": { "status": "Invitation sent to Partner.", "success": 1 }, "warnings": [], "errors": [] }

Request access

Request access to existing partner.

Operations

About Try it

Learn how to effectively use the Try it feature in the Contracting API documentation.

Use the Try it feature to send test request examples to the API endpoints directly from the developer portal and depending on the selected environment either see static, pre-built responses or dynamic responses from a test property.