Introduction
Store Inventory enables retailers to manage product availability and pricing at the store level, supporting accurate PDP/ad experiences. Inventory events (upserts and deletes) are sent in batches, enabling real-time updates for price and availability per store. This API is event-driven and multi-tenant.URLs
- For AMERICAS: api.us.criteo.com
- For APAC: api.as.criteo.com
- For EMEA: api.eu.criteo.com
Endpoints
Verb | Endpoint | Description |
|---|---|---|
POST |
| Insert or update store(s) |
POST |
| Delete store(s) |
Store Inventory Attributes
Attribute | Data Type | Description |
|---|---|---|
| integer | The ID of the managing account. Criteo: the Accepted values: integer (int32) Writeable? N / Nullable? N |
| String | Identifies this event. Should be unique for a given endpoint call. Writeable? Y / Nullable? N |
| String | Identifies a product Accepted values: up to 50 chars string Writeable? Y / Nullable? N |
| String | Identifies the store for the customer. Accepted values: up to 64 chars string Writeable? Y / Nullable? N |
| String | Accepted values: In stock, Out of stock, Preorder, Backorder Writeable? Y / Nullable? N |
| String | Product’s price at this store Accepted values: up to 14 chars string Writeable? Y / Nullable? N |
| String | The sale price of the product Accepted values: up to 14 chars string Writeable? Y / Nullable? Y |
- Writeable (Y/N): Indicates if the field can be modified in requests.
- Nullable (Y/N): Indicates if the field can accept null/empty values.
- Primary Key: A unique, immutable identifier of the entity, generated internally by Criteo. Primary keys are typically ID fields (e.g.,
merchantId,batchId,productId) and are usually required in the URL path.
Upsert Store Inventory
Send a batch of inventory upsert events for a merchant.Sample request
Sample Response
Delete Store Inventory
Send a batch of inventory delete events for a merchant.Sample Request
Response Example
Error Codes
Error code | Error text | Description |
|---|---|---|
400 | Bad request | Validation errors, required fields, unique |
400 | Request too large | Payload exceeds 1000 events |
401 | Unauthorized | Authentication required |
403 | Forbidden | Not authorized |
429 | Too Many Requests | Rate limiting |
500 | Internal Error | Server error |
503 | Service Unavailable | Service temporarily unavailable |