Get API Request Analytics

Beta
API-Request analytics for the workspace: request volume split by response code over time, success rate, average and p50/p95/p99 latency per time bucket, and the most-called routes. Tenant-scoped server-side and gated on the `usage.view` permission. Same optional filters as the Request Log; `granularity` controls the time-bucket size. 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

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.

granularityenumOptionalDefaults to 1h

Time-bucket size for the analytics series.

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

The aggregate request analytics for the window.
granularitystring

The time-bucket size of the series.

startdatetime
Inclusive start of the resolved window.
enddatetime
Exclusive end of the resolved window.
totalsobject

Window-wide rollups.

serieslist of objects

Per-bucket time series, oldest first.

top_pathslist of objects

The most-called route patterns in the window, busiest first.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error