metadata APIv1.3.0

getProductAdoptionPolicies

GET
/marketplace/{marketplace_id}/get_product_adoption_policies
This method retrieves a list of leaf categories for a marketplace and identifies the categories that require items to have an eBay product ID value in order to be listed in those categories. An eBay product ID value (known as an "ePID") is a value that references a specific product in the eBay Catalog.

Note: This method supports the eBay Product Based Shopping Experience (PBSE), which is applicable to only the US, UK, AU, and CA (English) marketplaces.

Note that you can also use GetCategoryFeatures in the Trading API to retrieve similar information.

For more information about using this method with PBSE, see the Product-Based Shopping Experience Playbook.

Use the marketplace_id path parameter to specify the marketplace you want to review and use the filter query parameter to limit the categories returned in the response.

Tip: This method can return a very large response payload and we strongly recommend you get the results from this call in a GZIP file by including the following HTTP header with your request:

  Accept-Encoding: application/gzip

Input

Resource URI (production)

GET https://api.ebay.com/sell/metadata/v1/marketplace/{marketplace_id}/get_product_adoption_policies?

URI parameters

ParameterTypeDescription
filterstringThis query parameter limits the response by returning policy information for only the selected sections of the category tree. Supply categoryId values for the sections of the tree you want returned.

When you specify a categoryId value, the returned category tree includes the policies for that parent node, plus the policies for any leaf nodes below that parent node.

The parameter takes a list of categoryId values and you can specify up to 50 separate category IDs. Separate multiple values with a pipe character ('|'). If you specify more than 50 categoryId values, eBay returns the policies for the first 50 IDs and a warning that not all categories were returned.

Example: filter=categoryIds:{100|101|102}

Note that you must URL-encode the parameter list, which results in the following filter for the above example:

  filter=categoryIds%3A%7B100%7C101%7C102%7D

Occurrence: Optional

marketplace_idstringThis path parameter specifies the eBay marketplace for which policy information is retrieved. See the following page for a list of valid eBay marketplace IDs: Request components.

Occurrence: Required

HTTP request headers

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

OAuth scope

This request requires an access token created with the client grant flow, using one scope from the following list:

https://api.ebay.com/oauth/api_scope

See OAuth access tokens for more information.

Output

HTTP response headers

Output container/fieldTypeDescription
productAdoptionPoliciesarray of ProductAdoptionPolicyA list of category IDs from the marketplace specified in the request where each returned element represents a leaf node in the category tree. Each element in the list contains the policies governing whether or not items listed in that category must include an ePID value (which links the item to the eBay Catalog).

Occurrence: Conditional

productAdoptionPolicies.categoryIdstringThe category ID to which the listing policies apply.

Occurrence: Conditional

productAdoptionPolicies.categoryTreeIdstringA value that indicates the root node of the category tree used for the response set. Each marketplace is based on a category tree whose root node is indicated by this unique category ID value. All category policy information returned by this call pertains to the categories included below this root node of the tree.

A category tree is a hierarchical framework of eBay categories that begins at the root node of the tree and extends to include all the child nodes in the tree. Each child node in the tree is an eBay category that is represented by a unique categoryId value. Within a category tree, the root node has no parent node and leaf nodes are nodes that have no child nodes.

Occurrence: Conditional

productAdoptionPolicies.exclusionExclusionA list of brands that are excluded from the ePID product-adoption requirements for the related category ID.

Occurrence: Conditional

productAdoptionPolicies.exclusion.brandsarray of stringA list of brands that are excluded from requiring a link to the eBay Catalog for the associated categoryId.

If productRequired is set to true, items that are of a brand returned in this field are excluded from the need to specify a value for the ePID field in their item description in order to be listed in the associated category.

Occurrence: Conditional

productAdoptionPolicies.productRequiredbooleanIf set to true, items must include an ePID value in their item description before they can be listed in the category identified by the associated categoryId. In contrast, a value of false indicates that items listed in the associated category do not require ePID values.

Important! It is possible for a productAdoptionPolicies container to not contain this productRequired field. This occurs if the eBay category is not part of the PBSE Phase 1 or Phase 2 mandate. In these scenarios, please treat the response the same as if this field were present and contained a value of false.

Occurrence: Conditional

warningsarray of ErrorDetailV3A list of the warnings that were generated as a result of the request. This field is not returned if no warnings were generated by the request.

Occurrence: Conditional

warnings.categorystringThe category type for this error or warning. It takes an ErrorCategory object which can have one of three values:
  • Application: Indicates an exception or error occurred in the application code or at runtime. Examples include catching an exception in a service's business logic, system failures, or request errors from a dependency.
  • Business: Used when your service or a dependent service refused to continue processing on the resource because of a business rule violation such as "Seller does not ship item to Antarctica" or "Buyer ineligible to purchase an alcoholic item". Business errors are not syntactical input errors.
  • Request: Used when there is anything wrong with the request, such as authentication, syntactical errors, rate limiting or missing headers, bad HTTP header values, and so on.

Occurrence: Conditional

warnings.domainstringName of the domain containing the service or application.

Occurrence: Conditional

warnings.errorIdintegerA positive integer that uniquely identifies the specific error condition that occurred. Your application can use error codes as identifiers in your customized error-handling algorithms.

Occurrence: Conditional

warnings.inputRefIdsarray of stringIdentifies specific request elements associated with the error, if any. inputRefId's response is format specific. For JSON, use JSONPath notation.

Occurrence: Conditional

warnings.longMessagestringAn expanded version of message that should be around 100-200 characters long, but is not required to be such.

Occurrence: Conditional

warnings.messagestringAn end user and app developer friendly device agnostic message. It explains what the error or warning is, and how to fix it (in a general sense). Its value is at most 50 characters long. If applicable, the value is localized in the end user's requested locale.

Occurrence: Conditional

warnings.outputRefIdsarray of stringIdentifies specific response elements associated with the error, if any. Path format is the same as inputRefId.

Occurrence: Conditional

warnings.parametersarray of ErrorParameterV3This optional complex field type contains a list of one or more context-specific ErrorParameter objects, with each item in the list entry being a parameter (or input field name) that caused an error condition. Each ErrorParameter object consists of two fields, a name and a value.

Occurrence: Conditional

warnings.parameters.namestringName of the entity that threw the error.

Occurrence: Conditional

warnings.parameters.valuestringA description of the error.

Occurrence: Conditional

warnings.subdomainstringName of the domain's subsystem or subdivision. For example, checkout is a subdomain in the buying domain.

Occurrence: Conditional

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.

StatusMeaning
200Success
204No content
400Bad Request
404Not Found
500Internal Server Error

Error codes

CodeDomainCategoryMeaning
46000API_METADATAAPPLICATIONThere was a problem with an eBay internal system or process.Contact eBay developer support for assistance.
46001API_METADATAREQUESTThe specified marketplace ID was not found.

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: Get the eBay category policies that govern ePID (product adoption) requirements

This example shows the response set retrieved for the category ID 178097.

This method returns a list of leaf categories from the category tree of the specified marketplace, starting with the parent node indicated by the specified category ID.

Each node in the response shows the policies that govern whether or not items listed in that category require an ePID value in their item descriptions. If productRequired equals true, then items listed in that category must have an ePID value specified in the body of the item description.

Input

This method does not use a request payload.

By default, this method returns the leaf nodes of the entire category tree for the specified marketplace. When you retrieve the entire tree, be sure to get the result as a GZIP file (see the top of the call page for syntax). To limit the response, specify up to 50 category IDs using the filter query parameter. Note that you must URL-encode the category ID filter parameter value. This example uses the parameter:
   filter=categoryIds:{178097}
GET
https://api.ebay.com/sell/metadata/v1/marketplace/EBAY_US/get_product_adoption_policies?filter=categoryIds%3A%7B178097%7D

Output

If the call is successful, the response body contains the policies that govern which categories require that item listings include ePID values.