Getting startedDeposit API

Integration overview

Deposit API allows you to manage the deposit policy defined for your properties. It is possible to set the policy or update a policy with a full overlay (through the PUT operation), read the policy (using the GET operation), or remove the policy (with the DELETE operation).

When using the PUT operation, it will either add the policy if none exists, or completely replace the existing policy. Once a policy exists, it is important to indicate which rate plans use it. By default, when a policy is added for the first time, no rate plan will be defined to use the policy. To indicate which rate plans should use the new deposit policy, you can use either Partner Central and manually enable rate plans, or use Product API to update rate plans that require a deposit. In Product API, the PATCH operation can be used to update the depositRequired flag on the rate plan resource.

Important link:

The list of changes made to the API are included in the revision history.

If you are looking for information about capabilities offered by additional APIs, such as Property API or Image API, refer to the overview page.

The simplest way to start interacting with Deposit API if you already use other Expedia Group APIs is to access the{propertyId}/depositPolicy endpoint in a browser, and input your API username and password credentials when prompted. You can also explore the API using the Swagger JSON file, which enables you to build an integration to Expedia Group quickly.

Integration overview

Use the Deposit API to read (GET), create/completely update (PUT), or delete (DELETE) deposit policies.


  • JSON: The service will return JSON documents for read, create, and update requests, and accept JSON payloads for create and update requests.
  • Secure HTTP with TLS 1.2 is required. Our API will not accept connections using SSL or TLS below v1.2 protocol.
  • Use valid API login credentials in the HTTP header of the request.
  • Be secured using basic authentication.

Steps to enable online deposit policy creation and updates

  1. The partner submits a form to advise Expedia Group that you would like to adopt Deposit API (please note that an Expedia Group booking API together with a rates and inventory API must be in place prior to developing Deposit API).
  2. An Expedia Group Technical Relationship Manager contacts the partner to set priorities and determine partner needs.
  3. The partner develops Deposit API for reading, creating, and deleting deposit policies. An integration specialist contact will be provided for questions during this phase.
  4. The partner provides one beta property in the production environment to the Integration team that can be used for testing.
  5. The partner works with the Integration team to test and validate the data and troubleshoot any issues.

More details are provided in the Development requirements.

Integration testing

When you are ready to test, contact the Expedia Group Integration Specialist assigned to your account for access to the guides and testing tools.

Testing for this API consists of self-tests using a beta property in Expedia Group’s live production environment. When you have tested as much as possible with your property, contact your Integration Specialist to begin verification of API development.

When you and Expedia Group both confirm that deposit messages have been processed successfully without errors, you will be free to utilize this API with all of your properties.

After launch

  • You must continue to adhere to our License Agreement
  • Monitor your Deposit API connection for any errors
  • Report any errors received in any Deposit API response and how they have been resolved

JSON overview

The service will return JSON documents for read, create, and update requests, and accept JSON payloads for create and update requests.

Requests include:

  • propertyId - each property’s unique Expedia Group identifier is included in the URL of the call
  • resourceId - in this API, it refers to individual deposit policies


  • Success messaging: indicates that no errors occurred
  • Error messaging: appears when nothing included in the Deposit API request could be processed. See the Error handling section for more details.