POST/store/categories
This method is used to add a single new custom category to a user's eBay store through an asynchronous request. A successful call returns the getStoreTask URI in the Location response header. Call getStoreTask (or getStoreTasks) method to retrieve the status of the add category operation.
Note: Three levels of store categories are supported.
Important! If you initiate a category change, you cannot make additional category changes until the previous change request has completed. Use getStoreTask (or getStoreTasks) method to get latest status of your last request.
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. 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):
https://api.ebay.com/oauth/api_scope/sell.stores
See OAuth access tokens for more information.
Request payload
Copy complete valid JSON to clipboardRequest fields
Input container/field | Type | Description |
---|---|---|
categoryName | string | The seller-specified name of the custom category. Occurrence: Required |
destinationParentCategoryId | string | This field is used to specify the parent category to which the new category belongs. To specify the new category as a top-level category, set the value of this field to -999, or just omit this field, as the default value is -999. Occurrence: Optional |
listingDestinationCategoryId | string | If the store category specified as the destinationParentCategoryId is a leaf category with active listings, those listings are moved to the store category identified through this listingDestinationCategoryId. If this field is omitted, the new store category being added under the parent category inherits those listings. Occurrence: Optional |
Output
HTTP response headers
See HTTP response headers for details.
Header | Meaning |
---|---|
Location | The location url is used to poll the async task status. If the call is successful, the getStoreTask URI is returned in this header, and the user can use this URI to retrieve the status of the add category operation. |
Retry-After | The polling interval time in milliseconds. |
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 |
---|---|
202 | The request is accepted, user should get the location url in response to retrieve async task status. |
400 | Bad Request |
500 | Internal Server Error |
Error codes
For more on errors, plus the codes of other common errors, see Handling errors.
Code | Domain | Category | Meaning |
---|---|---|---|
225000 | API_STORES | APPLICATION | Internal server error encountered. If this problem persists, contact the eBay Developers Program for support. |
225001 | API_STORES | REQUEST | Input data for {param} is invalid or missing. Please check API documentation. |
225002 | API_STORES | REQUEST | The user must have an active store subscription. |
225003 | API_STORES | REQUEST | You cannot make additional category changes until your previous change request has completed. Use getStoreTask method to get latest status of your last request. |
226000 | API_STORES | REQUEST | You cannot have duplicate category names under the same category parent. |
226001 | API_STORES | REQUEST | Invalid characters found in {category_name}. Please see documentation for more information on recommended valid characters. |
226002 | API_STORES | REQUEST | Category name can not be empty, or 'Other'. |
226003 | API_STORES | REQUEST | Category name {category_name} exceeds the maximum allowed length of {max_length} characters. |
226004 | API_STORES | REQUEST | Custom store category count exceeds the maximum allowed count {max_count}. |
226005 | API_STORES | REQUEST | Custom store category {category_name} exceeds the maximum allowed category depth {depth_limit}. |
226006 | API_STORES | REQUEST | Category id {category_id} doesn't exist for the store. |
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: Add new category to an eBay Store
The seller can add category to their active eBay Store.
Input
The following sample shows how to add single category to your store. The Store category ID is assigned automatically. The added category appears under the category set with destinationParentCategoryId. If there are listings under the specified parent category, they are moved to the category specified with listingDestinationCategoryId.
POSThttps://api.ebay.com/sell/stores/v1/store/categories
Output
If the call is successful, a category is added to an eBay Store and the getStoreTask URI is returned in the Location response header.