Getting started
Three steps to your first ledger write. No preamble.
Step 1 — Request access
Access is invite-only during private beta. Request access and a test key lands in your inbox. Once approved, you receive a test API key (sk_test_...) and a production key (sk_live_...) via email.
Step 2 — Authenticate
Every request carries two headers: Authorization: Bearer <key> and Idempotency-Key: <uuid>. Idempotency keys let you retry safely on network failures without duplicating writes.
curl -X GET https://api.skutrail.com/v1/inventory/balance?sku=SKU-0042&warehouse=SEA-1 \
-H "Authorization: Bearer sk_test_REPLACE" \
-H "Idempotency-Key: $(uuidgen)"Step 3 — Write the first ledger entry
A ledger write records an inventory movement — a receipt, a pick, an adjustment, a transfer. This is the canonical Skutrail operation; every other endpoint reads state that ledger writes have shaped.
POST /v1/inventory/ledger HTTP/1.1
Host: api.skutrail.com
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"
}Response:
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "inv_2p7q0fxkq3r",
"sku": "SKU-0042",
"warehouse": "SEA-1",
"qty": 120,
"reason": "receipt",
"reference": "PO-2026-00814",
"balance": 420,
"created_at": "2026-04-22T17:04:11Z"
}What just happened? The ledger write was accepted. The balance field shows the new on-hand quantity after the movement applied. The Idempotency-Key ensures replays return the same response without re-writing; retry on transient failures is safe.
Next → API preview