eBay Account API
The eBay Account API allows sellers to programmatically configure their seller accounts on eBay, including payment policies, return policies, fulfillment policies, sales tax tables, and program opt-ins.
The eBay Account API allows sellers to programmatically configure their seller accounts on eBay, including payment policies, return policies, fulfillment policies, sales tax tables, and program opt-ins.
openapi: 3.0.0
info:
title: eBay Account API
description: The <b>Account API</b> gives sellers the ability to configure their eBay seller accounts, including the seller's policies (eBay business policies and seller-defined custom policies), opt in and out of eBay seller programs, configure sales tax tables, and get account information. <br><br>For details on the availability of the methods in this API, see <a href="/api-docs/sell/account/overview.html#requirements">Account API requirements and restrictions</a>.
contact:
name: eBay Inc,
license:
name: eBay API License Agreement
url: https://go.developer.ebay.com/api-license-agreement
version: v1.9.2
servers:
- url: https://api.ebay.com{basePath}
description: Production
variables:
basePath:
default: "/sell/account/v1"
paths:
"/custom_policy/":
get:
tags:
- Custom_policy
description: This method retrieves the list of custom policies specified by the <b>policy_types</b> query parameter.<br><br><span class="tablenote"><b>Note:</b> Custom policies are no longer coupled with a specific eBay marketplace, so the <b>EBAY-C-MARKETPLACE-ID</b> request header is no longer needed or relevant for any of the Custom Policy methods.</span>
operationId: getCustomPolicies
parameters:
- name: policy_types
in: query
description: This query parameter specifies the type of custom policies to be returned.<br><br>Multiple policy types may be requested in a single call by providing a comma-delimited set of all policy types to be returned.<br><br><span class="tablenote"><strong>Note:</strong> Omitting this query parameter from a request will also return policies of all policy types.</span><br> See the <a href="/api-docs/sell/account/types/api:CustomPolicyTypeEnum" target="_blank ">CustomPolicyTypeEnum</a> type for a list of supported values.
required: false
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
"$ref": "#/components/schemas/CustomPolicyResponse"
'400':
description: Bad Request
x-response-codes:
errors:
'20411':
domain: API_ACCOUNT
category: REQUEST
description: Invalid/Missing policyTypes {policyType}
'20415':
domain: API_ACCOUNT
category: REQUEST
description: Invalid/Missing marketplaceId
'500':
description: Internal Server Error
x-response-codes:
errors:
'20500':
domain: API_ACCOUNT
category: APPLICATION
description: System error.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.account
- https://api.ebay.com/oauth/api_scope/sell.account.readonly
post:
tags:
- Custom_policy
description: 'This method creates a new custom policy in which a seller specifies their terms for complying with local governmental regulations. <br/><br/>Two Custom Policy types are supported: <ul><li>Product Compliance (PRODUCT_COMPLIANCE)</li> <li>Takeback (TAKE_BACK)</li></ul>Each Custom Policy targets a <b>policyType</b>. Multiple policies may be created as follows: <ul><li><b>Product Compliance</b>: a maximum of 60 policies per seller may be created</li> <li><b>Takeback</b>: a maximum of 18 policies per seller may be created</li></ul>A successful create policy call returns an HTTP status code of <b>201 Created</b> with the system-generated policy ID included in the <b>Location</b> response header.<br/><br/><b>Product Compliance Policy</b><br/><br/>Product Compliance policies disclose product information as required for regulatory compliance.<br/><br/><span class="tablenote"><strong>Note:</strong> A maximum of 60 Product Compliance policies per seller may be created.</span> <br/><br/> <b>Takeback Policy</b><br/><br/>Takeback policies describe the seller''s legal obligation to take back a previously purchased item when the buyer purchases a new one.<br/><br/><span class="tablenote"><strong>Note:</strong> A maximum of 18 Takeback policies per seller may be created.</span><br><br><span class="tablenote"><b>Note:</b> Custom policies are no longer coupled with a specific eBay marketplace, so the <b>EBAY-C-MARKETPLACE-ID</b> request header is no longer needed or relevant for any of the Custom Policy methods.</span>'
operationId: createCustomPolicy
parameters:
- name: Content-Type
in: header
description: This header indicates the format of the request body provided by the client. Its value should be set to <b>application/json</b>. <br><br> For more information, refer to <a href="/api-docs/static/rest-request-components.html#HTTP" target="_blank ">HTTP request headers</a>.
required: true
schema:
type: string
requestBody:
description: Request to create a new Custom Policy.
content:
application/json:
schema:
description: Request to create a new Custom Policy.
"$ref": "#/components/schemas/CustomPolicyCreateRequest"
required: true
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
description: The <b>location</b> response header contains the URL to the newly created custom policy. The URL includes the eBay-assigned <code>custom_policy_id</code>, which can be used to reference the policy.
content:
application/json:
schema:
type: object
'400':
description: Bad Request
x-response-codes:
errors:
'20411':
domain: API_ACCOUNT
category: REQUEST
description: Invalid/Missing policyType {policyType}
'20412':
domain: API_ACCOUNT
category: REQUEST
description: Invalid/Missing label
'20413':
domain: API_ACCOUNT
category: REQUEST
description: Invalid/Missing name
'20414':
domain: API_ACCOUNT
category: REQUEST
description: Invalid/Missing description
'20415':
domain: API_ACCOUNT
category: REQUEST
description: Invalid/Missing marketplaceId
'20417':
domain: API_ACCOUNT
category: REQUEST
description: Maximum custom policy per site is reached
'20418':
domain: API_ACCOUNT
category: REQUEST
description: This policy name is already used
'409':
description: Policy Name already used/ Maximum no of policies per site reached
'500':
description: Internal Server Error
x-response-codes:
errors:
'20500':
domain: API_ACCOUNT
category: APPLICATION
description: System error.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.account
"/custom_policy/{custom_policy_id}":
get:
tags:
- Custom_policy
description: This method retrieves the custom policy specified by the <b>custom_policy_id</b> path parameter.<br><br><span class="tablenote"><b>Note:</b> Custom policies are no longer coupled with a specific eBay marketplace, so the <b>EBAY-C-MARKETPLACE-ID</b> request header is no longer needed or relevant for any of the Custom Policy methods.</span>
operationId: getCustomPolicy
parameters:
- name: custom_policy_id
in: path
description: This path parameter is the unique identifier of the custom policy to retrieve.<br><br> This ID can be retrieved for a custom policy by using the <a href="/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies" target="_blank ">getCustomPolicies</a> method.
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
"$ref": "#/components/schemas/CustomPolicy"
'400':
description: Bad Request
x-response-codes:
errors:
'20415':
domain: API_ACCOUNT
category: REQUEST
description: Invalid/Missing marketplaceId
'20416':
domain: API_ACCOUNT
category: REQUEST
description: Invalid/Missing customPolicyId
'404':
description: Not Found
'500':
description: Internal Server Error
x-response-codes:
errors:
'20500':
domain: API_ACCOUNT
category: APPLICATION
description: System error.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.account
- https://api.ebay.com/oauth/api_scope/sell.account.readonly
put:
tags:
- Custom_policy
description: This method updates an existing custom policy specified by the <b>custom_policy_id</b> path parameter. This method overwrites the policy's <b>Name</b>, <b>Label</b>, and <b>Description</b> fields. Therefore, the complete, current text of all three policy fields must be included in the request payload even when one or two of these fields will not actually be updated.<br/> <br/>For example, the value for the <b>Label</b> field is to be updated, but the <b>Name</b> and <b>Description</b> values will remain unchanged. The existing <b>Name</b> and <b>Description</b> values, as they are defined in the current policy, must also be passed in. <br/><br/>A successful policy update call returns an HTTP status code of <b>204 No Content</b>.<br><br><span class="tablenote"><b>Note:</b> Custom policies are no longer coupled with a specific eBay marketplace, so the <b>EBAY-C-MARKETPLACE-ID</b> request header is no longer needed or relevant for any of the Custom Policy methods.</span>
operationId: updateCustomPolicy
parameters:
- name: custom_policy_id
in: path
description: This path parameter is the unique identifier of the custom policy to retrieve.<br><br> This ID can be retrieved for a custom policy by using the <a href="/api-docs/sell/account/resources/custom_policy/methods/getCustomPolicies" target="_blank ">getCustomPolicies</a> method.
required: true
schema:
type: string
- name: Content-Type
in: header
description: This header indicates the format of the request body provided by the client. Its value should be set to <b>application/json</b>. <br><br> For more information, refer to <a href="/api-docs/static/rest-request-components.html#HTTP" target="_blank ">HTTP request headers</a>.
required: true
schema:
type: string
requestBody:
description: Request to update a current custom policy.
content:
application/json:
schema:
description: Request to update a current custom policy.
"$ref": "#/components/schemas/CustomPolicyRequest"
required: true
responses:
'204':
description: No Content
'400':
description: Bad Request
x-response-codes:
errors:
'20412':
domain: API_ACCOUNT
category: REQUEST
description: Invalid/Missing label
'20413':
domain: API_ACCOUNT
category: REQUEST
description: Invalid/Missing name
'20414':
domain: API_ACCOUNT
category: REQUEST
description: Invalid/Missing description
'20415':
domain: API_ACCOUNT
category: REQUEST
description: Invalid/Missing marketplaceId
'20416':
domain: API_ACCOUNT
category: REQUEST
description: Invalid/Missing customPolicyId
'20418':
domain: API_ACCOUNT
category: REQUEST
description: This policy name is already used
'404':
description: Not Found
'409':
description: Policy Name already used/ Maximum no of policies per site reached
'500':
description: Internal Server Error
x-response-codes:
errors:
'20500':
domain: API_ACCOUNT
category: APPLICATION
description: System error.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.account
"/fulfillment_policy/":
post:
tags:
- Fulfillment_policy
description: 'This method creates a new fulfillment policy where the policy encapsulates seller''s terms for fulfilling item purchases. Fulfillment policies include the shipment options that the seller offers to buyers. <br><br>Each policy targets a specific eBay marketplace and a category group type, and you can create multiple policies for each combination. <br><br>A successful request returns the <b>getFulfillmentPolicy</b> URI to the new policy in the <b>Location</b> response header and the ID for the new policy is returned in the response payload. <p class="tablenote"><b>Tip:</b> For details on creating and using the business policies supported by the Account API, see <a href="/api-docs/sell/static/seller-accounts/business-policies.html">eBay business policies</a>.</p> <p><b>Using the eBay standard envelope service (eSE)</b></p><p>The eBay standard envelope service (eSE) is a domestic envelope service with tracking through eBay. This service applies to specific sub-categories of <b>Trading Cards</b>, and to coins & paper money, postcards, stamps, patches, and similar <a href="https://www.ebay.com/sellercenter/shipping/choosing-a-carrier-and-service/ebay-standard-envelope#eligible-categories" target="_blank ">eligible categories</a>, and is only available on the US marketplace. To use this service, send envelopes using the USPS mail and set the <b>shippingServiceCode</b> field to <code>US_eBayStandardEnvelope</code>. See <a href="/api-docs/sell/static/seller-accounts/using-the-ebay-standard-envelope-service.html" target="_blank">Using eBay standard envelope (eSE) service</a> for details. See <a href="https://pages.ebay.com/seller-center/shipping/ebay-standard-envelope.html#lower-cost-way" target="_blank ">eBay standard envelope</a> for additional details, restrictions, and an <a href="https://ir.ebaystatic.com/pictures/sc/Shipping/ebay_standard_envelope_template.pdf" target="_blank ">envelope size template</a>. '
operationId: createFulfillmentPolicy
parameters:
- name: Content-Type
in: header
description: This header indicates the format of the request body provided by the client. Its value should be set to <b>application/json</b>. <br><br> For more information, refer to <a href="/api-docs/static/rest-request-components.html#HTTP" target="_blank ">HTTP request headers</a>.
required: true
schema:
type: string
requestBody:
description: Request to create a seller account fulfillment policy.
content:
application/json:
schema:
description: Request to create a seller account fulfillment policy.
"$ref": "#/components/schemas/FulfillmentPolicyRequest"
required: true
responses:
'201':
description: Created
headers:
Location:
schema:
type: string
description: The <b>location</b> response header contains the URL to the newly created fulfillment policy. The URL includes the eBay-assigned <code>fulfillmentPolicyId</code>, which you can use to reference the policy.
content:
application/json:
schema:
"$ref": "#/components/schemas/SetFulfillmentPolicyResponse"
x-response-codes:
errors:
'20200':
domain: API_ACCOUNT
category: BUSINESS
description: Warning. {additionalInfo}
'20201':
domain: API_ACCOUNT
category: BUSINESS
description: "{fieldName} (Click and Collect Program) can not be enabled for this seller or marketplace."
'400':
description: Bad Request
x-response-codes:
errors:
'20400':
domain: API_ACCOUNT
category: REQUEST
description: Invalid request. {additionalInfo}
'20401':
domain: API_ACCOUNT
category: REQUEST
description: Missing field {fieldName}. {additionalInfo}
'20402':
domain: API_ACCOUNT
category: REQUEST
description: Invalid input. {additionalInfo}
'20403':
domain: API_ACCOUNT
category: REQUEST
description: Invalid {fieldName}. {additionalInfo}
'500':
description: Internal Server Error
x-response-codes:
errors:
'20500':
domain: API_ACCOUNT
category: APPLICATION
description: System error.
'20501':
domain: API_ACCOUNT
category: APPLICATION
description: Service unavailable. Please try again in next 24 hours.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.account
"/fulfillment_policy/{fulfillmentPolicyId}":
get:
tags:
- Fulfillment_policy
description: This method retrieves the complete details of a fulfillment policy. Supply the ID of the policy you want to retrieve using the <b>fulfillmentPolicyId</b> path parameter.
operationId: getFulfillmentPolicy
parameters:
- name: fulfillmentPolicyId
in: path
description: This path parameter specifies the ID of the fulfillment policy you want to retrieve.<br><br> This ID can be retrieved for a fulfillment policy by using the <a href="/api-docs/sell/account/resources/fulfillment_policy/methods/getFulfillmentPolicies" target="_blank ">getFulfillmentPolicies</a> method.
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
"$ref": "#/components/schemas/FulfillmentPolicy"
'400':
description: Bad Request
x-response-codes:
errors:
'20403':
domain: API_ACCOUNT
category: REQUEST
description: Invalid {fieldName}. {additionalInfo}
'20404':
domain: API_ACCOUNT
category: REQUEST
description: "{fieldName} not found."
'404':
description: Not Found
'500':
description: Internal Server Error
x-response-codes:
errors:
'20500':
domain: API_ACCOUNT
category: APPLICATION
description: System error.
'20501':
domain: API_ACCOUNT
category: APPLICATION
description: Service unavailable. Please try again in next 24 hours.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.account
- https://api.ebay.com/oauth/api_scope/sell.account.readonly
put:
tags:
- Fulfillment_policy
description: This method updates an existing fulfillment policy. Specify the policy you want to update using the <b>fulfillment_policy_id</b> path parameter. Supply a complete policy payload with the updates you want to make; this call overwrites the existing policy with the new details specified in the payload.
operationId: updateFulfillmentPolicy
parameters:
- name: fulfillmentPolicyId
in: path
description: This path parameter specifies the ID of the fulfillment policy you want to update.<br><br>This ID can be retrieved for a specific fulfillment policy by using the <a href="/api-docs/sell/account/resources/fulfillment_policy/methods/getFulfillmentPolicies" target="_blank ">getFulfillmentPolicies</a> method.
required: true
schema:
type: string
- name: Content-Type
in: header
description: This header indicates the format of the request body provided by the client. Its value should be set to <b>application/json</b>. <br><br> For more information, refer to <a href="/api-docs/static/rest-request-components.html#HTTP" target="_blank ">HTTP request headers</a>.
required: true
schema:
type: string
requestBody:
description: Fulfillment policy request
content:
application/json:
schema:
description: Fulfillment policy request
"$ref": "#/components/schemas/FulfillmentPolicyRequest"
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
"$ref": "#/components/schemas/SetFulfillmentPolicyResponse"
x-response-codes:
errors:
'20200':
domain: API_ACCOUNT
category: BUSINESS
description: Warning. {additionalInfo}
'20201':
domain: API_ACCOUNT
category: BUSINESS
description: "{fieldName} (Click and Collect Program) can not be enabled for this seller or marketplace."
'400':
description: Bad Request
x-response-codes:
errors:
'20400':
domain: API_ACCOUNT
category: REQUEST
description: Invalid request. {additionalInfo}
'20401':
domain: API_ACCOUNT
category: REQUEST
description: Missing field {fieldName}. {additionalInfo}
'20402':
domain: API_ACCOUNT
category: REQUEST
description: Invalid input. {additionalInfo}
'20403':
domain: API_ACCOUNT
category: REQUEST
description: Invalid {fieldName}. {additionalInfo}
'20404':
domain: API_ACCOUNT
category: REQUEST
description: "{fieldName} not found."
'404':
description: Not Found
'500':
description: Internal Server Error
x-response-codes:
errors:
'20500':
domain: API_ACCOUNT
category: APPLICATION
description: System error.
'20501':
domain: API_ACCOUNT
category: APPLICATION
description: Service unavailable. Please try again in next 24 hours.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.account
delete:
tags:
- Fulfillment_policy
description: This method deletes a fulfillment policy. Supply the ID of the policy you want to delete in the <b>fulfillmentPolicyId</b> path parameter.
operationId: deleteFulfillmentPolicy
parameters:
- name: fulfillmentPolicyId
in: path
description: This path parameter specifies the ID of the fulfillment policy to delete.<br><br> This ID can be retrieved for a fulfillment policy by using the <a href="/api-docs/sell/account/resources/fulfillment_policy/methods/getFulfillmentPolicies" target="_blank ">getFulfillmentPolicies</a> method.
required: true
schema:
type: string
responses:
'204':
description: No Content
'400':
description: Bad Request
x-response-codes:
errors:
'20401':
domain: API_ACCOUNT
category: REQUEST
description: Missing field {fieldName}. {additionalInfo}
'20402':
domain: API_ACCOUNT
category: REQUEST
description: Invalid input. {additionalInfo}
'20403':
domain: API_ACCOUNT
category: REQUEST
description: Invalid {fieldName}. {additionalInfo}
'20404':
domain: API_ACCOUNT
category: REQUEST
description: "{fieldName} not found."
'404':
description: Not Found
'409':
description: Conflict
x-response-codes:
errors:
'20409':
domain: API_ACCOUNT
category: BUSINESS
description: Invalid default policy type. {additionalInfo}
'21409':
domain: API_ACCOUNT
category: BUSINESS
description: Invalid default for category type. {additionalInfo}
'22409':
domain: API_ACCOUNT
category: BUSINESS
description: Invalid target default policy. {additionalInfo}
'500':
description: Internal Server Error
x-response-codes:
errors:
'20500':
domain: API_ACCOUNT
category: APPLICATION
description: System error.
'20501':
domain: API_ACCOUNT
category: APPLICATION
description: Service unavailable. Please try again in next 24 hours.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.account
"/fulfillment_policy":
get:
tags:
- Fulfillment_policy
description: 'This method retrieves all the fulfillment policies configured for the marketplace you specify using the <code>marketplace_id</code> query parameter. <br><br><b>Marketplaces and locales</b> <br><br>Get the correct policies for a marketplace that supports multiple locales using the <code>Content-Language</code> request header. For example, get the policies for the French locale of the Canadian marketplace by specifying <code>fr-CA</code> for the <code>Content-Language</code> header. Likewise, target the Dutch locale of the Belgium marketplace by setting <code>Content-Language: nl-BE</code>. For details on header values, see <a href="/api-docs/static/rest-request-components.html#HTTP" target="_blank">HTTP request headers</a>.'
operationId: getFulfillmentPolicies
parameters:
- name: marketplace_id
in: query
description: This query parameter specifies the eBay marketplace of the policies you want to retrieve. For implementation help, refer to eBay API documentation at https://developer.ebay.com/api-docs/sell/account/types/ba:MarketplaceIdEnum
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
"$ref": "#/components/schemas/FulfillmentPolicyResponse"
'400':
description: Bad Request
x-response-codes:
errors:
'20401':
domain: API_ACCOUNT
category: REQUEST
description: Missing field {fieldName}. {additionalInfo}
'20403':
domain: API_ACCOUNT
category: REQUEST
description: Invalid {fieldName}. {additionalInfo}
'20404':
domain: API_ACCOUNT
category: REQUEST
description: "{fieldName} not found."
'500':
description: Internal Server Error
x-response-codes:
errors:
'20500':
domain: API_ACCOUNT
category: APPLICATION
description: System error.
'20501':
domain: API_ACCOUNT
category: APPLICATION
description: Service unavailable. Please try again in next 24 hours.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.account
- https://api.ebay.com/oauth/api_scope/sell.account.readonly
"/fulfillment_policy/get_by_policy_name":
get:
tags:
- Fulfillment_policy
description: 'This method retrieves the details for a specific fulfillment policy. In the request, supply both the policy <code>name</code> and its associated <code>marketplace_id</code> as query parameters. <br><br><b>Marketplaces and locales</b> <br><br>Get the correct policy for a marketplace that supports multiple locales using the <code>Content-Language</code> request header. For example, get a policy for the French locale of the Canadian marketplace by specifying <code>fr-CA</code> for the <code>Content-Language</code> header. Likewise, target the Dutch locale of the Belgium marketplace by setting <code>Content-Language: nl-BE</code>. For details on header values, see <a href="/api-docs/static/rest-request-components.html#HTTP">HTTP request headers</a>.'
operationId: getFulfillmentPolicyByName
parameters:
- name: marketplace_id
in: query
description: This query parameter specifies the eBay marketplace of the policy you want to retrieve. For implementation help, refer to eBay API documentation at https://developer.ebay.com/api-docs/sell/account/types/ba:MarketplaceIdEnum
required: true
schema:
type: string
- name: name
in: query
description: This query parameter specifies the seller-defined name of the fulfillment policy you want to retrieve.<br><br>This value can be retrieved for a fulfillment policy by using the <a href="/api-docs/sell/account/resources/fulfillment_policy/methods/getFulfillmentPolicies" target="_blank ">getFulfillmentPolicies</a> method.
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
"$ref": "#/components/schemas/FulfillmentPolicy"
'400':
description: Bad Request
x-response-codes:
errors:
'20401':
domain: API_ACCOUNT
category: REQUEST
description: Missing field {fieldName}. {additionalInfo}
'20403':
domain: API_ACCOUNT
category: REQUEST
description: Invalid {fieldName}. {additionalInfo}
'20404':
domain: API_ACCOUNT
category: REQUEST
description: "{fieldName} not found."
'500':
description: Internal Server Error
x-response-codes:
errors:
'20500':
domain: API_ACCOUNT
category: APPLICATION
description: System error.
'20501':
domain: API_ACCOUNT
category: APPLICATION
description: Service unavailable. Please try again in next 24 hours.
security:
- api_auth:
- https://api.ebay.com/oauth/api_scope/sell.account
- https://api.ebay.com/oauth/api_scope/sell.account.readonly
"/payment_policy":
get:
tags:
- Payment_policy
description: 'This method retrieves all the payment policies configured for the marketplace you specify using the <code>marketplace_id</code> query parameter. <br><br><b>Marketplaces and locales</b> <br><br>Get
# --- truncated at 32 KB (216 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ebay/refs/heads/main/openapi/ebay-account-openapi-original.yml