Bulk Reconcile Items

Beta
POST/v1/catalog/items/actions/bulk-reconcile

Idempotent with Idempotency-Key header. Learn more

Reconciles inventory for multiple items by SKU in one call, the bulk equivalent of counting stock and correcting the books.

reconcile_type controls whether each quantity is added to the item's current quantity (addition) or replaces it (force). The figure a force measures against is what is on hand net of demand nothing has covered, the same basis the single-item endpoint uses. The response reports each item as reconciled, skipped (e.g. unknown SKU), or errored (e.g. unknown unit), so a problem with one item does not fail the rest of the batch.

Each correction is written to the item's inventory audit trail as a user correction, attributed to the caller.

Permissions requiredValues:items:create
The role behind your API key or agent must grant every one of these permissions.
dataarray of object

Items to reconcile.

skustring

SKU of the item to reconcile.

Items whose SKU does not match an existing item are reported in the response's skipped_items rather than failing the request.

unitstring

Abbreviation of a unit available to your account (e.g. kg).

The unit is checked for existence only: the quantity is always recorded in the item's own base unit, so send figures already expressed in that unit. Rows naming an abbreviation that matches no built-in or account-defined unit are reported in the response's errors.

quantitystring (decimal)

Quantity to apply, interpreted according to the request's reconcile_type.

A decimal string rather than a number: a quantity that has been through a binary float is not the quantity you sent.

reconcile_typestringenumValues:additionforce

How each item's quantity is applied to its current quantity.

  • addition: adds the quantity to the item's current quantity.
  • force: sets the item's current quantity to exactly the given quantity.
objectstringenumValues:bulk_reconcile_items_response

Resource type identifier.

reconciled_itemslistnullable

Items whose inventory was successfully reconciled.

objectstringenumValues:list

Resource type identifier.

page_infoobject

Pagination metadata.

next_page_urlstringnullable

Relative URL that fetches the next page of results.

previous_page_urlstringnullable

Relative URL that fetches the previous page of results.

has_next_pageboolean

Whether more results exist after this page.

has_prev_pageboolean

Whether results exist before this page.

dataarray of object

Resources in this page.

item_idstring

Item ID.

skustring

Item SKU.

previous_quantitystring (decimal)

Quantity before the reconciliation, as a decimal string.

new_quantitystring (decimal)

Quantity after the reconciliation, as a decimal string.

skipped_itemslistnullable

Items that were skipped, e.g. because no item with the given SKU exists.

objectstringenumValues:list

Resource type identifier.

page_infoobject

Pagination metadata.

next_page_urlstringnullable

Relative URL that fetches the next page of results.

previous_page_urlstringnullable

Relative URL that fetches the previous page of results.

has_next_pageboolean

Whether more results exist after this page.

has_prev_pageboolean

Whether results exist before this page.

dataarray of object

Resources in this page.

skustring

Item SKU.

reasonstring

Human-readable reason the item was skipped.

errorslistnullable

Items that failed to reconcile, e.g. because the given unit does not exist or the inventory write failed.

objectstringenumValues:list

Resource type identifier.

page_infoobject

Pagination metadata.

next_page_urlstringnullable

Relative URL that fetches the next page of results.

previous_page_urlstringnullable

Relative URL that fetches the previous page of results.

has_next_pageboolean

Whether more results exist after this page.

has_prev_pageboolean

Whether results exist before this page.

dataarray of object

Resources in this page.

skustring

Item SKU.

errorstring

Error message.

Responses

200

Successful response for Bulk Reconcile Items