Skip to main content
The Inventory API exposes per-SKU sellable quantities by region, plus incoming purchase-order quantities grouped by expected arrival date.

Endpoint

All requests use a single endpoint:
POST https://api.keystoneb2b.io/v1/inventory
Authorization: Bearer <api_key>
Content-Type: application/json

Actions

ActionAuth requiredPurpose
healthNoVerify the service is reachable
listYesFetch inventory for all or specific SKUs

Quick start

Health check

curl -s https://api.keystoneb2b.io/v1/inventory \
  -H 'Content-Type: application/json' \
  -d '{"action":"health"}'
{
  "success": true,
  "service": "inventory-truth-api",
  "timestamp": "2026-06-16T12:00:00.000Z"
}

List specific SKUs

curl -s https://api.keystoneb2b.io/v1/inventory \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"action":"list","skus":["E-CC26-01"]}'

Paginate all SKUs

{
  "action": "list",
  "limit": 500,
  "offset": 0
}
ParameterNotes
limitOptional. Default 100, maximum 500
offsetOptional. Default 0
skusOptional. Array of SKU strings, max 200 per request

Example response

{
  "success": true,
  "data": [
    {
      "sku": "E-CC26-01",
      "immediate_inventory": { "usa": 118, "canada": 0 },
      "future_inventory": {
        "usa": [
          { "expected_date": "2026-03-22", "quantity": 1396 },
          { "expected_date": "2026-06-27", "quantity": 50 },
          { "expected_date": "2026-08-06", "quantity": 492 }
        ],
        "canada": [
          { "expected_date": "2026-06-26", "quantity": 10 }
        ]
      },
      "refreshed_at": "2026-06-16T02:56:04.608992+00:00"
    }
  ],
  "limit": 100,
  "offset": 0
}

Field reference

Learn what each response field means and how regions map to currencies.