Inventory API rate limits and pagination
600 requests a minute per workspace, with no daily cap.
Lists return up to 250 records a page, so a full stock read takes a few requests.
Works todayThe REST API works today on every plan, with webhooks and the MCP server.
Inventory API rate limits
One limit, shared by every key in a workspace.
The limit counts requests over a rolling minute. Every key in the workspace counts against it.
| Limit | Value |
|---|---|
| Requests a minute, per workspace | 600 |
| Daily cap | None |
| Records per page | 50 by default, up to 250 |
| Lines per bulk stock adjustment | 250 |
API limits for inventory sync
Sized so a normal day never gets near it.
A business with 250 SKUs at 5 locations has 1,250 stock levels. Reading all of them takes 5 requests.
| Job | Requests |
|---|---|
| Read every stock level, once a minute | 5 a minute |
| 500 sales orders a day, 4 requests each, over 8 hours | About 5 a minute |
| Adjust all 1,250 levels in bulk | 5 requests |
API rate limit headers
Every response says how much is left.
Over the limit, the API returns a 429 with Retry-After in seconds. Wait that long, then send the request again.
RateLimit-LimitRateLimit-RemainingRateLimit-ResetRetry-After
HTTP/1.1 429 Too Many Requests
Retry-After: 12
RateLimit-Limit: 600
RateLimit-Remaining: 0
RateLimit-Reset: 12
Content-Type: application/json
{
"error": {
"code": "rate_limited",
"message": "Over 600 requests in the last minute. Retry after 12 seconds."
}
}Inventory API pagination
Follow next_cursor until has_more is false.
Cursors stay stable while records change. Add updated_since to fetch only what changed.
curl "https://slatestock.com/api/v1/stock_levels?limit=250&updated_since=2026-10-28T00:00:00Z" \
-H "Authorization: Bearer wsk_example_4f7c2a9d1e8b6035"{
"data": [
{
"variant_id": "demo-var-0001",
"sku": "LTT-SGE",
"location_id": "demo-loc-wh",
"on_hand": 135,
"on_order": 120,
"reserved": 24,
"available_to_sell": 111,
"updated_at": "2026-10-28T10:02:00.000Z"
},
{
"variant_id": "demo-var-0001",
"sku": "LTT-SGE",
"location_id": "demo-loc-3pl",
"on_hand": 8,
"on_order": 0,
"reserved": 2,
"available_to_sell": 6,
"updated_at": "2026-10-28T10:05:00.000Z"
}
],
"has_more": false,
"next_cursor": null
}Inventory management API pricing
The API, webhooks and the MCP server come with every plan.