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
| Method | Path | Credential |
|---|---|---|
| GET | /v1/connections | Project API key |
| GET | /v1/connections/{connectionId} | Project API key |
| GET | /v1/diagnostics | Project API key |
| GET | /v1/errors | Project API key |
| GET | /v1/errors/{errorId} | Project API key |
| GET | /v1/metrics | Project API key |
| GET | /v1/project | Project API key |
| PATCH | /v1/projects/{id}/allowed-origins | Dashboard session (JWT) |
| GET | /v1/projects/{projectId}/connections | Dashboard session (JWT) |
| GET | /v1/projects/{projectId}/connections/{connectionId} | Dashboard session (JWT) |
| GET | /v1/projects/{projectId}/diagnostics | Dashboard session (JWT) |
| GET | /v1/projects/{projectId}/errors | Dashboard session (JWT) |
| GET | /v1/projects/{projectId}/errors/{errorId} | Dashboard session (JWT) |
| GET | /v1/projects/{projectId}/metrics | Dashboard session (JWT) |
| GET | /v1/projects/{projectId}/usage | Dashboard session (JWT) |
| POST | /v1/telemetry/events | RTC token |
| GET | /v1/usage | Dashboard session (JWT) |
| GET | /v1/usage/detail | Dashboard session (JWT) |
GET /v1/connections
List the API key's project's real RTC connections
Credential Project API key
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
state | query | ConnectionState | No | |
roomId | query | string | No | |
limit | query | number | No | 1–200 |
GET /v1/connections/{connectionId}
Get one connection with its full event timeline and any errors
Credential Project API key
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
connectionId | path | string | Yes |
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
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
category | query | ErrorCategory | No | |
connectionId | query | string | No | |
limit | query | number | No | 1–200 |
GET /v1/errors/{errorId}
Get one classified error, with its connection if any
Credential Project API key
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
errorId | path | string | Yes |
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)
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
id | path | string | Yes | |
allowedOrigins | body | string[] | Yes | array — Complete list of allowed browser origins. Empty means unconfigured, which allows any origin. |
allowLocalhostOrigins | body | boolean | No | Allow 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)
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
projectId | path | string | Yes | |
state | query | ConnectionState | No | |
roomId | query | string | No | |
limit | query | number | No | 1–200 |
GET /v1/projects/{projectId}/connections/{connectionId}
Get one connection with its full event timeline and any errors
Credential Dashboard session (JWT)
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
connectionId | path | string | Yes | |
projectId | path | string | Yes |
GET /v1/projects/{projectId}/diagnostics
Authenticated per-dependency diagnostics for this project
Credential Dashboard session (JWT)
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
projectId | path | string | Yes |
GET /v1/projects/{projectId}/errors
List a project's classified errors
Credential Dashboard session (JWT)
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
projectId | path | string | Yes | |
category | query | ErrorCategory | No | |
connectionId | query | string | No | |
limit | query | number | No | 1–200 |
GET /v1/projects/{projectId}/errors/{errorId}
Get one classified error, with its connection if any
Credential Dashboard session (JWT)
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
errorId | path | string | Yes | |
projectId | path | string | Yes |
GET /v1/projects/{projectId}/metrics
Real aggregate connection/error metrics for this project
Credential Dashboard session (JWT)
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
projectId | path | string | Yes |
GET /v1/projects/{projectId}/usage
One project's contribution to the owner's allowance
Credential Dashboard session (JWT)
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
projectId | path | string | Yes | |
limit | query | number | No | 1–200 — How many history rows to return, newest first. |
days | query | number | No | 1–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)
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
connectionId | body | string | Yes | 0–128 chars, pattern-checked — The client-generated connection ID (Room's own, stable for its lifetime). |
type | body | (typeof CONNECTION_EVENT_TYPES)[number] | Yes | |
timestamp | body | string | No | Defaults to server receipt time if omitted. |
data | body | Record<string, unknown> | No | Small, 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)
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
limit | query | number | No | 1–200 — How many history rows to return, newest first. |
days | query | number | No | 1–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.