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

NameInRequiredTypeDescription
limitquery--integerMaximum number of records to return.
offsetquery--integerNumber of matching records to skip before returning results.
qquery--string, optionalSearch text used to filter matching records.
skuquery--string, optionalExact stock keeping unit used to filter inventory items.
skusquery--string, optionalStock keeping units used to filter inventory items.
barcodequery--string, optionalBarcode value used to find matching inventory items.
gtinquery--string, optionalGlobal Trade Item Number used to find matching inventory items.
rfid_epcquery--string, optionalRFID Electronic Product Code used to find matching inventory items.
statusquery--string, optionalRecord or workflow status used to filter results or select the requested lifecycle state.
categoryquery--string, optionalCategory value used to filter or identify the requested configuration.
inventory_typequery--string, optionalInventory type used to filter items.
location_idquery--string, optionalIdentifier of the inventory or business location.
sourcequery--string, optionalSource value used to filter records by origin.
filterquery--string, optionalNamed inventory filter or filter expression supported by the endpoint.
on_memo_toquery--string, optionalContact identifier used to filter inventory currently assigned on a memo to that contact.
consigned_fromquery--string, optionalContact identifier used to filter inventory received on consignment from that contact.
sortquery--string, optionalField or supported sort key used to order the result.
dirquery--stringSort direction, typically ascending or descending.

Responses

StatusDescriptionBody
200Returns the requested inventory items.object
422The 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

FieldTypeRequiredDescription
skustring, optional--Stock keeping unit used to identify the inventory item.
namestringyesHuman-readable name for the record.
sell_bystringyesInventory measurement basis used to sell or track the item.
quantitynumber--Inventory or production quantity for the operation.
categorystring, optional--Inventory category assigned to the item.
location_idstring, optional--Identifier of the inventory or business location.
cost_pricenumber, optional--Unit cost recorded for the inventory item.
cost_totalnumber, optional--Total cost assigned to the inventory quantity.
wholesale_pricenumber, optional--Wholesale selling price for the inventory item.
retail_pricenumber, optional--Retail selling price for the inventory item.
descriptionstring, optional--Human-readable description of the record or business purpose.
unitstring, optional--Unit of measure for the inventory item.
barcodestring, optional--Barcode value assigned to or scanned for the inventory item.
auto_barcodeboolean--Whether Celerp should generate a barcode automatically when supported.
gtinstring, optional--Global Trade Item Number assigned to the inventory item.
rfid_epcstring, optional--RFID Electronic Product Code assigned to the inventory item.
hs_codestring, optional--Harmonized System customs classification code for the item.
tax_codesarray of string--Tax codes associated with the inventory item.
purchase_skustring, optional--Supplier or purchasing SKU for the item.
purchase_namestring, optional--Supplier-facing or purchasing name for the item.
purchase_unitstring, optional--Unit of measure used when purchasing the item.
purchase_conversion_factornumber, optional--Conversion factor between the purchasing unit and the inventory or selling unit.
allow_splittingboolean--Whether the inventory item may be split into child quantities or lots.
attributesobject--Custom or category-specific attributes associated with the record.
idempotency_keystring, optional--Client-supplied idempotency key identifying this operation so the same request can be retried safely.
inventory_typestring--Inventory classification controlling how the item is tracked.
landed_cost_kindstring, optional--Landed-cost classification used for inventory costing when applicable.
recoverableboolean, optional--Whether the item or landed-cost treatment is marked recoverable when supported.

Responses

StatusDescriptionBody
200Returns the created inventory item or creation result.object
422The 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

FieldTypeRequiredDescription
entity_idsarray of stringyesIdentifiers of the business records included in the operation.

Responses

StatusDescriptionBody
200Returns the IDs of the deleted items.object
422The 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

FieldTypeRequiredDescription
entity_idsarray of stringyesIdentifiers of the business records included in the operation.

Responses

StatusDescriptionBody
200Returns the number of items expired.object
422The 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

FieldTypeRequiredDescription
entity_idsarray of stringyesIdentifiers of the business records included in the operation.

Responses

StatusDescriptionBody
200Returns the number of items updated and the IDs of the recorded events.object
422The 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

FieldTypeRequiredDescription
entity_idsarray of stringyesIdentifiers of the business records included in the operation.
reasonstring, optional--Human-readable reason for the lifecycle change, cancellation, void, or other operation.

Responses

StatusDescriptionBody
200Returns the number of items updated and the IDs of the recorded events.object
422The 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

FieldTypeRequiredDescription
entity_idsarray of stringyesIdentifiers of the business records included in the operation.
enableboolean--Whether the selected integration or synchronization option should be enabled.

Responses

StatusDescriptionBody
200Returns the number of items updated and the new sync setting.object
422The 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

FieldTypeRequiredDescription
entity_idsarray of stringyesIdentifiers of the business records included in the operation.
statusstringyesInventory status to assign to all selected items.

Responses

StatusDescriptionBody
200Returns the number of items updated and the IDs of the recorded events.object
422The 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

FieldTypeRequiredDescription
entity_idsarray of stringyesIdentifiers of the business records included in the operation.
to_location_idstringyesIdentifier of the destination inventory location.

Responses

StatusDescriptionBody
200Returns the number of items moved and the IDs of the recorded events.object
422The 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

StatusDescriptionBody
200Returns 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

NameInRequiredTypeDescription
colsquery--string, optionalComma-separated column names to export, in the order they should appear. Omit for the default columns.
qquery--string, optionalSearch text used to filter matching records.
skuquery--string, optionalExact stock keeping unit used to filter inventory items.
skusquery--string, optionalStock keeping units used to filter inventory items.
barcodequery--string, optionalBarcode value used to find matching inventory items.
gtinquery--string, optionalGlobal Trade Item Number used to find matching inventory items.
rfid_epcquery--string, optionalRFID Electronic Product Code used to find matching inventory items.
statusquery--string, optionalRecord or workflow status used to filter results or select the requested lifecycle state.
categoryquery--string, optionalCategory value used to filter or identify the requested configuration.
inventory_typequery--string, optionalInventory type used to filter items.
location_idquery--string, optionalIdentifier of the inventory or business location.
sourcequery--string, optionalSource value used to filter records by origin.
filterquery--string, optionalNamed inventory filter or filter expression supported by the endpoint.
on_memo_toquery--string, optionalContact identifier used to filter inventory currently assigned on a memo to that contact.
consigned_fromquery--string, optionalContact identifier used to filter inventory received on consignment from that contact.
sortquery--string, optionalField or supported sort key used to order the result.
dirquery--stringSort direction, typically ascending or descending.

Responses

StatusDescriptionBody
200Returns the generated file or download response.--
422The 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

NameInRequiredTypeDescription
fieldqueryyesstringCategorical inventory field whose distinct values should be returned.

Responses

StatusDescriptionBody
200Returns the requested inventory field values.object
422The 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

FieldTypeRequiredDescription
recordsarray of ImportRecordyesList of records included in the batch request.
filenamestring, optional--Original or display filename associated with the import.
upsertboolean--Whether matching imported records may update existing records.

Responses

StatusDescriptionBody
200Returns how many items were created, skipped or failed, with the reason for each failure.celerp_inventory__services__BatchImportResult
422The 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

StatusDescriptionBody
200Returns 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

NameInRequiredTypeDescription
batch_idpathyesstringIdentifier of the import batch.

Responses

StatusDescriptionBody
200Returns `ok: true` and how many items were removed. When items changed after the import, the undo is refused and those items are listed.object
422The 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

FieldTypeRequiredDescription
file_idstringyesIdentifier of an uploaded file.
sheetstring, optional--Worksheet to import from a spreadsheet file.
upsertboolean--Whether matching imported records may update existing records.
mappingobject, optional--Source-column to Celerp-field mapping used for the import.
preview_hashstringyesIdentifier of the previously generated import preview being committed.

Responses

StatusDescriptionBody
200Returns how many items were created, skipped or failed, and the import batch ID for undo.celerp_inventory__services__BatchImportResult
422The 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

NameInRequiredTypeDescription
file_idqueryyesstringIdentifier of the uploaded or stored file.
sheetquery--string, optionalWorksheet name or index to use from the uploaded spreadsheet.
upsertquery--booleanWhether matching imported records may update existing records instead of creating only new records.

Responses

StatusDescriptionBody
200Returns the requested inventory import preview result.InventoryImportPreview
422The 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

FieldTypeRequiredDescription
file_idstringyesIdentifier of an uploaded file.
sheetstring, optional--Worksheet to import from a spreadsheet file.
upsertboolean--Whether matching imported records may update existing records.
mappingobject, optional--Source-column to Celerp-field mapping used for the import.

Responses

StatusDescriptionBody
200Returns the created inventory import preview or creation result.InventoryImportPreview
422The 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

FieldTypeRequiredDescription
rowsarray of objectyesMapped import rows to commit.
upsertboolean--Whether matching imported records may update existing records.
filenamestring, optional--Original or display filename associated with the import.
idempotency_keystring, optional--Client-supplied idempotency key identifying this operation so the same request can be retried safely.

Responses

StatusDescriptionBody
200Returns how many items were created, skipped or failed, and the import batch ID for undo.celerp_inventory__services__BatchImportResult
422The 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

FieldTypeRequiredDescription
source_entity_idsarray of stringyesIdentifiers of the source inventory items being merged.
target_sku_fromstringyesSource item whose SKU should be retained for the merged result.
resulting_quantitynumber, optional--Quantity to assign to the merged inventory result.
resulting_cost_totalnumber, optional--Total cost to assign to the merged inventory result.
resulting_namestring, optional--Name to assign to the merged inventory result.
resulting_skustring, optional--SKU to assign to the merged inventory result.
resolved_attributesobject, optional--Final custom attributes to assign to the merged inventory result.
idempotency_keystring, optional--Client-supplied idempotency key identifying this operation so the same request can be retried safely.

Responses

StatusDescriptionBody
200Returns the ID of the item that the others were merged into.object
422The 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

FieldTypeRequiredDescription
entity_idsarray of stringyesIdentifiers of the business records included in the operation.

Responses

StatusDescriptionBody
200Returns the requested inventory item metadata result.object
422The 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

NameInRequiredTypeDescription
categoryquery--string, optionalCategory value used to filter or identify the requested configuration.
statusquery--string, optionalRecord or workflow status used to filter results or select the requested lifecycle state.
on_memo_toquery--string, optionalContact identifier used to filter inventory currently assigned on a memo to that contact.
consigned_fromquery--string, optionalContact identifier used to filter inventory received on consignment from that contact.

Responses

StatusDescriptionBody
200Returns the requested inventory valuation result.object
422The 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

NameInRequiredTypeDescription
entity_idpathyesstringIdentifier of the requested Celerp record.

Responses

StatusDescriptionBody
200Returns the requested inventory item result.object
422The 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

NameInRequiredTypeDescription
entity_idpathyesstringIdentifier of the requested Celerp record.

Request body

FieldTypeRequiredDescription
fields_changedobject--Fields and replacement values to apply to the existing record.
idempotency_keystring, optional--Client-supplied idempotency key identifying this operation so the same request can be retried safely.

Responses

StatusDescriptionBody
200Returns the updated inventory item or update result.object
422The 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

NameInRequiredTypeDescription
entity_idpathyesstringIdentifier of the requested Celerp record.

Request body

FieldTypeRequiredDescription
new_qtynumberyesNew on-hand quantity to set for the inventory item.
idempotency_keystring, optional--Client-supplied idempotency key identifying this operation so the same request can be retried safely.

Responses

StatusDescriptionBody
200Returns the ID of the recorded event.object
422The 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

NameInRequiredTypeDescription
entity_idpathyesstringIdentifier of the requested Celerp record.

Responses

StatusDescriptionBody
200Returns the ID of the recorded event.object
422The 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

NameInRequiredTypeDescription
entity_idpathyesstringIdentifier of the requested Celerp record.

Request body

FieldTypeRequiredDescription
price_typestringyesPrice field or price list to update.
new_pricenumberyesNew selling price to assign.
idempotency_keystring, optional--Client-supplied idempotency key identifying this operation so the same request can be retried safely.

Responses

StatusDescriptionBody
200Returns the updated inventory item price or update result.object
422The 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

NameInRequiredTypeDescription
entity_idpathyesstringIdentifier of the requested Celerp record.

Responses

StatusDescriptionBody
200Returns the requested inventory reorder suggestion result.object
422The 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

NameInRequiredTypeDescription
entity_idpathyesstringIdentifier of the requested Celerp record.

Request body

FieldTypeRequiredDescription
quantitynumberyesInventory or production quantity for the operation.
idempotency_keystring, optional--Client-supplied idempotency key identifying this operation so the same request can be retried safely.

Responses

StatusDescriptionBody
200Returns the ID of the recorded event.object
422The 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

NameInRequiredTypeDescription
entity_idpathyesstringIdentifier of the requested Celerp record.

Request body

FieldTypeRequiredDescription
childrenarray of SplitChildyesChild-item definitions created by the split operation.
mother_qtynumber, optional--Quantity remaining on the original item after the split.
mother_weightnumber, optional--Weight remaining on the original item after the split.
idempotency_keystring, optional--Client-supplied idempotency key identifying this operation so the same request can be retried safely.

Responses

StatusDescriptionBody
200Returns the event ID and the new lots created by the split.object
422The 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

NameInRequiredTypeDescription
entity_idpathyesstringIdentifier of the requested Celerp record.
child_skuquery--string, optionalSKU to use for the child item in the split preview.

Responses

StatusDescriptionBody
200Returns the lots the split would create, with their quantities, without changing anything.object
422The 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

NameInRequiredTypeDescription
entity_idpathyesstringIdentifier of the requested Celerp record.

Request body

FieldTypeRequiredDescription
new_statusstringyesNew lifecycle status to assign to the inventory item.
idempotency_keystring, optional--Client-supplied idempotency key identifying this operation so the same request can be retried safely.

Responses

StatusDescriptionBody
200Returns the updated inventory item status or update result.object
422The 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

NameInRequiredTypeDescription
entity_idpathyesstringIdentifier of the requested Celerp record.

Request body

FieldTypeRequiredDescription
to_location_idstringyesIdentifier of the destination inventory location.
idempotency_keystring, optional--Client-supplied idempotency key identifying this operation so the same request can be retried safely.

Responses

StatusDescriptionBody
200Returns the ID of the recorded event.object
422The 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

NameInRequiredTypeDescription
entity_idpathyesstringIdentifier of the requested Celerp record.

Request body

FieldTypeRequiredDescription
child_skustringyesSKU to assign to the transformed child item.
child_categorystringyesCategory to assign to the transformed child item.
child_sell_bystringyesMeasurement basis for the transformed child item.
child_quantitynumberyesQuantity of the transformed child item.
child_namestring, optional--Name of the transformed child item.
child_weightnumber, optional--Weight of the transformed child item.
child_weight_unitstring, optional--Unit used for the transformed child item's weight.
child_piecesinteger, optional--Piece count for the transformed child item.
child_cost_totalnumber, optional--Total cost assigned to the transformed child item.
idempotency_keystring, optional--Client-supplied idempotency key identifying this operation so the same request can be retried safely.

Responses

StatusDescriptionBody
200Returns the new item's ID and SKU, and the SKU of the source item.object
422The 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

NameInRequiredTypeDescription
entity_idpathyesstringIdentifier of the requested Celerp record.

Request body

FieldTypeRequiredDescription
quantitynumberyesInventory or production quantity for the operation.
idempotency_keystring, optional--Client-supplied idempotency key identifying this operation so the same request can be retried safely.

Responses

StatusDescriptionBody
200Returns the ID of the recorded event.object
422The 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 '{ ... }'