Inventory API for products and stock items, quantities, pricing, locations, barcodes, valuation, imports, reservations, transfers, transformations, and stock status.
Generated from the Celerp 2.9.0 OpenAPI schema, .
GET/items
List Inventory Items
Return inventory items matching the documented filters and pagination options.
Parameters
Name
In
Required
Type
Description
limit
query
--
integer
Maximum number of records to return.
offset
query
--
integer
Number of matching records to skip before returning results.
q
query
--
string, optional
Search text used to filter matching records.
sku
query
--
string, optional
Exact stock keeping unit used to filter inventory items.
skus
query
--
string, optional
Comma-separated list of exact stock keeping units to include.
barcode
query
--
string, optional
Barcode value used to find matching inventory items.
gtin
query
--
string, optional
Global Trade Item Number used to find matching inventory items.
rfid_epc
query
--
string, optional
RFID Electronic Product Code used to find matching inventory items.
status
query
--
string, optional
Record or workflow status used to filter results or select the requested lifecycle state.
category
query
--
string, optional
Category value used to filter or identify the requested configuration.
inventory_type
query
--
string, optional
Inventory type used to filter items.
location_id
query
--
string, optional
Identifier of the inventory or business location.
source
query
--
string, optional
Connected store platform, for example shopify or woocommerce. Keeps only items linked to that store.
filter
query
--
string, optional
Named filter: low_stock keeps items at or below their reorder point, demo keeps setup samples that were never edited or used.
on_memo_to
query
--
string, optional
Contact identifier used to filter inventory currently assigned on a memo to that contact.
consigned_from
query
--
string, optional
Contact identifier used to filter inventory received on consignment from that contact.
sort
query
--
string, optional
Field or supported sort key used to order the result.
dir
query
--
string
Sort direction, typically ascending or descending.
Responses
Status
Description
Body
200
Returns the requested inventory items.
object
422
The request failed validation. The response lists each invalid field and why.
HTTPValidationError
Example
curl -X GET http://localhost:8000/items \
-H "Authorization: Bearer $TOKEN"
POST/items
Create Inventory Item
Create an inventory item from the supplied request data.
Request body
Field
Type
Required
Description
sku
string, optional
--
Stock keeping unit used to identify the inventory item.
name
string
yes
Human-readable name for the record.
sell_by
string, optional
--
Inventory measurement basis used to sell or track the item.
quantity
number
--
Inventory or production quantity for the operation.
category
string, optional
--
Inventory category assigned to the item.
location_id
string, optional
--
Identifier of the inventory or business location.
cost_price
number, optional
--
Unit cost recorded for the inventory item.
cost_total
number, optional
--
Total cost assigned to the inventory quantity.
wholesale_price
number, optional
--
Wholesale selling price for the inventory item.
retail_price
number, optional
--
Retail selling price for the inventory item.
description
string, optional
--
Human-readable description of the record or business purpose.
unit
string, optional
--
Unit of measure for the inventory item.
barcode
string, optional
--
Barcode value assigned to or scanned for the inventory item.
auto_barcode
boolean
--
Whether Celerp should generate a barcode automatically when supported.
gtin
string, optional
--
Global Trade Item Number assigned to the inventory item.
rfid_epc
string, optional
--
RFID Electronic Product Code assigned to the inventory item.
hs_code
string, optional
--
Harmonized System customs classification code for the item.
tax_codes
array of string
--
Tax codes associated with the inventory item.
purchase_sku
string, optional
--
Supplier or purchasing SKU for the item.
purchase_name
string, optional
--
Supplier-facing or purchasing name for the item.
purchase_unit
string, optional
--
Unit of measure used when purchasing the item.
purchase_conversion_factor
number, optional
--
Conversion factor between the purchasing unit and the inventory or selling unit.
allow_splitting
boolean
--
Whether the inventory item may be split into child quantities or lots.
default_sell_qty
string or number, optional
--
How much one scan adds to a sale: "full" for everything left, or a number above 0 the item's unit allows. Unset uses the unit's default (1 for pieces, otherwise full).
attributes
object
--
Custom or category-specific attributes associated with the record.
idempotency_key
string, optional
--
Client-supplied idempotency key identifying this operation so the same request can be retried safely.
inventory_type
string, optional
--
Inventory classification controlling how the item is tracked.
landed_cost_kind
string, optional
--
Landed-cost classification used for inventory costing when applicable.
recoverable
boolean, optional
--
Whether the item or landed-cost treatment is marked recoverable when supported.
Responses
Status
Description
Body
200
Returns the created inventory item or creation result.
object
422
The request failed validation. The response lists each invalid field and why.
Undo a delete that moved items to Deleted. Each item comes back as the draft it was. Every selected item must be deleted. Otherwise nothing is restored and the response names the items that are not.
Request body
Field
Type
Required
Description
entity_ids
array of string
yes
Identifiers of the deleted items to restore.
Responses
Status
Description
Body
200
Returns `restored`, the number of items restored.
object
422
The request failed validation. The response lists each invalid field and why.
Preview import rows that are already mapped to Celerp fields. Nothing is written. The response returns the `preview_hash` that the commit must send. The commit is refused when the rows or what they mean now have changed since.
Request body
Field
Type
Required
Description
rows
array of object
yes
Mapped import rows to preview.
upsert
boolean
--
Whether matching imported records may update existing records.
idempotency_key
string, optional
--
Client-supplied idempotency key identifying this operation so the same request can be retried safely.
decisions
ImportDecisions
--
Choices made about duplicate rows in the import.
Responses
Status
Description
Body
200
Returns the errors, the locations to create, the counts, the summary rows, the duplicate groups, the decisions and the `preview_hash`.
InventoryImportRowsPreview
422
The request failed validation. The response lists each invalid field and why.
Show what merging these items would do to the books, before the merge is confirmed. Send the same body the merge will be confirmed with, apart from `idempotency_key` and `plan_fingerprint`. The merge is refused if the request or the items change between the preview and the confirmation.
Request body
Field
Type
Required
Description
source_entity_ids
array of string
yes
Identifiers of the source inventory items being merged.
target_sku_from
string
yes
Source item whose SKU should be retained for the merged result.
resulting_quantity
number, optional
--
Quantity to assign to the merged inventory result.
resulting_cost_total
number, optional
--
Total cost to assign to the merged inventory result.
resulting_name
string, optional
--
Name to assign to the merged inventory result.
resulting_sku
string, optional
--
SKU to assign to the merged inventory result.
resolved_attributes
object, optional
--
Final custom attributes to assign to the merged inventory result.
idempotency_key
string, optional
--
Client-supplied idempotency key identifying this operation so the same request can be retried safely.
plan_fingerprint
string, optional
--
Fingerprint from the merge preview. A merge without one is refused, and so is one whose items changed since the preview.
Responses
Status
Description
Body
200
Returns the inventory reclassification the merge would make and the `plan_fingerprint` to confirm it with.
object
422
The request failed validation. The response lists each invalid field and why.
Undo a merge: the merged items hold their own stock again, each on the inventory
account it was in before, and the merge's reclassification entry is reversed.
Only while nothing has happened to the merged item or its sources since the merge;
after that the merge is part of what followed and stays.
Parameters
Name
In
Required
Type
Description
entity_id
path
yes
string
Identifier of the requested Celerp record.
Responses
Status
Description
Body
200
Successful Response
object
422
Validation Error
HTTPValidationError
Example
curl -X POST http://localhost:8000/items/:entity_id/undo-merge \
-H "Authorization: Bearer $TOKEN"
POST/items/{entity_id}/unreserve
Release Reserved Inventory
Release a reservation so the quantity is available again.
Parameters
Name
In
Required
Type
Description
entity_id
path
yes
string
Identifier of the requested Celerp record.
Request body
Field
Type
Required
Description
quantity
number
yes
Inventory or production quantity for the operation.
idempotency_key
string, optional
--
Client-supplied idempotency key identifying this operation so the same request can be retried safely.
Responses
Status
Description
Body
200
Returns the ID of the recorded event.
object
422
The request failed validation. The response lists each invalid field and why.