Livqeno Docs

Observability API

Connection history, classified errors, usage metrics, dependency health, and telemetry ingest.

Everything here is read-only and reports what actually happened. Nothing is fabricated: a value Livqeno does not know comes back null or absent rather than as a plausible-looking guess.

Most of these exist twice — once under /v1/... for a project API key (what the server SDKs call) and once under /v1/projects/{projectId}/... for a dashboard session. Same data, different credential.

Endpoints

MethodPathCredential
GET/v1/connectionsProject API key
GET/v1/connections/{connectionId}Project API key
GET/v1/diagnosticsProject API key
GET/v1/errorsProject API key
GET/v1/errors/{errorId}Project API key
GET/v1/metricsProject API key
GET/v1/projectProject API key
PATCH/v1/projects/{id}/allowed-originsDashboard session (JWT)
GET/v1/projects/{projectId}/connectionsDashboard session (JWT)
GET/v1/projects/{projectId}/connections/{connectionId}Dashboard session (JWT)
GET/v1/projects/{projectId}/diagnosticsDashboard session (JWT)
GET/v1/projects/{projectId}/errorsDashboard session (JWT)
GET/v1/projects/{projectId}/errors/{errorId}Dashboard session (JWT)
GET/v1/projects/{projectId}/metricsDashboard session (JWT)
GET/v1/projects/{projectId}/usageDashboard session (JWT)
POST/v1/telemetry/eventsRTC token
GET/v1/usageDashboard session (JWT)
GET/v1/usage/detailDashboard session (JWT)

GET /v1/connections

List the API key's project's real RTC connections

Credential Project API key

ParameterInTypeRequiredNotes
statequeryConnectionStateNo
roomIdquerystringNo
limitquerynumberNo1–200

GET /v1/connections/{connectionId}

Get one connection with its full event timeline and any errors

Credential Project API key

ParameterInTypeRequiredNotes
connectionIdpathstringYes

GET /v1/diagnostics

Authenticated per-dependency diagnostics for the API key's project

Credential Project API key

No parameters.

GET /v1/errors

List the API key's project's classified errors

Credential Project API key

ParameterInTypeRequiredNotes
categoryqueryErrorCategoryNo
connectionIdquerystringNo
limitquerynumberNo1–200

GET /v1/errors/{errorId}

Get one classified error, with its connection if any

Credential Project API key

ParameterInTypeRequiredNotes
errorIdpathstringYes

GET /v1/metrics

Real aggregate connection/error metrics for the API key's project

Credential Project API key

No parameters.

GET /v1/project

Get the API key's own project

Credential Project API key

No parameters.

PATCH /v1/projects/{id}/allowed-origins

Replace a project's allowed browser origins

Credential Dashboard session (JWT)

ParameterInTypeRequiredNotes
idpathstringYes
allowedOriginsbodystring[]Yesarray — Complete list of allowed browser origins. Empty means unconfigured, which allows any origin.
allowLocalhostOriginsbodybooleanNoAllow http(s)://localhost, 127.0.0.1 and [::1] on any port regardless of the list above. On by default so configuring production origins never breaks local development.

GET /v1/projects/{projectId}/connections

List a project's real RTC connections

Credential Dashboard session (JWT)

ParameterInTypeRequiredNotes
projectIdpathstringYes
statequeryConnectionStateNo
roomIdquerystringNo
limitquerynumberNo1–200

GET /v1/projects/{projectId}/connections/{connectionId}

Get one connection with its full event timeline and any errors

Credential Dashboard session (JWT)

ParameterInTypeRequiredNotes
connectionIdpathstringYes
projectIdpathstringYes

GET /v1/projects/{projectId}/diagnostics

Authenticated per-dependency diagnostics for this project

Credential Dashboard session (JWT)

ParameterInTypeRequiredNotes
projectIdpathstringYes

GET /v1/projects/{projectId}/errors

List a project's classified errors

Credential Dashboard session (JWT)

ParameterInTypeRequiredNotes
projectIdpathstringYes
categoryqueryErrorCategoryNo
connectionIdquerystringNo
limitquerynumberNo1–200

GET /v1/projects/{projectId}/errors/{errorId}

Get one classified error, with its connection if any

Credential Dashboard session (JWT)

ParameterInTypeRequiredNotes
errorIdpathstringYes
projectIdpathstringYes

GET /v1/projects/{projectId}/metrics

Real aggregate connection/error metrics for this project

Credential Dashboard session (JWT)

ParameterInTypeRequiredNotes
projectIdpathstringYes

GET /v1/projects/{projectId}/usage

One project's contribution to the owner's allowance

Credential Dashboard session (JWT)

ParameterInTypeRequiredNotes
projectIdpathstringYes
limitquerynumberNo1–200 — How many history rows to return, newest first.
daysquerynumberNo1–365 — How many UTC days of the daily rollup to return, including today.

POST /v1/telemetry/events

Best-effort ingestion of one RTC connection/participant/error event

Credential RTC token · Rate limit 600 per window (details)

ParameterInTypeRequiredNotes
connectionIdbodystringYes0–128 chars, pattern-checked — The client-generated connection ID (Room's own, stable for its lifetime).
typebody(typeof CONNECTION_EVENT_TYPES)[number]Yes
timestampbodystringNoDefaults to server receipt time if omitted.
databodyRecord<string, unknown>NoSmall, developer-safe metadata bag — never raw audio/video, never secrets.

GET /v1/usage

The caller's Livqeno minute allowance and how much of it is spent

Credential Dashboard session (JWT)

No parameters.

GET /v1/usage/detail

The same allowance, plus session history, a daily rollup and a per-project breakdown

Credential Dashboard session (JWT)

ParameterInTypeRequiredNotes
limitquerynumberNo1–200 — How many history rows to return, newest first.
daysquerynumberNo1–365 — How many UTC days of the daily rollup to return, including today.

Next steps

  • Conventions — base path, error envelope, request ids, pagination.
  • Errors — every code this API can return.
  • All endpoints — the whole surface on one page.