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

Request access