Legacy method for updating stock levels (partner fulfillment)

Deprecation Notice

The Offers API will be scheduled for removal in the future. If you're integrated with this API we'll reach out to you once the roll out plan has been defined. The new Stocks API brings numerous improvements and if you're building a new integration we recommend to use this API.


Use the Offers API to update stock levels for any product in the Zalando Catalog.

The Offers API is for use with Partner Fulfillment only.

To update stock levels for a product, it must already exist in the Zalando Catalog. For more information, see Checking if a Product Exists in the Zalando Catalog.

There are two steps to updating stock levels:

  1. Specify the stock level change you wish to make in a JSON, and
  2. POST the JSON file with the Offers API.

Create a JSON

In each request, you may update the stock level of one EAN in one sales channel for one merchant. Batch updates are not supported.

Use the following structure for your stock update:

  "stock": $amount,
  "merchant_simple_id": "$your_merchant_simple_id",
  "ean": "$ean",
  "sales_channel_id": "$sales_channel"

This example illustrates a typical update:

  "stock": 12,
  "merchant_simple_id": "76457241",
  "ean": "9780679762881",
  "sales_channel_id": "01924c48-49bb-40c2-9c32-ab582e6db6f4"

JSON Requirements

The ean of the product must already exist in the Zalando Catalog.

For more information on merchant_simple_ids, see Product Identifiers and Product Mapping in Products Onboarding Overview.

For a list of available sales channel IDs, see Sales Channels.



The zDirect API requires OAuth 2.0 authentication for all API calls. Use the Authentication API to generate access tokens as described in the Authentication section.

Submit the JSON

POST the JSON to the following endpoint:


For example, the following httpie command will POST the local file stock_update.json to zDirect:

http POST \
/merchants/{$MERCHANT_ID}/product-stock \
"Authorization:Bearer $YOUR_ACCESS_TOKEN" \
'Content-Type: application/json' \
< stock_update.json

Response: Successful

After successful execution of the POST, you receive an HTTP 204 response code with the following message:

The stock was updated

Response: Unsuccessful

HTTP Code Description
400 Error in the body of your post.
404 The Merchant Identifier or the product were not found.
409 Request could not be completed due to business reasons.
429 The service is under significant load, please try again later.

Additional Resources

Contact Support