Skip to content

Update Inventory ​

http
PUT /api/v3/stocks/{warehouseId}

Base URL: https://marketplace-api.wildberries.ru · Module: items · Section: Seller Warehouses Inventory · Specification doc ↗

Updates item inventory.

The names of the query parameters are not validated. If invalid names are sent, the response will be successful(204), but the remaining amounts will not be updated.

Request limit per one seller account for all inventory methods except for the deleting inventory method:

PeriodLimitIntervalBurst
1 min300 requests200 ms20 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.

Request body ​

application/json — schema object, optional

  • stocks object[] (required) — Array of size IDs and amounts
    • chrtId integer<int64> (required) — Size ID
    • amount integer<int64> (required) — Stock

Responses ​

CodeDescriptionSchema
204Updated—
400Bad requestError
401Unauthorizedobject
402Payment requiredobject
403Access deniedError
404Not foundError
406Not AcceptableUpdateBlocked
409ConflictPutV3StocksWarehouseIdResponse409
429Too many requestsobject

Structure 400:

  • code string — Error code
  • message string — Error details

Structure 401:

  • title string — Error title
  • detail string — Error details
  • code string — Internal error code
  • requestId string — Unique request ID
  • origin string — WB internal service ID
  • status number — HTTP status code
  • statusText string — Text of the HTTP status code
  • timestamp string — Request date and time

Structure 402:

Structure 403:

  • code string — Error code
  • message string — Error details

Structure 404:

  • code string — Error code
  • message string — Error details

Structure 406:

  • code string — Error code
  • message string — Error details

Structure 409 — object[]:

  • data object[] — Additional data about the error
    • sku string — Not used
    • chrtId integer<int64> — Size ID
    • amount integer<int64> — Inventory
  • code string — Error code
  • message string — Error details

Structure 429:

  • title string — Error title
  • detail string — Error details
  • code string — Internal error code
  • requestId string — Unique request ID
  • origin string — WB internal service ID
  • status number — HTTP status code
  • statusText string — Text of the HTTP status code
  • timestamp string — Request date and time

Call examples ​

Arguments are shown as parameter names — substitute your own values. Languages whose client does not expose this operation are omitted.

python
from wb_api_client.items import Configuration, ApiClient
from wb_api_client.items.api import ItemsApi

cfg = Configuration(access_token="<your WB JWT>")
api = ItemsApi(ApiClient(cfg))

result = api.put_v3_stocks_warehouse_id(warehouse_id=..., put_v3_stocks_warehouse_id_request=...)
print(result)
ts
import {
  Configuration,
  ItemsApi,
} from "@valeryverkhoturov/wb-api-client/items";

const cfg = new Configuration({});
cfg.setAccessToken("<your WB JWT>");
const api = new ItemsApi(cfg);

const { data } = await api.putV3StocksWarehouseId(warehouseId, putV3StocksWarehouseIdRequest);
console.log(data);
go
import (
	"context"
	"fmt"

	wbitems "github.com/ValeryVerkhoturov/wb-api-client-go/items"
)

cfg := wbitems.NewConfiguration()
cfg.SetAccessToken("<your WB JWT>")
client := wbitems.NewAPIClient(cfg)

result, _, err := client.ItemsAPI.PutV3StocksWarehouseId(context.Background(), warehouseId).Execute()
if err != nil {
    panic(err)
}
fmt.Printf("%+v\n", result)
java
import io.github.valeryverkhoturov.wbapi.items.ApiClient;
import io.github.valeryverkhoturov.wbapi.items.SecretString;
import io.github.valeryverkhoturov.wbapi.items.api.ItemsApi;

ApiClient client = new ApiClient();
client.setAccessToken(new SecretString("<your WB JWT>"));
ItemsApi api = new ItemsApi(client);

System.out.println(api.putV3StocksWarehouseId(warehouseId, putV3StocksWarehouseIdRequest));
php
use ValeryVerkhoturov\WbApiClient\Items\Configuration;
use ValeryVerkhoturov\WbApiClient\Items\SecretString;
use ValeryVerkhoturov\WbApiClient\Items\Api\ItemsApi;
use GuzzleHttp\Client;

$config = (new Configuration())
    ->setAccessTokenSecret(new SecretString('<your WB JWT>'));
$api = new ItemsApi(new Client(), $config);

print_r($api->putV3StocksWarehouseId($warehouse_id));
bsl
#Использовать "wb-api-client"

Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<your WB JWT>");
Клиент = Новый ItemsApi(Настройки);

Сообщить(Клиент.PutV3StocksWarehouseId(warehouseId, Тело).Тело);
csharp
using ValeryVerkhoturov.WbApiClient.Items.Api;
using ValeryVerkhoturov.WbApiClient.Items.Client;

var config = new Configuration();
config.AccessTokenSecret = new SecretString("<your WB JWT>");
var api = new ItemsApi(config);

Console.WriteLine(api.PutV3StocksWarehouseId(warehouseId));
rust
use wb_api_client::items::apis::{configuration::Configuration, items_api};

#[tokio::main]
async fn main() {
    let mut cfg = Configuration::new();
    cfg.set_access_token("<your WB JWT>");

    let result = items_api::put_v3_stocks_warehouse_id(&cfg, warehouse_id, put_v3_stocks_warehouse_id_request).await;
    println!("{:#?}", result);
}