Skip to main content


This method creates a new custom policy in which a seller specifies their terms for complying with local governmental regulations.

Two Custom Policy types are supported:

  • Product Compliance (PRODUCT_COMPLIANCE)
  • Takeback (TAKE_BACK)
Each Custom Policy targets a policyType. Multiple policies may be created as follows:
  • Product Compliance: a maximum of 60 policies per seller may be created
  • Takeback: a maximum of 18 policies per seller may be created
A successful create policy call returns an HTTP status code of 201 Created with the system-generated policy ID included in the Location response header.

Product Compliance Policy

Product Compliance policies disclose product information as required for regulatory compliance.

Note: A maximum of 60 Product Compliance policies per seller may be created.

Takeback Policy

Takeback policies describe the seller's legal obligation to take back a previously purchased item when the buyer purchases a new one.

Note: A maximum of 18 Takeback policies per seller may be created.

Note: Custom policies are no longer coupled with a specific eBay marketplace, so the EBAY-C-MARKETPLACE-ID request header is no longer needed or relevant for any of the Custom Policy methods.


Resource URI


This method is supported in Sandbox environment. To access the endpoint, just replace the root URI with

URI parameters

This method has no URI parameters.

HTTP request headers

All requests made to eBay REST operations require you to provide the Authorization HTTP header for authentication authorization.

The table below shows additional HTTP request headers that are either required, conditionally required, or strongly recommended for this method. Other standard HTTP request headers- opens rest request components page (not in this table) can also be used, but they are optional.

Content-TypestringThis header indicates the format of the request body provided by the client. Its value should be set to application/json.

For more information, refer to HTTP request headers.

Occurrence: Required

OAuth scope

This request requires an access token created with the authorization code grant flow, using one or more scopes from the following list (please check your Application Keys page for a list of OAuth scopes available to your application):


See OAuth access tokens for more information.

Request payload

Copy complete valid JSON to clipboard

Request fields

Input container/fieldTypeDescription

Details of the seller's specific policy and terms for this policy.

Max length: 15,000

Occurrence: Required


Customer-facing label shown on View Item pages for items to which the policy applies. This seller-defined string is displayed as a system-generated hyperlink pointing to detailed policy information.

Max length: 65

Occurrence: Required


The seller-defined name for the custom policy. Names must be unique for policies assigned to the same seller and policy type.

Note: This field is visible only to the seller.
Max length: 65

Occurrence: Required


Specifies the type of custom policy being created.

Two Custom Policy types are supported:

  • Product Compliance (PRODUCT_COMPLIANCE)
  • Takeback (TAKE_BACK)

Occurrence: Required


HTTP response headers

See HTTP response headers for details.

LocationThe location response header contains the URL to the newly created custom policy. The URL includes the eBay-assigned custom_policy_id, which can be used to reference the policy.

Response payload

This call has no payload.

Response fields

This call has no field definitions.

HTTP status codes

This call can return one of the following HTTP status codes. For an overview of the status codes, see HTTP status codes in Using eBay RESTful APIs.

400Bad Request
409Policy Name already used/ Maximum no of policies per site reached
500Internal Server Error

Error codes

For more on errors, plus the codes of other common errors, see Handling errors.

20411API_ACCOUNTREQUESTInvalid/Missing policyType {policyType}
20412API_ACCOUNTREQUESTInvalid/Missing label
20413API_ACCOUNTREQUESTInvalid/Missing name
20414API_ACCOUNTREQUESTInvalid/Missing description
20415API_ACCOUNTREQUESTInvalid/Missing marketplaceId
20417API_ACCOUNTREQUESTMaximum custom policy per site is reached
20418API_ACCOUNTREQUESTThis policy name is already used


This call has no warnings.


New to making API calls? Please see Making a Call.

Note: Identifiers, such as order IDs or user IDs, and personal data in these samples might be anonymized or may no longer be active on eBay. If necessary, substitute current, relevant eBay data in your requests.

Sample 1: Create a Take-back custom policy

This sample demonstrates how to create a take-back custom policy.


The details of the take-back custom policy are provided in the request payload.



If the call is successful, eBay returns an HTTP status code of 201 Created and the call URI for the newly-created policy. The URI will include the unique identifier for the policy, an ID that will be needed for 'get' and 'update' methods. Additionally, the system-generated policy ID is included in the Location response header. There is no response payload.