Create Records

Creates a new entity, or fully replaces the stored row for an existing key (a full-row upsert): omitted optional fields are reset, not preserved. Use PUT when you need to retain fields you are not changing.

Batch rules

  • The body is a JSON array of 1–500 records. The limit is a record count, not a byte-size guarantee — split earlier when records carry large translation or extra objects.
  • Entities must be sent in order of hierarchy: Category → Class → Type → Event → Market → Selection, parents before children.
  • Each HTTP method applies one action to the whole array — do not mix create, update, and delete in one request.
  • Do not include the same entity type and key more than once in a batch; the first occurrence wins.

Record expiry — the optional X-Expires-After header (integer seconds, minimum 60, at most 2147483647) applies the same relative expiry to every record in the request. POST without the header creates or replaces the row without an expiry — clearing any existing expiry as part of the full-row replacement. Expiry is evaluated asynchronously and is not an exact client-side scheduler.

Retries — there is no client-supplied idempotency key. A repeated POST converges to the full row in the retried request, potentially overwriting a newer change. Ordering is not guaranteed across concurrent requests, so serialise dependent writes.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Rate Limit

For Optimove's general API rate limit, see the Understanding API Rate Limits reference.

Body Params

A list of entities to add to the inventory. These must be in order of hierarchy.

Creates new entities

Post Request
Headers
string
required

Your API key for authentication

string
required

The brand key identifying which brand this data belongs to

int32
≥ 60

TTL in seconds; minimum 60

string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
application/vnd.optimove.optix.inventory.records.v2+json