Epoch-ms after which the ticket is invalid. Enforced on RealtimeProxyRegistry.Consume.
OptionalUpstreamFull Authorization header value applied on the UPSTREAM socket only (e.g. Bearer <key>).
Optional — many self-hosted endpoints are unauthenticated. Never serialized to the browser.
The internal upstream websocket URL to tunnel to (e.g. ws://hf-s2s.internal:8000/v1/realtime).
OptionalUserThe MJ user this ticket was minted for (for audit / optional validation at consume time).
A short-lived, one-time authorization to open ONE upstream realtime websocket through the MJAPI realtime proxy. Stored server-side only — the upstream URL and (optional) auth header NEVER leave the server; the browser only ever receives the opaque ticket id embedded in the proxy URL it connects to.
This is the seam that lets a self-hosted realtime provider (e.g. HuggingFace speech-to-speech) participate in the shipped client-direct audio topology WITHOUT exposing the internal endpoint to the browser: the provider driver mints a ticket (via RealtimeProxyRegistry.Issue) pointing at the internal endpoint, hands the browser a
wss://<mjapi-public>/realtime-proxy?ticket=<id>URL, and MJAPI's proxy consumes the ticket (RealtimeProxyRegistry.Consume) to open the authenticated upstream leg and pump frames.