API reference

Usage

Monitor how your integration uses the API: daily request counts with a per-endpoint breakdown, and 7-day/30-day totals per key.

Get usage

GET/api/v1/usage

Request counts for your merchant over the trailing 30 days. Requires the read scope. The same numbers power the usage chart in Dashboard → Settings.

bash
curl https://useshelfready.com/api/v1/usage \
  -H "Authorization: Bearer $SHELFREADY_API_KEY"
response.json
{
  "data": {
    "window_days": 30,
    "days": [
      { "day": "2026-07-17", "total": 412, "endpoints": { "products": 300, "catalog": 100, "feeds": 12 } },
      { "day": "2026-07-18", "total": 87,  "endpoints": { "products": 80, "audit": 7 } }
    ],
    "keys": [
      {
        "id": "1a2b3c4d-5e6f-7081-92a3-b4c5d6e7f809",
        "name": "CI pipeline",
        "prefix": "sr_ab12cd34",
        "revoked": false,
        "requests_7d": 499,
        "requests_30d": 2310
      }
    ]
  },
  "rate_limit": { "requests_per_minute": 60 }
}

Response fields

ParameterTypeDescription
data.window_daysintegerSize of the reporting window (30).
data.days[].daydateUTC calendar day.
data.days[].totalintegerAll authenticated requests that day, across your keys.
data.days[].endpointsobjectPer-endpoint-group breakdown (products, catalog, syncs, feeds, audit, webhooks, usage).
data.keys[]arrayEvery key on the account (including revoked) with requests_7d / requests_30d totals.
rate_limit.requests_per_minuteintegerThe per-key rate limit (sliding window).

Counting & retention

A request is counted once its API key authenticates successfully — 401/403 rejections and 429 rate-limited requests are not counted. Counters are per UTC day and retained for 90 days. Counting is fire-and-forget: it never slows down or fails your request.

Approaching the rate limit? Batch catalog changes through POST /api/v1/catalog (many items per request) instead of item-by-item calls.