POST/custom_policy/
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)
- Product Compliance: a maximum of 10 policies per eBay marketplace may be created
- Takeback: a maximum of 3 policies per eBay marketplace may be created
Product Compliance Policy
Product Compliance policies disclose product information as required for regulatory compliance.
Note: A maximum of 10 Product Compliance policies per eBay marketplace 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 3 Takeback policies per eBay marketplace may be created.
Important!As a part of Digital Services Act (DSA) requirements, all custom policies will become global (and no longer marketplace-specific) later in 2023. When this change occurs, a seller will be able to apply any custom policy to listings on any eBay marketplace where they sell, and the X-EBAY-C-MARKETPLACE-ID request header will no longer be relevant.
Input
Resource URI
This method is supported in Sandbox environment. To access the endpoint, just replace the api.ebay.com
root URI with api.sandbox.ebay.com
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.
Header | Type | Description |
---|---|---|
Content-Type | string | This header indicates the format of the request body provided by the client. It's value should be set to application/json. For more information, refer to HTTP request headers. Occurrence: Required |
X-EBAY-C-MARKETPLACE-ID | string | This header parameter specifies the eBay marketplace for the custom policy that is being created. Supported values for this header can be found in the MarketplaceIdEnum type definition. Note: The following eBay marketplaces support Custom Policies:
Important!As a part of Digital Services Act (DSA) requirements, all custom policies will become global (and no longer marketplace-specific) later in 2023. A seller will be able to apply any custom policy to listings on any eBay marketplace where they sell. 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):
https://api.ebay.com/oauth/api_scope/sell.account
eBayUser
See OAuth access tokens for more information.
Request payload
Copy complete valid JSON to clipboardRequest fields
Input container/field | Type | Description |
---|---|---|
description | string | Details of the seller's specific policy and terms for this policy. Occurrence: Required |
label | string | 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. Occurrence: Required |
name | string | The seller-defined name for the custom policy. Names must be unique for policies assigned to the same seller, policy type, and eBay marketplace. Occurrence: Required |
policyType | CustomPolicyTypeEnum | Specifies the type of custom policy being created.
Occurrence: Required |
Output
HTTP response headers
See HTTP response headers for details.
Header | Meaning |
---|---|
Location | The 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.
Status | Meaning |
---|---|
201 | Created |
400 | Bad Request |
409 | Policy Name already used/ Maximum no of policies per site reached |
500 | Internal Server Error |
Error codes
For more on errors, plus the codes of other common errors, see Handling errors.
Code | Domain | Category | Meaning |
---|---|---|---|
20411 | API_ACCOUNT | REQUEST | Invalid/Missing policyType {policyType} |
20412 | API_ACCOUNT | REQUEST | Invalid/Missing label |
20413 | API_ACCOUNT | REQUEST | Invalid/Missing name |
20414 | API_ACCOUNT | REQUEST | Invalid/Missing description |
20415 | API_ACCOUNT | REQUEST | Invalid/Missing marketplaceId |
20417 | API_ACCOUNT | REQUEST | Maximum custom policy per site is reached |
20418 | API_ACCOUNT | REQUEST | This policy name is already used |
20500 | API_ACCOUNT | APPLICATION | System error. |
Warnings
This call has no warnings.
Samples
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.
Input
The details of the take-back custom policy are provided in the request payload. This method also requires you to specify the eBay marketplace ID where the policy will be valid using the X-EBAY-C-MARKETPLACE-ID
HTTP header.
POSThttps://api.ebay.com/sell/account/v1/custom_policy/
Output
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.