REST API
Items API
Inventory API for products and stock items, quantities, pricing, locations, barcodes, valuation, imports, reservations, transfers, transformations, and stock status.
Generated from the Celerp 2.5.0 OpenAPI schema, 21 September 2026.
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 | Stock keeping units used to filter inventory items. |
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 | Source value used to filter records by origin. |
filter | query | -- | string, optional | Named inventory filter or filter expression supported by the endpoint. |
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 | yes | 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. |
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 | -- | 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. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
POST /items/bulk/delete
Bulk Delete Inventory Items
Delete multiple selected inventory items in one request.
Request body
| Field | Type | Required | Description |
|---|
entity_ids | array of string | yes | Identifiers of the business records included in the operation. |
Responses
| Status | Description | Body |
|---|
200 | Returns the IDs of the deleted items. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/bulk/delete \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
POST /items/bulk/expire
Bulk Expire Inventory Items
Expire multiple selected inventory items in one request.
Request body
| Field | Type | Required | Description |
|---|
entity_ids | array of string | yes | Identifiers of the business records included in the operation. |
Responses
| Status | Description | Body |
|---|
200 | Returns the number of items expired. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/bulk/expire \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
POST /items/bulk/make-available
Bulk Add Draft Items to Stock
Move multiple selected draft inventory items into available stock.
Request body
| Field | Type | Required | Description |
|---|
entity_ids | array of string | yes | Identifiers of the business records included in the operation. |
Responses
| Status | Description | Body |
|---|
200 | Returns the number of items updated and the IDs of the recorded events. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/bulk/make-available \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
POST /items/bulk/revert-to-draft
Bulk Revert Inventory Items to Draft
Revert multiple selected inventory items to draft status.
Request body
| Field | Type | Required | Description |
|---|
entity_ids | array of string | yes | Identifiers of the business records included in the operation. |
reason | string, optional | -- | Human-readable reason for the lifecycle change, cancellation, void, or other operation. |
Responses
| Status | Description | Body |
|---|
200 | Returns the number of items updated and the IDs of the recorded events. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/bulk/revert-to-draft \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
POST /items/bulk/shopify-sync
Bulk Update Shopify Sync
Update Shopify synchronization settings for multiple selected inventory items.
Request body
| Field | Type | Required | Description |
|---|
entity_ids | array of string | yes | Identifiers of the business records included in the operation. |
enable | boolean | -- | Whether the selected integration or synchronization option should be enabled. |
Responses
| Status | Description | Body |
|---|
200 | Returns the number of items updated and the new sync setting. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/bulk/shopify-sync \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
POST /items/bulk/status
Bulk Update Inventory Status
Update the status of multiple selected inventory items in one request.
Request body
| Field | Type | Required | Description |
|---|
entity_ids | array of string | yes | Identifiers of the business records included in the operation. |
status | string | yes | Inventory status to assign to all selected items. |
Responses
| Status | Description | Body |
|---|
200 | Returns the number of items updated and the IDs of the recorded events. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/bulk/status \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
POST /items/bulk/transfer
Bulk Transfer Inventory Items
Move several items to another location in one request.
Request body
| Field | Type | Required | Description |
|---|
entity_ids | array of string | yes | Identifiers of the business records included in the operation. |
to_location_id | string | yes | Identifier of the destination inventory location. |
Responses
| Status | Description | Body |
|---|
200 | Returns the number of items moved and the IDs of the recorded events. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/bulk/transfer \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
GET /items/categories
List Inventory Categories
Return the available inventory categories.
Responses
| Status | Description | Body |
|---|
200 | Returns the requested inventory categories. | array of string |
Example
curl -X GET http://localhost:8000/items/categories \
-H "Authorization: Bearer $TOKEN"
GET /items/export/csv
Export Inventory Items to CSV
Export inventory items to CSV.
Parameters
| Name | In | Required | Type | Description |
|---|
cols | query | -- | string, optional | Comma-separated column names to export, in the order they should appear. Omit for the default columns. |
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 | Stock keeping units used to filter inventory items. |
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 | Source value used to filter records by origin. |
filter | query | -- | string, optional | Named inventory filter or filter expression supported by the endpoint. |
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 generated file or download response. | -- |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X GET http://localhost:8000/items/export/csv \
-H "Authorization: Bearer $TOKEN"
GET /items/field-values
List Inventory Field Values
Return inventory field values matching the documented filters and pagination options.
Parameters
| Name | In | Required | Type | Description |
|---|
field | query | yes | string | Categorical inventory field whose distinct values should be returned. |
Responses
| Status | Description | Body |
|---|
200 | Returns the requested inventory field values. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X GET http://localhost:8000/items/field-values \
-H "Authorization: Bearer $TOKEN"
POST /items/import/batch
Batch Import Inventory Items
Import multiple inventory items in one request.
Request body
| Field | Type | Required | Description |
|---|
records | array of ImportRecord | yes | List of records included in the batch request. |
filename | string, optional | -- | Original or display filename associated with the import. |
upsert | boolean | -- | Whether matching imported records may update existing records. |
Responses
| Status | Description | Body |
|---|
200 | Returns how many items were created, skipped or failed, with the reason for each failure. | celerp_inventory__services__BatchImportResult |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/import/batch \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
GET /items/import/batches
List Inventory Import Batches
List all import batches for this company, newest first.
Responses
| Status | Description | Body |
|---|
200 | Returns the requested inventory import batches. | object |
Example
curl -X GET http://localhost:8000/items/import/batches \
-H "Authorization: Bearer $TOKEN"
POST /items/import/batches/{batch_id}/undo
Undo Inventory Import Batch
Undo an import batch only when none of its created items changed later.
Parameters
| Name | In | Required | Type | Description |
|---|
batch_id | path | yes | string | Identifier of the import batch. |
Responses
| Status | Description | Body |
|---|
200 | Returns `ok: true` and how many items were removed. When items changed after the import, the undo is refused and those items are listed. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/import/batches/:batch_id/undo \
-H "Authorization: Bearer $TOKEN"
POST /items/import/commit
Commit Inventory Import
Commit an item import you previewed. If the file or column mapping changed since the preview, the import is refused.
Request body
| Field | Type | Required | Description |
|---|
file_id | string | yes | Identifier of an uploaded file. |
sheet | string, optional | -- | Worksheet to import from a spreadsheet file. |
upsert | boolean | -- | Whether matching imported records may update existing records. |
mapping | object, optional | -- | Source-column to Celerp-field mapping used for the import. |
preview_hash | string | yes | Identifier of the previously generated import preview being committed. |
Responses
| Status | Description | Body |
|---|
200 | Returns how many items were created, skipped or failed, and the import batch ID for undo. | celerp_inventory__services__BatchImportResult |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/import/commit \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
GET /items/import/preview
Get Inventory Import Preview
Return inventory import preview.
Parameters
| Name | In | Required | Type | Description |
|---|
file_id | query | yes | string | Identifier of the uploaded or stored file. |
sheet | query | -- | string, optional | Worksheet name or index to use from the uploaded spreadsheet. |
upsert | query | -- | boolean | Whether matching imported records may update existing records instead of creating only new records. |
Responses
| Status | Description | Body |
|---|
200 | Returns the requested inventory import preview result. | InventoryImportPreview |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X GET http://localhost:8000/items/import/preview \
-H "Authorization: Bearer $TOKEN"
POST /items/import/preview
Create Inventory Import Preview
Preview an uploaded catalog with an optional caller-corrected mapping.
Request body
| Field | Type | Required | Description |
|---|
file_id | string | yes | Identifier of an uploaded file. |
sheet | string, optional | -- | Worksheet to import from a spreadsheet file. |
upsert | boolean | -- | Whether matching imported records may update existing records. |
mapping | object, optional | -- | Source-column to Celerp-field mapping used for the import. |
Responses
| Status | Description | Body |
|---|
200 | Returns the created inventory import preview or creation result. | InventoryImportPreview |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/import/preview \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
POST /items/import/rows
Import Mapped Inventory Rows
Import item rows that are already mapped to Celerp fields.
Request body
| Field | Type | Required | Description |
|---|
rows | array of object | yes | Mapped import rows to commit. |
upsert | boolean | -- | Whether matching imported records may update existing records. |
filename | string, optional | -- | Original or display filename associated with the import. |
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 how many items were created, skipped or failed, and the import batch ID for undo. | celerp_inventory__services__BatchImportResult |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/import/rows \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
POST /items/merge
Merge Inventory Items
Merge several items into one, combining their stock and history.
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. |
Responses
| Status | Description | Body |
|---|
200 | Returns the ID of the item that the others were merged into. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/merge \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
POST /items/metadata
Get Inventory Item Metadata
Return inventory item metadata.
Request body
| Field | Type | Required | Description |
|---|
entity_ids | array of string | yes | Identifiers of the business records included in the operation. |
Responses
| Status | Description | Body |
|---|
200 | Returns the requested inventory item metadata result. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/metadata \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
GET /items/valuation
Get Inventory Valuation
Return inventory valuation.
Parameters
| Name | In | Required | Type | Description |
|---|
category | query | -- | string, optional | Category value used to filter or identify the requested configuration. |
status | query | -- | string, optional | Record or workflow status used to filter results or select the requested lifecycle state. |
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. |
Responses
| Status | Description | Body |
|---|
200 | Returns the requested inventory valuation result. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X GET http://localhost:8000/items/valuation \
-H "Authorization: Bearer $TOKEN"
GET /items/{entity_id}
Get Inventory Item
Return inventory item.
Parameters
| Name | In | Required | Type | Description |
|---|
entity_id | path | yes | string | Identifier of the requested Celerp record. |
Responses
| Status | Description | Body |
|---|
200 | Returns the requested inventory item result. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X GET http://localhost:8000/items/:entity_id \
-H "Authorization: Bearer $TOKEN"
PATCH /items/{entity_id}
Update Inventory Item
Update inventory item with the supplied fields.
Parameters
| Name | In | Required | Type | Description |
|---|
entity_id | path | yes | string | Identifier of the requested Celerp record. |
Request body
| Field | Type | Required | Description |
|---|
fields_changed | object | -- | Fields and replacement values to apply to the existing record. |
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 updated inventory item or update result. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X PATCH http://localhost:8000/items/:entity_id \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
POST /items/{entity_id}/adjust
Adjust Inventory Quantity
Adjust an item's quantity, for example after a count.
Parameters
| Name | In | Required | Type | Description |
|---|
entity_id | path | yes | string | Identifier of the requested Celerp record. |
Request body
| Field | Type | Required | Description |
|---|
new_qty | number | yes | New on-hand quantity to set for the inventory item. |
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. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/:entity_id/adjust \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
POST /items/{entity_id}/expire
Expire Inventory Item
Mark an item as expired and take it out of available stock.
Parameters
| Name | In | Required | Type | Description |
|---|
entity_id | path | yes | string | Identifier of the requested Celerp record. |
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. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/:entity_id/expire \
-H "Authorization: Bearer $TOKEN"
POST /items/{entity_id}/price
Set Inventory Item Price
Set one of an item's prices.
Parameters
| Name | In | Required | Type | Description |
|---|
entity_id | path | yes | string | Identifier of the requested Celerp record. |
Request body
| Field | Type | Required | Description |
|---|
price_type | string | yes | Price field or price list to update. |
new_price | number | yes | New selling price to assign. |
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 updated inventory item price or update result. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/:entity_id/price \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
GET /items/{entity_id}/reorder-suggestion
Get Inventory Reorder Suggestion
Return inventory reorder suggestion.
Parameters
| Name | In | Required | Type | Description |
|---|
entity_id | path | yes | string | Identifier of the requested Celerp record. |
Responses
| Status | Description | Body |
|---|
200 | Returns the requested inventory reorder suggestion result. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X GET http://localhost:8000/items/:entity_id/reorder-suggestion \
-H "Authorization: Bearer $TOKEN"
POST /items/{entity_id}/reserve
Reserve Inventory Quantity
Reserve some or all of an item's quantity so it cannot be sold elsewhere.
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. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/:entity_id/reserve \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
POST /items/{entity_id}/split
Split Inventory Item
Split an item into separate lots, each with its own quantity.
Parameters
| Name | In | Required | Type | Description |
|---|
entity_id | path | yes | string | Identifier of the requested Celerp record. |
Request body
| Field | Type | Required | Description |
|---|
children | array of SplitChild | yes | Child-item definitions created by the split operation. |
mother_qty | number, optional | -- | Quantity remaining on the original item after the split. |
mother_weight | number, optional | -- | Weight remaining on the original item after the split. |
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 event ID and the new lots created by the split. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/:entity_id/split \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
GET /items/{entity_id}/split-preview
Preview Inventory Split
Show how an item would be split into lots, without making any change.
Parameters
| Name | In | Required | Type | Description |
|---|
entity_id | path | yes | string | Identifier of the requested Celerp record. |
child_sku | query | -- | string, optional | SKU to use for the child item in the split preview. |
Responses
| Status | Description | Body |
|---|
200 | Returns the lots the split would create, with their quantities, without changing anything. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X GET http://localhost:8000/items/:entity_id/split-preview \
-H "Authorization: Bearer $TOKEN"
POST /items/{entity_id}/status
Set Inventory Item Status
Change an item's status.
Parameters
| Name | In | Required | Type | Description |
|---|
entity_id | path | yes | string | Identifier of the requested Celerp record. |
Request body
| Field | Type | Required | Description |
|---|
new_status | string | yes | New lifecycle status to assign to the inventory item. |
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 updated inventory item status or update result. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/:entity_id/status \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
POST /items/{entity_id}/transfer
Transfer Inventory Item
Move an item to another location.
Parameters
| Name | In | Required | Type | Description |
|---|
entity_id | path | yes | string | Identifier of the requested Celerp record. |
Request body
| Field | Type | Required | Description |
|---|
to_location_id | string | yes | Identifier of the destination inventory location. |
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. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/:entity_id/transfer \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
POST /items/{entity_id}/transform
Transform Inventory Item
Turn an item into a new item, for example after processing, keeping the link to its source.
Parameters
| Name | In | Required | Type | Description |
|---|
entity_id | path | yes | string | Identifier of the requested Celerp record. |
Request body
| Field | Type | Required | Description |
|---|
child_sku | string | yes | SKU to assign to the transformed child item. |
child_category | string | yes | Category to assign to the transformed child item. |
child_sell_by | string | yes | Measurement basis for the transformed child item. |
child_quantity | number | yes | Quantity of the transformed child item. |
child_name | string, optional | -- | Name of the transformed child item. |
child_weight | number, optional | -- | Weight of the transformed child item. |
child_weight_unit | string, optional | -- | Unit used for the transformed child item's weight. |
child_pieces | integer, optional | -- | Piece count for the transformed child item. |
child_cost_total | number, optional | -- | Total cost assigned to the transformed child item. |
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 new item's ID and SKU, and the SKU of the source item. | object |
422 | The request failed validation. The response lists each invalid field and why. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/:entity_id/transform \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'
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. | HTTPValidationError |
Example
curl -X POST http://localhost:8000/items/:entity_id/unreserve \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ ... }'