API preview
Five endpoints. Signature shapes. Not the full reference.
Request and response bodies show the fields that exist today. Errors, pagination, rate limits, and the full idempotency rules land with the private-beta reference.
POST /v1/inventory/ledger
Record an inventory movement — receipt, pick, adjustment, or transfer. The canonical Skutrail write.
POST /v1/inventory/ledger HTTP/1.1
Authorization: Bearer sk_test_REPLACE
Idempotency-Key: 0b7a1f4e-9c3a-4f67-a5b1-8d2e4a7c9f12
Content-Type: application/json
{ "sku": "SKU-0042", "warehouse": "SEA-1", "qty": 120, "reason": "receipt", "reference": "PO-2026-00814" }HTTP/1.1 200 OK
{ "id": "inv_2p7q0fxkq3r", "sku": "SKU-0042", "warehouse": "SEA-1", "qty": 120, "balance": 420, "created_at": "2026-04-22T17:04:11Z" }See the canonical example in /api →
GET /v1/inventory/balance
Read the current balance for a SKU at a warehouse.
GET /v1/inventory/balance?sku=SKU-0042&warehouse=SEA-1 HTTP/1.1
Authorization: Bearer sk_test_REPLACE{ "sku": "SKU-0042", "warehouse": "SEA-1", "balance": 420, "as_of": "2026-04-22T17:04:11Z" }POST /v1/shipments
Create a shipment. Allocation + carrier label request is asynchronous; response returns queued.
POST /v1/shipments HTTP/1.1
Authorization: Bearer sk_test_REPLACE
Content-Type: application/json
{
"order_id": "ord_5k2n9v",
"ship_to": { "name": "Ada Lovelace", "line1": "1 Shoreline Dr", "city": "Seattle", "state": "WA", "postal": "98101", "country": "US" },
"line_items": [ { "sku": "SKU-0042", "qty": 2 } ],
"carrier_hint": "ups_ground"
}{ "id": "shp_8c4l1x", "status": "queued", "label_url": null }GET /v1/orders/{id}
Read an order's fulfillment state, including allocations across warehouses.
GET /v1/orders/ord_5k2n9v HTTP/1.1
Authorization: Bearer sk_test_REPLACE{
"id": "ord_5k2n9v",
"status": "allocated",
"allocations": [{ "warehouse": "SEA-1", "qty": 2, "shipment_id": "shp_8c4l1x" }]
}POST /v1/webhooks/subscribe
Subscribe a URL to event streams. Payloads are signed with the provided secret.
POST /v1/webhooks/subscribe HTTP/1.1
Authorization: Bearer sk_test_REPLACE
Content-Type: application/json
{ "url": "https://your.app/webhooks/skutrail", "events": ["shipment.created", "inventory.updated"], "secret": "whsec_REPLACE" }{
"id": "whk_1q9f4a",
"url": "https://your.app/webhooks/skutrail",
"events": ["shipment.created", "inventory.updated"],
"created_at": "2026-04-22T17:04:11Z"
}