Skip to main content
GET
List interrupted requests
This endpoint requires an Admin Key with the billing:read scope.The bill endpoints (daily bills, product bills, request details) return 400 data_not_ready before the current day is finalized; this endpoint is not subject to that restriction: same-day rows are queryable as they are written, and an end beyond now simply returns what has been written so far.
Reconcile row-by-row with X-Msh-Client-Request-Id: when calling the inference API, pass your own request ID in the header (X-Msh-Client-Request-Id: <your-request-id>); our billing details persist it as client_request_id. To reconcile, pull this feed and match your request IDs against client_request_id — whether a request was recorded, and exactly how (token volume, off-peak hit or not) — row by row, with no need to infer from “time + tokens”. For disconnect auditing use the dedicated interrupted_requests feed instead; for amounts, reconcile against daily/product bills (this feed reports tokens only, no amounts) — client_request_id links rows across both APIs exactly. Example: “Why was our gateway request abc123 charged?” → look up its tokens via client_request_id=abc123 in request_details, then verify the day’s amount in daily_bills.

Authorizations

Authorization
string
header
required

Send the Admin API secret as a Bearer token in the Authorization header (Bearer sk-admin-***). Create Admin Keys under Console → Organization → Admin API Keys.

Query Parameters

start
integer<int64>
required

Start time in milliseconds, inclusive, e.g. 1790784000000 (2026-10-01 00:00 CST).

Required range: x >= 0
end
integer<int64>
required

End time in milliseconds, exclusive, e.g. 1792598400000 (2026-10-22 00:00 CST).

Required range: x >= 0
project_id
string[]

Project IDs. Every project must belong to the authenticated organization.

key
string[]

Business API key IDs. Every key must belong to the authenticated organization.

limit
integer
default:100

Page size. Defaults to 100 for interactive queries; raise it (up to 10000) for bulk pulls — per-page latency may grow for large pages (not an SLA guarantee). 1000 rows.

Required range: 1 <= x <= 10000
cursor
string

Cursor from the previous response next field. The cursor carries only the page position; all query parameters must be restated on every page. Keep them unchanged while paginating (except limit) — the server does not check them for consistency.

Response

Interrupted requests.

data
object[]
required

One row per client-disconnected request.

has_more
boolean
required

Whether there is a next page.

next
string | null
required

Cursor for the next page. Pass it back verbatim as the cursor query parameter.