Item Management (items)
Use the methods in this section to:
- list items and edit listings
- get item categories, subcategories, characteristics, and brands
- upload media files for listings
- set up labels for item search
- work with item recommendations
- set prices and discounts
- manage item inventory and warehouses, if you work with the sales model from the seller warehouse
You can test the item management methods in the sandbox. Also you can use special methods in the sandbox for managing listings
Use the methods in this section to:
- list items and edit listings
- get item categories, subcategories, characteristics, and brands
- upload media files for listings
- set up labels for item search
- work with item recommendations
- set prices and discounts
- manage item inventory and warehouses, if you work with the sales model from the seller warehouse
You can test the item management methods in the sandbox. Also you can use special methods in the sandbox for managing listings
Item Parent Categories{{ /content/v2/object/parent/all }}
Returns the list of all item parent categories
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 100 requests | 600 ms | 5 requests |
Exceptions are the methods:
- creating listings
- creating listings with merge
- editing listings
- recovering product card from trash
- getting item recommendation list
- setting item recommendations
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| locale | string Example: locale=en Language for response of the
Not used in the sandbox. The sandbox data is returned only in Russian |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "name": "Электроника",
- "id": 479,
- "isVisible": true
}
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}Subcategories List{{ /content/v2/object/all }}
Returns the list of all available subcategories, parent categories and their IDs
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 100 requests | 600 ms | 5 requests |
Exceptions are the methods:
- creating listings
- creating listings with merge
- editing listings
- recovering product card from trash
- getting item recommendation list
- setting item recommendations
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| locale | string Example: locale=en Language for response of the
Not used in the sandbox. The sandbox data is returned only in Russian |
| name | string Example: name=Socks Search by item name (Socks), the search works by substring and can be conducted in any of the supported languages |
| limit | integer Default: 30 Example: limit=1000 Number of search results, maximum 1,000 |
| offset | integer Default: 0 Example: offset=5000 How many results to skip. For example, with value |
| parentID | integer Example: parentID=1000 Subcategory parent category ID |
Responses
Response samples
- 200
- 401
- 403
- 429
{- "data": [
- {
- "subjectID": 2560,
- "parentID": 479,
- "subjectName": "3D очки",
- "parentName": "Электроника"
}, - {
- "subjectID": 1152,
- "parentID": 858,
- "subjectName": "3D-принтеры",
- "parentName": "Оргтехника"
}
], - "error": false,
- "errorText": "",
- "additionalErrors": null
}Subcategory Characteristics{{ /content/v2/object/charcs/{subjectId} }}
Returns list of the subcategory characteristics by its ID
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 100 requests | 600 ms | 5 requests |
Exceptions are the methods:
- creating listings
- creating listings with merge
- editing listings
- recovering product card from trash
- getting item recommendation list
- setting item recommendations
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
path Parameters
| subjectId required | integer Example: 105 Subcategory ID |
query Parameters
| locale | string Example: locale=en Language for response of the
Not used in the sandbox. The sandbox data is returned only in Russian |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "charcID": 54337,
- "subjectName": "Кроссовки",
- "subjectID": 105,
- "name": "Размер",
- "required": false,
- "unitName": "см",
- "maxCount": 0,
- "popular": false,
- "charcType": 4,
- "hasFilter": true,
- "isVariable": true,
- "existNamedField": true
}
], - "error": false,
- "errorText": "",
- "additionalErrors": null
}Color{{ /content/v2/directory/colors }}
Provides values of color characteristic.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 100 requests | 600 ms | 5 requests |
| Service | 1 min | 100 requests | 600 ms | 5 requests |
| Base with secret | 1 min | 100 requests | 600 ms | 5 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| locale | string Example: locale=en Language for response of the
Not used in the sandbox. The sandbox data is returned only in Russian |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "name": "персиковый мелок",
- "parentName": "оранжевый"
}
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}Gender{{ /content/v2/directory/kinds }}
Provides values of gender characteristic.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 100 requests | 600 ms | 5 requests |
| Service | 1 min | 100 requests | 600 ms | 5 requests |
| Base with secret | 1 min | 100 requests | 600 ms | 5 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| locale | string Example: locale=en Language for response of the
Not used in the sandbox. The sandbox data is returned only in Russian |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- "Мужской"
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}Country of Origin{{ /content/v2/directory/countries }}
Provides value of characteristic country of origin.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 100 requests | 600 ms | 5 requests |
Exceptions are the methods:
- creating listings
- creating listings with merge
- editing listings
- recovering product card from trash
- getting item recommendation list
- setting item recommendations
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| locale | string Example: locale=en Language for response of the
Not used in the sandbox. The sandbox data is returned only in Russian |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "id": 15000170,
- "name": "Китай",
- "fullName": "Китайская Народная Республика"
}
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}Season{{ /content/v2/directory/seasons }}
Provide values of season characteristic
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 100 requests | 600 ms | 5 requests |
| Service | 1 min | 100 requests | 600 ms | 5 requests |
| Base with secret | 1 min | 100 requests | 600 ms | 5 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| locale | string Example: locale=en Language for response of the
Not used in the sandbox. The sandbox data is returned only in Russian |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- "демисезон"
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}VAT Rate{{ /content/v2/directory/vat }}
Returns a list of values for the VAT rate characteristic
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 100 requests | 600 ms | 5 requests |
| Service | 1 min | 100 requests | 600 ms | 5 requests |
| Base with secret | 1 min | 100 requests | 600 ms | 5 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| locale | string Example: locale=ru Language for response of the
Not used in the sandbox. The sandbox data is returned only in Russian |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- "0",
- "10",
- "20",
- "Без НДС",
- "13"
], - "error": false,
- "errorText": "",
- "additionalErrors": null
}HS-codes{{ /content/v2/directory/tnved }}
The method provides list of HS-codes by category name and filter by HS-code.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 100 requests | 600 ms | 5 requests |
Exceptions are the methods:
- creating listings
- creating listings with merge
- editing listings
- recovering product card from trash
- getting item recommendation list
- setting item recommendations
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| subjectID required | integer Example: subjectID=105 Subcategory ID |
| search | integer Example: search=6106903000 Search by HS-code. Works only with the subjectID parameter |
| locale | string Example: locale=en Language for response of the
Not used in the sandbox. The sandbox data is returned only in Russian |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "tnved": "6106903000",
- "isKiz": true
}
], - "error": false,
- "errorText": "",
- "additionalErrors": null
}Brands{{ /api/content/v1/brands }}
The method returns list of brands by subcategory ID.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 s | 1 request | 1 s | 5 requests |
| Service | 1 s | 1 request | 1 s | 5 requests |
| Base with secret | 1 s | 1 request | 1 s | 5 requests |
| Base | 1 h | 1 request | 1 h | 1 request |
Authorizations:
query Parameters
| subjectId required | integer Example: subjectId=1234 Subcategory ID |
| next | integer Example: next=1234 Pagination parameter. Use the |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
{- "brands": [
- {
- "id": 9007199254,
- "logoUrl": "string",
- "name": "Brand"
}
], - "next": 1212,
- "total": 344534
}Limits for the Listings{{ /content/v2/cards/limits }}
The method allows to get separately free and paid vendor limits for creating listings.
To calculate the number of items that can be listed, use the formula: (freeLimits + paidLimits) - Number of listed items.
All items that can be obtained using the listings and listings that are in the trash methods are considered listed.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 100 requests | 600 ms | 5 requests |
| Service | 1 min | 100 requests | 600 ms | 5 requests |
| Base with secret | 1 min | 100 requests | 600 ms | 5 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
Responses
Response samples
- 200
- 401
- 403
- 429
{- "data": {
- "freeLimits": 1500,
- "paidLimits": 10
}, - "error": false,
- "errorText": "",
- "additionalErrors": null
}Generation of SKUs{{ /content/v2/barcodes }}
Generates array of unique SKUs to list size of the item
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 100 requests | 600 ms | 5 requests |
Exceptions are the methods:
- creating listings
- creating listings with merge
- editing listings
- recovering product card from trash
- getting item recommendation list
- setting item recommendations
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
Request Body schema: application/jsonrequired
| count | integer Number of SKUs to be generated, maximum 5,000 |
Responses
Request samples
- Payload
{- "count": 100
}Response samples
- 200
- 401
- 402
- 403
- 429
{- "data": [
- "5032781145187"
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}List Items{{ /content/v2/cards/upload }}
Lists items. You can specify item description and characteristics.
How to list an item:
- Get parent categories list
- Get the category and get all subcategories
- Choose the subcategory and get all available characteristics. For
Color,Gender,Country of origin,Season,VAT rate,HS-codecharacteristics use values from category. - Send the request. If the response is Success (
200) but the item was not listed, check errors using failed listing with errors method.
The dimensions of the items can only be specified in centimeters, and the weight of packed items must be specified in kilograms.
With one request you can list maximum 100 individual items or 100 groups of merged listings, 30 listings (nmID) in each. Maximum request size is 10 Mb.
Items are listed asynchronously. The process of synchronizing a new listing with services may take up to 30 minutes. During this time, you can't add inventory to warehouses and set prices.
In the sandbox, the product card is created immediately, without waiting.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 10 requests | 6 s | 5 requests |
Authorizations:
Request Body schema: application/json
| subjectID required | integer Subcategory ID |
required | Array of objects[ items [ 1 .. 30 ] ] Merged listings. |
Responses
Request samples
- Payload
[- {
- "subjectID": 105,
- "variants": [
- {
- "vendorCode": "АртикулПродавца",
- "kizMarked": true,
- "wholesale": {
- "enabled": true,
- "quantum": 211
}, - "title": "Наименование товара",
- "description": "Описание товара",
- "brand": "Бренд",
- "dimensions": {
- "length": 12,
- "width": 7,
- "height": 5,
- "weightBrutto": 1.242
}, - "documents": {
- "items": [
- {
- "type": 1,
- "number": "РОСС RU.АЯ46.В12345",
- "productNumber": "УД-2024-001234",
- "tradeName": "Тест Продукт",
- "applicant": "Тест",
- "startDate": "2023-01-15T03:00:00+03:00",
- "endDate": "2026-01-14T03:00:00+03:00",
- "isEndless": false
}
], - "excludeDocuments": false
}, - "characteristics": [
- {
- "id": 12,
- "value": [
- "Turkish flag"
]
}, - {
- "id": 25471,
- "value": 1200
}, - {
- "id": 14177449,
- "value": [
- "red"
]
}
], - "sizes": [
- {
- "techSize": "S",
- "wbSize": "42",
- "price": 5000,
- "skus": [
- "88005553535"
]
}
]
}
]
}
]Response samples
- 200
- 400
- 401
- 402
- 403
- 413
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}List Items with Merge{{ /content/v2/cards/upload/add }}
The method lists items by merging it with existing individual listings and groups of merged listings. There can be no more than 30 listings in one group of merged listings, respectively, you can list no more than 29 items in one request.
The dimensions of the items can only be specified in centimeters, and the weight of packed items must be specified in kilograms.
If this method response is Success (200) but listing was not updated, check errors using failed listings with errors method.
Items are listed asynchronously. The process of synchronizing a new listing with services may take up to 30 minutes. During this time, you can't add inventory to warehouses and set prices.
In the sandbox, the product card is created immediately, without waiting.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 10 requests | 6 s | 5 requests |
| Service | 1 min | 10 requests | 6 s | 5 requests |
| Base with secret | 1 min | 10 requests | 6 s | 5 requests |
| Base | 2 h | 1 request | 2 h | 1 request |
Authorizations:
Request Body schema: application/json
| imtID | integer <int64>
|
Array of objects[ items [ 1 .. 29 ] ] Added listings |
Responses
Request samples
- Payload
{- "imtID": 987654321,
- "cardsToAdd": [
- {
- "vendorCode": "myVariant1",
- "kizMarked": true,
- "wholesale": {
- "enabled": true,
- "quantum": 243
}, - "title": "Наименование товара",
- "description": "Описание товара",
- "brand": "Бренд",
- "dimensions": {
- "length": 9,
- "width": 6,
- "height": 3,
- "weightBrutto": 0.893
}, - "characteristics": [
- {
- "id": 12,
- "value": [
- "Russian flag"
]
}, - {
- "id": 25471,
- "value": 1300
}, - {
- "id": 14177449,
- "value": [
- "blue"
]
}
], - "sizes": [
- {
- "skus": [
- "12345678"
]
}
], - "documents": {
- "items": [
- {
- "type": 1,
- "number": "РОСС RU.АЯ46.В12346",
- "productNumber": "УД-2024-001235",
- "tradeName": "Тест Продукт2",
- "applicant": "ООО Ромашка",
- "startDate": "2023-01-15T03:00:00+03:00",
- "endDate": "2026-01-14T03:00:00+03:00",
- "isEndless": false
}
], - "excludeDocuments": false
}
}, - {
- "vendorCode": "myVariant2",
- "title": "Наименование товара",
- "description": "Описание товаров",
- "brand": "Бренд",
- "dimensions": {
- "length": 8,
- "width": 8,
- "height": 8,
- "weightBrutto": 1.04
}, - "characteristics": [
- {
- "id": 12,
- "value": [
- "Russian flag"
]
}, - {
- "id": 25471,
- "value": 1300
}, - {
- "id": 14177449,
- "value": [
- "blue"
]
}
], - "sizes": [
- {
- "skus": [
- "222222222222"
]
}
], - "documents": {
- "items": [
- {
- "type": 1,
- "number": "РОСС RU.АЯ46.В12345",
- "productNumber": "УД-2024-001234",
- "tradeName": "Тест Продукт",
- "applicant": "ООО Ромашка",
- "startDate": "2023-01-15T03:00:00+03:00",
- "endDate": "2026-01-14T03:00:00+03:00",
- "isEndless": false
}
], - "excludeDocuments": false
}
}
]
}Response samples
- 200
- 400
- 401
- 402
- 403
- 413
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}Listings{{ /content/v2/get/cards/list }}
Returns the listings.
To get more than 100 listings, use pagination:
- Make the first request:
{ "settings": { "sort": { "ascending": true }, "cursor": { "limit": 100 }, "filter": { "withPhoto": -1 } } }To get only new or updated listings after data export, use ascending sorting:"sort":{"ascending":true}. - Copy
"updatedAt": "***","nmID":"***"from thecursorin the response and insert into thecursorof your next request. - Make the next request.
- Repeat 2 and 3 until
totalvalue in the response is less than thelimitvalue in the request. This will mean you got all listings.
To get only items that were listed or updated after the previous data export:
- Save the
"cursor":{"updatedAt":"***","nmID":"***"}fields from the last response of the previous data export. When exporting the data, use ascending sorting:"sort":{"ascending":true}. - Specify the saved
"cursor":{"updatedAt":"***","nmID":"***"}fields in the first request. Keep using ascending sorting. - Save the
"cursor":{"updatedAt":"***","nmID":"***"}fields from the last response of the current data export.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 100 requests | 600 ms | 5 requests |
Authorizations:
query Parameters
| locale | string Example: locale=ru Language for response of the
Not used in the sandbox. The sandbox data is returned only in Russian |
Request Body schema: application/jsonrequired
object Settings |
Responses
Request samples
- Payload
{- "settings": {
- "sort": {
- "ascending": false
}, - "filter": {
- "textSearch": "4603743187500888",
- "allowedCategoriesOnly": true,
- "tagIDs": [
- 345,
- 415
], - "objectIDs": [
- 235,
- 67
], - "brands": [
- "уллу",
- "EkkE"
], - "imtID": 328632,
- "withPhoto": 0
}, - "cursor": {
- "updatedAt": "2023-12-06T11:17:00.96577Z",
- "nmID": 370870300,
- "limit": 11
}
}
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "cards": [
- {
- "nmID": 12345678,
- "imtID": 123654789,
- "nmUUID": "01bda0b1-5c0b-736c-b2be-d0a6543e9be",
- "subjectID": 7771,
- "subjectName": "AKF системы",
- "vendorCode": "wb7f6mumjr1",
- "kizMarked": true,
- "brand": "Тест",
- "title": "Тест-система",
- "description": "Тестовое описание",
- "needKiz": false,
- "photos": [
- {
}
], - "wholesale": {
- "enabled": true,
- "quantum": 112
}, - "dimensions": {
- "length": 55,
- "width": 40,
- "height": 15,
- "weightBrutto": 6.24,
- "isValid": false
}, - "documents": {
- "items": [
- {
- "id": "019f3c09-8c1f-7063-aee4-c45969fb2dc5",
- "type": 1,
- "number": "123456",
- "productNumber": "123456",
- "tradeName": "Trade Name",
- "applicant": "Applicant Name",
- "startDate": "2023-01-15T03:00:00+03:00",
- "endDate": "2026-01-14T03:00:00+03:00",
- "verdict": {
- "verified": true,
- "status": 1,
- "reason": null,
- "additionalData": null,
- "createdAt": "2026-05-28T18:10:43.375306+03:00"
}, - "createdAt": "2026-05-28T18:09:25.394692+03:00"
}
], - "overallVerdict": {
- "isFullyChecked": true,
- "status": 1,
- "reason": null,
- "createdAt": "2026-05-28T18:19:19.99444+03:00"
}, - "excludeDocuments": false
}, - "characteristics": [
- {
- "id": 14177449,
- "name": "Цвет",
- "value": [
- "красно-сиреневый"
]
}
], - "sizes": [
- {
- "chrtID": 316399238,
- "techSize": "0",
- "skus": [
- "987456321654"
]
}
], - "tags": [
- {
- "id": 592569,
- "name": "Популярный",
- "color": "D1CFD7"
}
], - "createdAt": "2023-12-06T11:17:00.96577Z",
- "updatedAt": "2023-12-06T11:17:00.96577Z"
}
], - "cursor": {
- "updatedAt": "2023-12-06T11:17:00.96577Z",
- "nmID": 123654123,
- "total": 1
}
}Failed Listings with Errors{{ /content/v2/cards/error/list }}
Returns the listings (drafts) and the list of errors encountered during listing creation or editing.
The data is returned in batches. One batch contains:
- all errors for one
variantsarray in one request during listings creation - all errors in one request during listings creation with merge or editing.
To get more than 100 batches, use pagination:
- Make first request:
{ "cursor": { "limit": 100 }, "order": { "ascending": true } } - Copy
"updatedAt":"***","batchUUID":"***"from the responsecursorand paste into the requestcursor. - Repeat the request.
- Repeat 2 and 3, until you receive in the response
"next":false. This will mean that you have received all the batches.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 10 requests | 6 s | 5 requests |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| locale | string Example: locale=en Language of subcategory names:
Not used in the sandbox. The sandbox data is returned only in Russian |
Request Body schema: application/jsonrequired
object Paginator | |
object The order of return of batches |
Responses
Request samples
- Payload
{- "cursor": {
- "limit": 31,
- "updatedAt": "2025-08-05T17:54:40+08:00",
- "batchUUID": "bca3744c-1c8b-4588-b345-62af3b2899ae"
}, - "order": {
- "ascending": true
}
}Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": {
- "items": [
- {
- "batchUUID": "b15fecaf-57fd-4b63-ab6f-18d630b8793e",
- "subjects": {
- "wb15j2kjk9": {
- "id": 8827,
- "name": "Автомобили с пробегом"
}, - "wb3g6advyh": {
- "id": 8827,
- "name": "Автомобили с пробегом"
}, - "wb3g7xx8g9": {
- "id": 8827,
- "name": "Автомобили с пробегом"
}, - "wb4uphjn61": {
- "id": 8827,
- "name": "Автомобили с пробегом"
}, - "wb64nayozt": {
- "id": 8827,
- "name": "Автомобили с пробегом"
}
}, - "brands": { },
- "vendorCodes": [
- "wb64nayozt",
- "wb15j2kjk9",
- "wb3g7xx8g9",
- "wb3g6advyh",
- "wb4uphjn61"
], - "errors": {
- "wb15j2kjk9": [
- "Поле Наименование не должно содержать запрещенные символы: 😈 😊 🤨"
], - "wb3g6advyh": [
- "Поле Наименование не должно содержать запрещенные символы: 😊 🤨 😈"
], - "wb3g7xx8g9": [
- "Поле Наименование не должно содержать запрещенные символы: 🤯"
], - "wb4uphjn61": [
- "Поле Наименование не должно содержать запрещенные символы: 😊 🤨 😈"
], - "wb64nayozt": [
- "Поле Наименование не должно содержать запрещенные символы: 😈 😊 🤨"
]
}, - "updatedAt": "2025-12-19T23:59:59Z"
}, - {
- "batchUUID": "30aa42ec-fb49-45ec-86d5-ddf9911e7e3f",
- "subjects": {
- "test_pasha1": {
- "id": 184,
- "name": "Рубашки"
}
}, - "brands": { },
- "vendorCodes": [
- "test_pasha1"
], - "errors": {
- "test_pasha1": [
- "Запрещено использовать E-Mail в поле Наименование",
- "Запрещено использовать E-Mail в поле Описание"
]
}, - "updatedAt": "2025-12-20T23:59:59Z"
}
], - "cursor": {
- "next": true,
- "updatedAt": "2025-12-20T23:59:59Z",
- "batchUUID": "1cd79751-de1f-46c8-a444-a941d35dde56"
}
}, - "error": false,
- "errorText": "",
- "additionalErrors": null
}Update Listings{{ /content/v2/cards/update }}
Edits listings. Also use it to add new sizes.
You cannot use this method to update or delete:
- item size SKUs. You can only add additional SKUs
- the
photos,videoandtagsparameters - prices of items. The price can only be set if you add new sizes
When adding a new size, specify its price using the price parameter. If no price is specified in the request, the size price will be 0. In this case, you can update it using the methods:
- Set Prices and Discounts, if item has
"editablePriceSize":false - Set Size Prices, if item has
"editablePriceSize":true
The dimensions of the items can only be specified in centimeters, and the weight of packed items must be specified in kilograms.
If this method response is Success (200) but listing was not updated, check errors using failed listings with errors method.
With one request you can edit maximum 3000 listings (nmID). Maximum request size is 10 Mb.
The process of synchronizing data with services may take up to 30 minutes. During this time, you can't add inventory to warehouses and set prices.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 10 requests | 6 s | 5 requests |
Authorizations:
Request Body schema: application/json
| nmID required | integer WB item number |
| vendorCode required | string Seller item number |
| kizMarked | boolean Default: false Confirmation that required labeling code Chestny ZNAK is specified:
To check if labeling code Chestny ZNAK is required, use the Listings method, the response field |
| brand | string Brand |
| title | string <= 60 characters Item title |
| description | string Item description. |
object Dimensions and weight of the item with packaging. | |
object Documents | |
Array of objects Item characteristics
| |
required | Array of objects Item sizes |
Responses
Request samples
- Payload
[- {
- "nmID": 11111111,
- "vendorCode": "wbiz72wmro",
- "kizMarked": true,
- "brand": "",
- "title": "Свитер женский оверсайз с горлом",
- "description": "12345",
- "dimensions": {
- "length": 35,
- "width": 40,
- "height": 15,
- "weightBrutto": 3
}, - "documents": {
- "items": [
- {
- "id": "019f3c09-8c1f-7063-aee4-c45969fb2dc5",
- "type": 1,
- "number": "123456",
- "productNumber": "123456",
- "tradeName": "Trade Name",
- "applicant": "Applicant Name",
- "startDate": "2023-01-15T03:00:00+03:00",
- "endDate": "2026-01-14T03:00:00+03:00",
- "isEndless": false
}
], - "excludeDocuments": false
}, - "characteristics": [
- {
- "id": 14177450,
- "value": [
- "хлопок 50% акрил 50%"
]
}, - {
- "id": 50,
- "value": [
- "свободный крой"
]
}
], - "sizes": [
- {
- "chrtID": 12345678,
- "techSize": "ONE SIZE",
- "wbSize": "78-90",
- "skus": [
- "123487653460134"
]
}
]
}
]Response samples
- 200
- 400
- 401
- 402
- 403
- 413
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}Merging or Separating of Listings{{ /content/v2/cards/moveNm }}
The method merges and separates listings. Listings are merged if they have the same imtID.
To merge listings, make a request specifying the imtID. You can merge up to 30 listings at a time.
To separate listings, make a request without specifying the imtID. New imtIDs will be generated for the separated listings.
If you separate multiple listings simultaneously, these listings will merge into one and receive a new imtID.
To assign a unique imtID to each listing, you need to send one listing per request.
The maximum request size is 10 MB.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 100 requests | 600 ms | 5 requests |
Exceptions are the methods:
- creating listings
- creating listings with merge
- editing listings
- recovering product card from trash
- getting item recommendation list
- setting item recommendations
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
Request Body schema: application/json
| targetIMT required | integer Existing |
| nmIDs required | Array of integers [ 1 .. 30 ]
|
Responses
Request samples
- Payload
{- "targetIMT": 123,
- "nmIDs": [
- 837459235,
- 828572090
]
}Response samples
- 200
- 400
- 401
- 402
- 403
- 413
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}Transfer Listing to Trash{{ /content/v2/cards/delete/trash }}
Transfers the listing to the trash. In doing so, the listing would not be deleted.
imtID — merged listing ID
After 30 days in the trash the listing would be deleted automatically. The trash is cleared every night according to Moscow time.
The listing can be deleted at any time in personal account.
A listing will remain for sale as long as there is any inventory left, even if moved to the trash. To completely remove the listing from sale, set its inventory to zero.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 100 requests | 600 ms | 5 requests |
| Service | 1 min | 100 requests | 600 ms | 5 requests |
| Base with secret | 1 min | 100 requests | 600 ms | 5 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
Authorizations:
Request Body schema: application/jsonrequired
| nmIDs | Array of integers [ 1 .. 1000 ] Wildberries item numbers |
Responses
Request samples
- Payload
{- "nmIDs": [
- 123456789,
- 987654321
]
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}Recover Listing from Trash{{ /content/v2/cards/recover }}
Returns the listing from trash
imtID — merged listing ID — doesn't remain the same as it was for the listing in the trash
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 3 requests | 20 s | 5 requests |
| Service | 1 min | 3 requests | 20 s | 5 requests |
| Base with secret | 1 min | 3 requests | 20 s | 5 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
Authorizations:
Request Body schema: application/jsonrequired
| nmIDs | Array of integers [ 1 .. 1000 ] Wildberries item numbers |
Responses
Request samples
- Payload
{- "nmIDs": [
- 123456789,
- 987654321
]
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}Listings in Trash{{ /content/v2/get/cards/trash }}
Returns the listings in trash.
To get more than 100 listings, use pagination.
- Make the first request:
{ "settings": { "sort": { "ascending": true }, "cursor": { "limit": 100 } } }To get only listings that were transferred to the trash after data export, use ascending sorting:"sort":{"ascending":true}. - Copy
"trashedAt":"***","nmID":***from thecursorin the response and insert into thecursorof your next request. - Make the next request.
- Repeat 2 and 3 until
totalvalue in the response is less than thelimitvalue in the request. This will mean you got all listings.
To get only listings that were transferred to the trash after the previous data export:
- Save
"trashedAt":"***","nmID":***from thecursorof the previous data export. When data export, use ascending sorting:"sort":{"ascending":true}. - Specify the
"cursor":{"trashedAt":"***","nmID":"***"}saved fields in the first request. Keep using ascending sorting. - Save the
"cursor":{"trashedAt":"***","nmID":"***"}fields from the last response of the current data export.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 100 requests | 600 ms | 5 requests |
Exceptions are the methods:
- creating listings
- creating listings with merge
- editing listings
- recovering product card from trash
- getting item recommendation list
- setting item recommendations
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| locale | string Enum: "ru" "en" "zh" Language for response of the
Not used in the sandbox. The sandbox data is returned only in Russian |
Request Body schema: application/jsonrequired
object Settings |
Responses
Request samples
- Payload
{- "settings": {
- "sort": {
- "ascending": false
}, - "filter": {
- "textSearch": "4603743187500888"
}, - "cursor": {
- "trashedAt": "2023-12-06T11:17:00.96577Z",
- "nmID": 370870300,
- "limit": 11
}
}
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "cards": [
- {
- "nmID": 1234567,
- "vendorCode": "wb5xsy5ftj",
- "kizMarked": true,
- "subjectID": 1436,
- "subjectName": "Ведра хозяйственные",
- "photos": [
- {
}
], - "wholesale": {
- "enabled": true,
- "quantum": 114
}, - "sizes": [
- {
- "chrtID": 111111111,
- "techSize": "0",
- "skus": [
- "xxxxxxxxxxxx"
]
}
], - "dimensions": {
- "length": 35,
- "width": 40,
- "height": 15,
- "weightBrutto": 2.9,
- "isValid": false
}, - "createdAt": "2023-12-05T14:55:09.323462Z",
- "trashedAt": "2023-12-06T10:57:42.193028Z"
}
], - "cursor": {
- "trashedAt": "2023-12-06T10:57:42.193028Z",
- "nmID": 194128521,
- "total": 1
}
}Upload Media File{{ /content/v3/media/file }}
Uploads and adds one media file for the listing.
Requirements for images:
- maximum images for each listing — 30,
- minimal resolution – 700 × 900 pixels,
- maximum size — 32 МB,
- minimal quality — 65%,
- formats — JPG, PNG, BMP, GIF (static), WebP.
Requirements for video:
- maximum one video for each listing
- maximum size — 50 MB
- formats — MOV, MP4
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 100 requests | 600 ms | 5 requests |
| Service | 1 min | 100 requests | 600 ms | 5 requests |
| Base with secret | 1 min | 100 requests | 600 ms | 5 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
header Parameters
| X-Nm-Id required | string Example: 213864079 Wildberries item number |
| X-Photo-Number required | integer Example: 2 Number of media file, starting from To add the image to the uploaded ones, set file the number more then number of uploaded files. |
Request Body schema: multipart/form-datarequired
| uploadfile | string <binary> |
Responses
Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": { },
- "error": false,
- "errorText": "",
- "additionalErrors": null
}Upload Media Files via Links{{ /content/v3/media/save }}
The method uploads a set of media files to a listing by specifying links in the request.
data) replace old ones (mediaFiles). To add new files, set links both to new and old files.
Requirements for links:
- no authorization is required to access the file via the link
- the link must point directly to the file. Ensure the link does not lead to a preview or authentication page. The link must end with the file name including its extension — for example,
/file_name.jpg. If the link opens a TXT or HTML page, it is considered invalid.
Note that some storage services do not generate direct links and therefore are not suitable for use. Google Drive is an example of such a service, as it only generates links to a file preview or internal service pages.
Requirements for images:
- maximum images for each listing — 30
- minimal resolution – 700 × 900 pixels
- maximum size — 32 MB
- minimal quality — 65%
- formats — JPG, PNG, BMP, GIF (static), WebP
Requirements for video:
- maximum one video for each listing
- maximum size — 50 MB
- formats — MOV, MP4
If one or several images or a video do not meet the requirements, no images and a video will be uploaded even if you have the success response (200)
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 100 requests | 600 ms | 5 requests |
| Service | 1 min | 100 requests | 600 ms | 5 requests |
| Base with secret | 1 min | 100 requests | 600 ms | 5 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
Request Body schema: application/jsonrequired
| nmId | integer Wildberries item number |
| data | Array of strings Links to images in the order that they are on the listing, and a video at any position of the array |
Responses
Request samples
- Payload
Response samples
- 200
- 400
- 401
- 402
- 403
- 409
- 422
- 429
{- "data": { },
- "error": false,
- "errorText": "",
- "additionalErrors": null
}Service for operating with the labels of listings. Labels are designed to quickly find a listing in your user panel.
Labels List{{ /content/v2/tags }}
Returns seller labels list
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 100 requests | 600 ms | 5 requests |
| Service | 1 min | 100 requests | 600 ms | 5 requests |
| Base with secret | 1 min | 100 requests | 600 ms | 5 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
Responses
Response samples
- 200
- 401
- 402
- 403
- 429
{- "data": [
- {
- "id": 1,
- "color": "D1CFD7",
- "name": "Sale"
}
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}Create a Label{{ /content/v2/tag }}
Creates a label.
It is possible to create 15 labels.
The maximum length of a label is 15 characters
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 100 requests | 600 ms | 5 requests |
| Service | 1 min | 100 requests | 600 ms | 5 requests |
| Base with secret | 1 min | 100 requests | 600 ms | 5 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
Request Body schema: application/jsonrequired
| color | string Label color. Available colors:
|
| name | string Label name |
Responses
Request samples
- Payload
{- "color": "D1CFD7",
- "name": "Sale"
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": null
}Update the Label{{ /content/v2/tag/{id} }}
Changes label data: name and color
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 100 requests | 600 ms | 5 requests |
| Service | 1 min | 100 requests | 600 ms | 5 requests |
| Base with secret | 1 min | 100 requests | 600 ms | 5 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
path Parameters
| id required | integer Example: 1 Numeric label ID |
Request Body schema: application/jsonrequired
| color | string Label color |
| name | string Label name |
Responses
Request samples
- Payload
{- "color": "D1CFD7",
- "name": "Sale"
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
Success
{- "data": null,
- "error": true,
- "errorText": "Bad request",
- "additionalErrors": null
}Delete the Label{{ /content/v2/tag/{id} }}
Deletes the label
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 100 requests | 600 ms | 5 requests |
| Service | 1 min | 100 requests | 600 ms | 5 requests |
| Base with secret | 1 min | 100 requests | 600 ms | 5 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
path Parameters
| id required | integer Example: 1 Numeric label ID |
Responses
Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": null,
- "error": true,
- "errorText": "Such a label does not exist",
- "additionalErrors": null
}Label Management in the Listing{{ /content/v2/tag/nomenclature/link }}
The method allows to add labels to the listing and remove labels from the listing.
When removing a label from a listing, the label itself is not removed.
It is possible to add 15 labels to a listing.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 1 min | 100 requests | 600 ms | 5 requests |
| Service | 1 min | 100 requests | 600 ms | 5 requests |
| Base with secret | 1 min | 100 requests | 600 ms | 5 requests |
| Base | 1 h | 2 requests | 30 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
Request Body schema: application/jsonrequired
| nmID | integer WB item number |
| tagsIDs | Array of integers An array of numeric label IDs. |
Responses
Request samples
- Payload
{- "nmID": 179891389,
- "tagsIDs": [
- 123456
]
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": null
}Item Recommendations List{{ /api/content/v1/recommendations/list }}
The method returns item recommendations list.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 100 requests | 600 ms | 5 requests |
Authorizations:
Request Body schema: application/json
| brandNames | Array of strings <= 30 items Brands |
| limit | integer [ 0 .. 5000 ] Default: 20 Number of items in the response |
| next | integer Default: 0 Cursor. The last |
| search | string <= 72 characters Search:
|
| subjectIds | Array of integers <= 30 items Subject IDs |
Responses
Request samples
- Payload
{- "brandNames": [
- "Comma"
], - "limit": 20,
- "next": 123,
- "search": "410",
- "subjectIds": [
- 123,
- 5231
]
}Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "nmId": 5870243,
- "imtId": 619043112,
- "vendorCode": "41058/transparent",
- "brandName": "Comma",
- "updatedAt": "2025-11-13T12:56:15.778591Z",
- "picsCount": 4,
- "title": "Transparent phone case",
- "subjectName": "Phone cases",
- "recomCount": 2,
- "recomNms": [
- 17405826,
- 17420062
]
}
], - "next": 143
}Set Item Recommendations{{ /api/content/v1/recommendations/set }}
The method updates, adds or delete item recommendations.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 100 requests | 600 ms | 5 requests |
Authorizations:
Request Body schema: application/jsonrequired
required | Array of objects [ 1 .. 5000 ] items Item recommendations list |
| replace | boolean Default: false Requested action:
|
Responses
Request samples
- Payload
{- "recList": [
- {
- "nmId": 5870243,
- "recommendations": [
- {
- "recomNm": 5870244,
- "sort": 1
}
]
}
], - "replace": true
}Response samples
- 200
- 208
- 400
- 401
- 403
- 429
{- "isError": true,
- "errors": [
- {
- "mainNm": "5870243",
- "recomNm": "5870244",
- "message": "The item has no photo"
}
]
}Methods to set prices and discounts.
When you update price or discounts, some item data may be not updated. For example, if you set incorrect price or discount. Check the upload status with the processed upload state methods.
Upload statuses:
3— processed, no errors in items, prices and discounts were updated4— canceled5— processed, but some items have errors. Prices and Discounts for the other items were updated. You can get errors with the processed upload details method.6— processed, but all items have errors. You can get errors with the processed upload details method too.
If you set discounts with promo calendar, uploads are processing. Discount will be set at promo start. This upload has status 1, and you can get upload state and details with the unprocessed upload state and unprocessed upload details methods.
You can create listings in the Content sandbox and then edit the cards prices in the Prices and Discounts sandbox.
2.
Set Prices and Discounts{{ /api/v2/upload/task }}
Sets prices and discounts.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 6 s | 10 requests | 600 ms | 5 requests |
| Service | 6 s | 10 requests | 600 ms | 5 requests |
| Base with secret | 6 s | 10 requests | 600 ms | 5 requests |
| Base | 1 h | 4 requests | 15 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
Request Body schema: application/jsonrequired
required | Array of objects Items, prices and discounts. Maximum 1,000 items. Both price and discount can not be empty
|
Responses
Request samples
- Payload
{- "data": [
- {
- "nmID": 123,
- "price": 999,
- "discount": 30
}
]
}Response samples
- 200
- 208
- 400
- 401
- 402
- 403
- 409
- 422
- 429
{- "data": {
- "id": 0,
- "alreadyExists": false
}, - "error": false,
- "errorText": ""
}Set Size Prices{{ /api/v2/upload/task/size }}
Sets different prices for different sizes.
Only for items from categories where size price setting is available. For these items "editableSizePrice":true in Get item sizes with prices response.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 6 s | 10 requests | 600 ms | 5 requests |
| Service | 6 s | 10 requests | 600 ms | 5 requests |
| Base with secret | 6 s | 10 requests | 600 ms | 5 requests |
| Base | 1 h | 4 requests | 15 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
Request Body schema: application/jsonrequired
required | Array of objects Sizes and prices. Maximum 1,000 sizes
|
Responses
Request samples
- Payload
{- "data": [
- {
- "nmID": 123,
- "sizeID": 98989887,
- "price": 999
}
]
}Response samples
- 200
- 208
- 400
- 401
- 402
- 403
- 409
- 422
- 429
{- "data": {
- "id": 0,
- "alreadyExists": false
}, - "error": false,
- "errorText": ""
}Set WB Club Discounts{{ /api/v2/upload/task/club-discount }}
Sets WB Club subscription discounts.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 6 s | 10 requests | 600 ms | 5 requests |
| Service | 6 s | 10 requests | 600 ms | 5 requests |
| Base with secret | 6 s | 10 requests | 600 ms | 5 requests |
| Base | 1 h | 4 requests | 15 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
Request Body schema: application/jsonrequired
required | Array of objects Items and WB Club discounts. Maximum 1,000 items. |
Responses
Request samples
- Payload
{- "data": [
- {
- "nmID": 123,
- "clubDiscount": 5
}
]
}Response samples
- 200
- 208
- 400
- 401
- 402
- 403
- 409
- 422
- 429
{- "data": {
- "id": 0,
- "alreadyExists": false
}, - "error": false,
- "errorText": ""
}Processed Upload State{{ /api/v2/history/tasks }}
Returns the processed upload data.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 6 s | 10 requests | 600 ms | 5 requests |
| Service | 6 s | 10 requests | 600 ms | 5 requests |
| Base with secret | 6 s | 10 requests | 600 ms | 5 requests |
| Base | 1 h | 4 requests | 15 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| uploadID required | integer Example: uploadID=146567 Download ID |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": {
- "uploadID": 395643565,
- "status": 3,
- "uploadDate": "2022-08-21T22:00:13+02:00",
- "activationDate": "2022-08-21T22:00:13+02:00",
- "overAllGoodsNumber": 0,
- "successGoodsNumber": 0
}, - "error": false,
- "errorText": ""
}Processed Upload Details{{ /api/v2/history/goods/task }}
Returns items in processed upload including item errors.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 6 s | 10 requests | 600 ms | 5 requests |
| Service | 6 s | 10 requests | 600 ms | 5 requests |
| Base with secret | 6 s | 10 requests | 600 ms | 5 requests |
| Base | 1 h | 4 requests | 15 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| limit required | integer <uint> <= 1000 Example: limit=10 Number of elements per page (pagination) |
| offset | integer <uint> >= 0 Example: offset=0 How many results to skip. For example, with value |
| uploadID required | integer Example: uploadID=146567 Download ID |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": {
- "uploadID": 3235236546,
- "historyGoods": [
- {
- "nmID": 544833232,
- "vendorCode": "34552332",
- "sizeID": 54483342,
- "techSizeName": "42",
- "price": 1500,
- "currencyIsoCode4217": "RUB",
- "discount": 25,
- "clubDiscount": 5,
- "status": 1,
- "errorText": "New price is several times lower than the current price. Item has been moved to Price Quarantine"
}
]
}
}Unprocessed Upload State{{ /api/v2/buffer/tasks }}
Returns the processing upload data.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 6 s | 10 requests | 600 ms | 5 requests |
| Service | 6 s | 10 requests | 600 ms | 5 requests |
| Base with secret | 6 s | 10 requests | 600 ms | 5 requests |
| Base | 1 h | 4 requests | 15 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| uploadID required | integer Example: uploadID=146567 Download ID |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": {
- "uploadID": 395643565,
- "status": 1,
- "uploadDate": "2022-08-21T22:00:13+02:00",
- "activationDate": "2022-08-21T22:00:13+02:00",
- "overAllGoodsNumber": 100,
- "successGoodsNumber": 0
}, - "error": false,
- "errorText": ""
}Unprocessed Upload Details{{ /api/v2/buffer/goods/task }}
Returns items in processing upload including item errors.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 6 s | 10 requests | 600 ms | 5 requests |
| Service | 6 s | 10 requests | 600 ms | 5 requests |
| Base with secret | 6 s | 10 requests | 600 ms | 5 requests |
| Base | 1 h | 4 requests | 15 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| limit required | integer <uint> <= 1000 Example: limit=10 Number of elements per page (pagination) |
| offset | integer <uint> >= 0 Example: offset=0 How many results to skip. For example, with value |
| uploadID required | integer Example: uploadID=146567 Download ID |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": {
- "uploadID": 3235236546,
- "bufferGoods": [
- {
- "nmID": 544833232,
- "vendorCode": "34552332",
- "sizeID": 54483342,
- "techSizeName": "XXL",
- "price": 1500,
- "currencyIsoCode4217": "RUB",
- "discount": 25,
- "clubDiscount": 5,
- "status": 1,
- "errorText": null
}
]
}, - "error": false,
- "errorText": ""
}Get Items with Prices{{ /api/v2/list/goods/filter }}
Returns item data.
You can specify only one item number in one request.
To get data for all items, do not set the item number, set limit=1000, and use the offset field to set the data offset. The offset should be calculated using the formula: offset plus limit from the previous request. Repeat the request until you receive a response with an empty array.
Use separate methods to get data:
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 6 s | 10 requests | 600 ms | 5 requests |
| Service | 6 s | 10 requests | 600 ms | 5 requests |
| Base with secret | 6 s | 10 requests | 600 ms | 5 requests |
| Base | 1 h | 4 requests | 15 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| limit required | integer <uint> <= 1000 Example: limit=10 Number of elements per page (pagination) |
| offset | integer <uint> >= 0 Example: offset=0 How many results to skip. For example, with value |
| filterNmID | integer Example: filterNmID=44589768676 WB item number for search |
Responses
Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "listGoods": [
- {
- "nmID": 98486,
- "vendorCode": "07326060",
- "sizes": [
- {
- "sizeID": 3123515574,
- "price": 500,
- "discountedPrice": 350,
- "clubDiscountedPrice": 332.5,
- "techSizeName": "42"
}
], - "currencyIsoCode4217": "RUB",
- "discount": 30,
- "clubDiscount": 5,
- "editableSizePrice": true,
- "wholesaleDiscountThreshold": [
- {
- "minQuantity": 10,
- "wholesaleDiscount": 10,
- "level": 1
}
]
}
]
}, - "error": false,
- "errorText": ""
}Get Items with Prices by Item Numbers{{ /api/v2/list/goods/filter }}
Returns item data by its item number.
You can specify more than one item number in one request.
Use separate methods to get data:
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 6 s | 10 requests | 600 ms | 5 requests |
| Service | 6 s | 10 requests | 600 ms | 5 requests |
| Base with secret | 6 s | 10 requests | 600 ms | 5 requests |
| Base | 1 h | 4 requests | 15 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
Request Body schema: application/jsonrequired
| nmList required | Array of integers [ 1 .. 1000 ] items WB item numbers for search |
Responses
Request samples
- Payload
{- "nmList": [
- 26613989,
- 1348041
]
}Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "listGoods": [
- {
- "nmID": 98486,
- "vendorCode": "07326060",
- "sizes": [
- {
- "sizeID": 3123515574,
- "price": 500,
- "discountedPrice": 350,
- "clubDiscountedPrice": 332.5,
- "techSizeName": "42"
}
], - "currencyIsoCode4217": "RUB",
- "discount": 30,
- "clubDiscount": 5,
- "editableSizePrice": true,
- "wholesaleDiscountThreshold": [
- {
- "minQuantity": 10,
- "wholesaleDiscount": 10,
- "level": 1
}
]
}
]
}, - "error": false,
- "errorText": ""
}Get Item Sizes with Prices{{ /api/v2/list/goods/size/nm }}
Returns sizes data for the item. Only for items from categories where size price setting is available. For these items "editableSizePrice":true.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 6 s | 10 requests | 600 ms | 5 requests |
| Service | 6 s | 10 requests | 600 ms | 5 requests |
| Base with secret | 6 s | 10 requests | 600 ms | 5 requests |
| Base | 1 h | 4 requests | 15 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| limit required | integer <uint> <= 1000 Example: limit=10 Number of elements per page (pagination) |
| offset | integer <uint> >= 0 Example: offset=0 How many results to skip. For example, with value |
| nmID required | integer Example: nmID=1 WB item number |
Responses
Response samples
- 200
- 400
- 401
- 402
- 403
- 429
{- "data": {
- "listGoods": [
- {
- "nmID": 123,
- "sizeID": 98989887,
- "vendorCode": "34552332",
- "price": 1000,
- "currencyIsoCode4217": "RUB",
- "discountedPrice": 700,
- "clubDiscountedPrice": 665,
- "discount": 30,
- "clubDiscount": 5,
- "techSizeName": "42",
- "editableSizePrice": true
}
]
}, - "error": false,
- "errorText": "string"
}Get Items in Quarantine{{ /api/v2/quarantine/goods }}
Returns information about items in quarantine.
If the new item price with discount is lower than the threshold value, the item will go into price quarantine and the price will not change. You will get the error in the upload details.
You can change price or discount via API or release item from quarantine in personal account.
For items with size-based pricing, quarantine does not apply.
In sandbox items are automatically deleted from quarantine after 3 days.
| Type | Period | Limit | Interval | Burst |
|---|---|---|---|---|
| Personal | 6 s | 10 requests | 600 ms | 5 requests |
| Service | 6 s | 10 requests | 600 ms | 5 requests |
| Base with secret | 6 s | 10 requests | 600 ms | 5 requests |
| Base | 1 h | 4 requests | 15 min | 1 request |
In Sandbox — maximum of 1 request per second for all Content methods in total.
Authorizations:
query Parameters
| limit required | integer <uint> <= 1000 Example: limit=10 Number of elements per page (pagination) |
| offset | integer <uint> >= 0 Example: offset=0 How many results to skip. For example, with value |
Responses
Response samples
- 200
- 400
- 401
- 402
- 403
- 422
- 429
{- "data": {
- "quarantineGoods": [
- {
- "nmID": 206025152,
- "sizeID": null,
- "techSizeName": "",
- "currencyIsoCode4217": "RUB",
- "newPrice": 134,
- "oldPrice": 4000,
- "newDiscount": 25,
- "oldDiscount": 25,
- "priceDiff": -2899.5
}
]
}, - "error": false,
- "errorText": ""
}Get Offices{{ /api/v3/offices }}
Returns a list of all WB offices to link to a seller warehouse when you create or edit it.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 300 requests | 200 ms | 20 requests |
One request with 4XX response codes is counted as 10 requests.
In Sandbox — maximum of 1 request per second for all Marketplace methods in total.
Authorizations:
Responses
Response samples
- 200
- 401
- 403
- 429
[- {
- "address": "ул. Троицкая, Подольск, Московская обл.",
- "name": "Коледино",
- "city": "Москва",
- "id": 15,
- "longitude": 55.386871,
- "latitude": 37.588898,
- "cargoType": 1,
- "deliveryType": 1,
- "federalDistrict": "Центральный",
- "selected": true
}
]Get Warehouses{{ /api/v3/warehouses }}
Returns a list of all seller warehouses. You can use it to work with item inventory.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 300 requests | 200 ms | 20 requests |
One request with 4XX response codes is counted as 10 requests.
In Sandbox — maximum of 1 request per second for all Marketplace methods in total.
Authorizations:
Responses
Response samples
- 200
- 401
- 403
- 429
[- {
- "name": "Kosmonavtov 14",
- "officeId": 15,
- "id": 1,
- "cargoType": 1,
- "deliveryType": 1,
- "isDeleting": false,
- "isProcessing": true
}
]Create Warehouse{{ /api/v3/warehouses }}
Creates a seller warehouse to work with item inventory, except for over dimensional cargo (ODC), by the FBS model (Fulfillment by Seller).
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 300 requests | 200 ms | 20 requests |
One request with 4XX response codes is counted as 10 requests.
In Sandbox — maximum of 1 request per second for all Marketplace methods in total.
Authorizations:
Request Body schema: application/jsonrequired
| name required | string [ 1 .. 200 ] characters Seller warehouse name |
| officeId required | integer >= 1 Office ID. |
Responses
Request samples
- Payload
{- "name": "Koledino 2",
- "officeId": 15
}Response samples
- 201
- 400
- 401
- 402
- 403
- 404
- 409
- 429
{- "id": 2
}Update Warehouse{{ /api/v3/warehouses/{warehouseId} }}
Updates seller warehouse details, except warehouses for over dimensional cargo (ODC, "cargoType":2).
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 300 requests | 200 ms | 20 requests |
One request with 4XX response codes is counted as 10 requests.
In Sandbox — maximum of 1 request per second for all Marketplace methods in total.
Authorizations:
path Parameters
| warehouseId required | integer <int64> Example: 2 The seller warehouse ID |
Request Body schema: application/jsonrequired
| name required | string [ 1 .. 200 ] characters Seller warehouse name |
| officeId required | integer >= 1 Office ID. |
Responses
Request samples
- Payload
{- "name": "Koledino",
- "officeId": 15
}Response samples
- 400
- 401
- 402
- 403
- 404
- 409
- 429
{- "message": "Incorrect request body",
- "code": "IncorrectRequestBody"
}Delete Warehouse{{ /api/v3/warehouses/{warehouseId} }}
Deletes a seller warehouse.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 300 requests | 200 ms | 20 requests |
One request with 4XX response codes is counted as 10 requests.
In Sandbox — maximum of 1 request per second for all Marketplace methods in total.
Authorizations:
path Parameters
| warehouseId required | integer <int64> Example: 2 The seller warehouse ID |
Responses
Response samples
- 401
- 402
- 403
- 404
- 429
{- "title": "unauthorized",
- "detail": "token problem; token is malformed: could not base64 decode signature: illegal base64 data at input byte 84",
- "code": "07e4668e--a53a3d31f8b0-[UK-oWaVDUqNrKG]; 03bce=277; 84bd353bf-75",
- "requestId": "7b80742415072fe8b6b7f7761f1d1211",
- "origin": "ag-marketplace",
- "status": 401,
- "statusText": "Unauthorized",
- "timestamp": "2024-09-30T06:52:38Z"
}Inventory in sellers' warehouses
Update Inventory{{ /api/v3/stocks/{warehouseId} }}
Updates item inventory.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 300 requests | 200 ms | 20 requests |
One request with 4XX response codes is counted as 10 requests.
In Sandbox — maximum of 1 request per second for all Marketplace methods in total.
Authorizations:
path Parameters
| warehouseId required | integer <int64> Example: 2 The seller warehouse ID |
Request Body schema: application/json
required | Array of objects [ 1 .. 1000 ] items Array of size IDs and amounts |
Responses
Request samples
- Payload
{- "stocks": [
- {
- "chrtId": 12345678,
- "amount": 10
}
]
}Response samples
- 400
- 401
- 402
- 403
- 404
- 406
- 409
- 429
{- "message": "Incorrect request body",
- "code": "IncorrectRequestBody"
}Delete Inventory{{ /api/v3/stocks/{warehouseId} }}
Deletes item inventory.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 10 requests | 6 s | 2 requests |
One request with 4XX response codes is counted as 10 requests.
In Sandbox — maximum of 1 request per second for all Marketplace methods in total.
Authorizations:
path Parameters
| warehouseId required | integer <int64> Example: 2 The seller warehouse ID |
Request Body schema: application/jsonrequired
| chrtIds required | Array of integers [ 1 .. 1000 ] items Size IDs array |
Responses
Request samples
- Payload
{- "chrtIds": [
- 123456789
]
}Response samples
- 400
- 401
- 402
- 403
- 404
- 409
- 429
{- "message": "Incorrect request body",
- "code": "IncorrectRequestBody"
}Get Inventory{{ /api/v3/stocks/{warehouseId} }}
Returns item inventory.
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 300 requests | 200 ms | 20 requests |
One request with 4XX response codes is counted as 10 requests.
In Sandbox — maximum of 1 request per second for all Marketplace methods in total.
Authorizations:
path Parameters
| warehouseId required | integer <int64> Example: 2 The seller warehouse ID |
Request Body schema: application/jsonrequired
| chrtIds required | Array of integers <= 1000 items Size IDs array |
Responses
Request samples
- Payload
{- "chrtIds": [
- 12345678
]
}Response samples
- 200
- 400
- 401
- 402
- 403
- 404
- 429
{- "stocks": [
- {
- "chrtId": 12345678,
- "amount": 10
}
]
}