Skip to content

Create a single-use ticket for the console realtime stream

POST
/v1/admin/orgs/{org_id}/projects/{project_id}/realtime/ticket

Create a short-lived, single-use ticket bound to the Clerk session’s customer scope, for opening the live Approvals SSE stream (GET /v1/admin/reviews/stream?ticket=…). A browser EventSource cannot set an Authorization header, so this ticket carries the customer scope instead. The ticket is consumed on first stream connect and self-expires (~60s).

org_id
required
string
project_id
required
string

A freshly created realtime ticket.

A short-lived, single-use ticket the console creates (under its Clerk session) to open the live Approvals SSE stream; EventSource cannot set an Authorization header, so the customer scope is carried by this opaque ticket in the stream’s ticket query parameter. Bound to the session’s customer at create time, consumed on first stream connect, and self-expiring (~60s).

object
ticket
required

Opaque single-use ticket (rtk_…).

string
expires_at
required
string format: date-time

Missing or invalid credential.

The canonical error envelope. error is a stable machine code.

object
error
required

Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).

string
Example
forbidden
message

Human-readable detail (never leaks internals).

string
Example
missing required scope
reason

Machine-readable quota reason. inbox_limit_exceeded means billing account inbox capacity across all organizations and projects sharing that account; enrollment_token_mailbox_budget_exhausted means the enrollment key lifetime creation allowance. Read message for recovery; inbox counts are separate from sending quotas.

string
used

Consumed plus reserved units.

integer format: int64
delta

Requested additional units.

integer format: int64
limit
integer format: int64
remaining
integer format: int64
consumed
integer format: int64
reserved
integer format: int64
next_reset_at

Next UTC usage-period boundary; pending reservations survive this boundary.

string format: date-time
upgrade_required
boolean

Authenticated but lacking the required scope, or out of quota.

The canonical error envelope. error is a stable machine code.

object
error
required

Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).

string
Example
forbidden
message

Human-readable detail (never leaks internals).

string
Example
missing required scope
reason

Machine-readable quota reason. inbox_limit_exceeded means billing account inbox capacity across all organizations and projects sharing that account; enrollment_token_mailbox_budget_exhausted means the enrollment key lifetime creation allowance. Read message for recovery; inbox counts are separate from sending quotas.

string
used

Consumed plus reserved units.

integer format: int64
delta

Requested additional units.

integer format: int64
limit
integer format: int64
remaining
integer format: int64
consumed
integer format: int64
reserved
integer format: int64
next_reset_at

Next UTC usage-period boundary; pending reservations survive this boundary.

string format: date-time
upgrade_required
boolean