Skip to main content

Add Inventory Items

Add one or more inventory items to an item-tracked store product. Each item is created as an individual record with total_quantity: 1.

Provide either identifier + quantity for a numbered run, or an identifiers array of exact codes:

  • Numbered run: the number at the end of identifier is continued, preserving its zero-padding -- identifier: "A-0001", quantity: 3 creates A-0001, A-0002, A-0003. A quantity of 1 saves the code exactly (no suffix). A code with no trailing number falls back to {identifier}-1, {identifier}-2, ... A blank identifier creates unlabeled items.
  • Exact list (identifiers): each string is saved verbatim as its own item -- use this for serial numbers.

The -N suffix only ever appears to avoid a clash. Numbers already in use are skipped; an exact code that already exists returns a 422 and nothing is created.

Endpointโ€‹

POST /v1/store-products/{id}/inventory-items

Authenticationโ€‹

Requires an API key with the store:write scope.

Parametersโ€‹

ParameterTypeLocationDescription
idintegerpathThe store product ID

Request Bodyโ€‹

FieldTypeRequiredDescription
quantityintegerConditionalNumber of items to add (1--100). Required unless identifiers is provided
identifierstringNoStarting code for a numbered run (max 255 characters). A blank value creates unlabeled items
identifiersstring[]ConditionalAn array of exact codes, one record each (saved verbatim). Use instead of identifier + quantity
variation_idintegerNoProduct variation ID to associate with
location_idintegerNoSupplier location ID to assign items to (see Locations)

Responseโ€‹

Success (201 Created)โ€‹

{
"data": {
"product_id": 5,
"items_added": 3,
"new_stock_quantity": 10
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-02-13T12:00:00+00:00"
}
}

Errorsโ€‹

StatusCodeDescription
401authentication_requiredNo API key provided
401invalid_api_keyInvalid API key
403insufficient_scopeAPI key lacks store:write scope
404resource_not_foundStore product does not exist
422not_item_trackedProduct does not use item-level inventory tracking
422validation_errorInvalid request body
422inventory_errorBusiness logic error

Example Requestโ€‹

curl -X POST "https://app.equipdash.com/api/v1/store-products/5/inventory-items" \
-H "Authorization: Bearer eqd_live_abc123xyz789..." \
-H "Content-Type: application/json" \
-d '{
"quantity": 3,
"identifier": "WIDGET",
"variation_id": 3,
"location_id": 1
}'