Skip to content

Inventory

Bookable pools, availability, holds and allocations.

The allocations the master schedule reads. Cursor-paginated: pass limit (default 25, max 100) and cursor from the previous response’s meta.cursor.

Auth: Bearer token

PATCH /api/v1/inventory/allocations/:allocationId

Section titled “PATCH /api/v1/inventory/allocations/:allocationId”

Confirm a hold, release it, or cancel a confirmed booking.

Auth: Bearer token · Path parameters: allocationId

DELETE /api/v1/inventory/allocations/:allocationId

Section titled “DELETE /api/v1/inventory/allocations/:allocationId”

Release an allocation.

Auth: Bearer token · Path parameters: allocationId

List bookable pools. Cursor-paginated: pass limit (default 25, max 100) and cursor from the previous response’s meta.cursor. Filter with entityId.

Auth: Bearer token

Make a record bookable. strategy is individual_asset (one unique unit), pooled_quantity (stock of N) or time_slot (concurrent capacity). bufferMinutes blocks turnaround time between bookings.

Auth: Bearer token

Request body

{
"entityId": "000000000000000000000015",
"recordId": "000000000000000000000039",
"strategy": "pooled_quantity",
"totalQuantity": 50,
"bufferMinutes": 30
}

One pool.

Auth: Bearer token · Path parameters: poolId

Change quantity, buffer or auto-lock.

Auth: Bearer token · Path parameters: poolId

Request body

{
"totalQuantity": 60
}

Delete a pool.

Auth: Bearer token · Path parameters: poolId

GET /api/v1/inventory/pools/:poolId/availability

Section titled “GET /api/v1/inventory/pools/:poolId/availability”

What is free in a time window, after buffers and existing allocations.

Auth: Bearer token · Path parameters: poolId

POST /api/v1/inventory/pools/:poolId/holds

Section titled “POST /api/v1/inventory/pools/:poolId/holds”

Place a time-limited hold on capacity so two customers can’t book the same slot. A hold that would overbook is 409 CONFLICT.

Auth: Bearer token · Path parameters: poolId