List Request Log

Beta
The workspace Request Log: one row per API request (time, method, route, path, status, latency, and the resolving principal), newest first. Tenant-scoped server-side and gated on the `usage.view` permission (owner / admin / billing_admin). Sourced from the request traces. Every filter is optional; the tenant is derived from the session, never a query parameter. Cursor-paginated by request time: omit `cursor` for the first page and walk while `has_more` is true (default page size 50, max 200). Default range is the last 7 days, capped at 30 days.

Authentication

AuthorizationBearer

Enter your API key with the Bearer prefix, e.g. ‘Bearer sk_…’.

Headers

Speechify-VersionstringOptional

Query parameters

cursorstringOptional
Opaque pagination cursor from a previous response.
limitintegerOptional1-200Defaults to 50

Max items per page (default 50, max 200).

startdatetimeOptional

Inclusive start of the window (RFC-3339). Defaults to 7 days ago; the window is capped at 30 days.

enddatetimeOptional

Exclusive end of the window (RFC-3339). Defaults to now.

methodlist of enumsOptional

Filter by HTTP method. Repeatable, or comma-separated.

statuslist of integersOptional

Filter by exact response status code. Repeatable, or comma-separated.

pathstringOptional

Substring match against the matched route pattern (e.g. /v1/audio).

user_idstringOptional

Filter to a single user principal (the user_… external id).

api_key_idstringOptional

Filter to a single API-key principal (the key_… external id).

principal_typeenumOptional
Filter by the resolving principal's credential class.
Allowed values:
min_latency_msintegerOptional>=0

Keep only requests at or above this latency (milliseconds).

max_latency_msintegerOptional>=0

Keep only requests at or below this latency (milliseconds).

Response headers

X-Request-IDstring
Unique identifier for this request, present on every response (2xx and non-2xx alike). If the caller sends an `X-Request-ID` request header the server echoes it back (sanitized and length-capped) so one logical request can be traced end-to-end; otherwise the server generates a fresh value. Log it on every response and quote it in support requests - it is the stable handle that ties your observation to Speechify's server-side logs, and it matches the `request_id` field in the error envelope.

Response

One page of the workspace Request Log.
next_cursorstring or null

Opaque keyset cursor for the next page. Pass back as the cursor request parameter. null when the caller has reached the end of the list (has_more is also false in that case).

has_moreboolean
True when more rows exist beyond this page.
requestslist of objects

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error