Skip to content

Request Logs

GET /logs?range=<range>&after=<ts>&after_id=<id>&errors=<bool>&limit=<n>

Returns the full per-request log for your organization, ordered newest-first.

ParameterTypeRequiredDescription
rangestringNo15m, 1h, 6h, 24h, 7days, 30days. Default: 24h.
afterRFC3339NoPagination cursor — timestamp of the last row of the previous page.
after_idstringNoPagination cursor — request_id of the last row, breaks timestamp ties.
errorsbooleanNoIf true, only non-2xx requests.
limitintegerNoPage size. Capped at 200. Default: 50.
{
"logs": [
{
"request_id": "req-...",
"timestamp": "2026-05-18T12:34:56Z",
"model": "...",
"status": 200,
"input_tokens": 123,
"output_tokens": 45,
"cost_usd": 0.0042,
"latency_ms": 420
}
],
"next_cursor": {
"after": "2026-05-18T12:34:55Z",
"after_id": "req-..."
}
}

When next_cursor is absent, you’ve reached the end of the available range.

Pass both after and after_id from the previous page’s next_cursor. Using after alone is unsafe — multiple requests can share a millisecond timestamp.

API key or JWT + X-Org-ID. See Authentication.