Axiomatic

Inventory

API reference for inventory items, transactions, counts, and valuation.

Inventory items, receipts, issues, adjustments, physical counts, and valuation. All endpoints require tenant context via entityId.

Authentication

  • Session cookie — set when signed in via the web app
  • API key — pass via the x-api-key header

All endpoints require authentication and entity access.


Endpoints

List data

MethodEndpointDescription
GET/api/inventory?entityId=&view=List items, transactions, counts, count-lines, valuation, or lots

GET /api/inventory

Query parameters:

ParameterTypeRequiredDescription
entityIdstringYesEntity ID for tenant context
viewstringYesitems, transactions, counts, count-lines, valuation, or lots
itemIdstringNoFilter by item (for transactions, valuation)
asOfDatestringNoDate for valuation (YYYY-MM-DD)

Response shape depends on view:

  • items — Array of inventory items with SKU, name, quantity, costing method
  • transactions — Receipts, issues, adjustments with dates and quantities
  • counts — Physical count sessions with status
  • count-lines — Per-item count lines for a count session
  • valuation — Inventory valuation by item (quantity × cost)
  • lots — Lot-level detail for lot-tracked items

Create and update

MethodEndpointDescription
POST/api/inventoryActions: create-item, receive, issue, adjust, write-down, create-count, record-count-line, finalize-count
PUT/api/inventoryUpdate item
DELETE/api/inventory?id=&entityId=Soft-delete item

POST /api/inventory

Request body varies by action:

{
  "entityId": "string",
  "action": "create-item" | "receive" | "issue" | "adjust" | "write-down" | "create-count" | "record-count-line" | "finalize-count",
  "itemId": "string",
  "sku": "string",
  "name": "string",
  "costingMethod": "fifo" | "lifo" | "weighted-average" | "specific-id",
  "inventoryAccountId": "string",
  "cogsAccountId": "string",
  "quantity": 0,
  "unitCost": 0,
  "reference": "string",
  "countId": "string",
  "countedQuantity": 0,
  "reason": "string"
}
ActionDescription
create-itemCreate inventory item with SKU, accounts, costing method
receiveRecord inventory receipt (increase quantity)
issueRecord inventory issue/sale (decrease quantity)
adjustQuantity adjustment (increase or decrease)
write-downLCM write-down to market value
create-countCreate physical count session
record-count-lineRecord counted quantity for an item in a count
finalize-countFinalize count and post variance to ledger

PUT /api/inventory

Request body:

{
  "entityId": "string",
  "itemId": "string",
  "name": "string",
  "inventoryAccountId": "string",
  "cogsAccountId": "string",
  "costingMethod": "string"
}

DELETE /api/inventory

Query parameters:

ParameterTypeRequiredDescription
idstringYesItem ID to soft-delete
entityIdstringYesEntity ID for tenant context

Soft-delete marks the item inactive; historical transactions remain.