Subscribe to the live-state SSE stream for an app
Server-Sent Events stream of state-changed notifications. Each event id is <server-epoch>:<rev>; the browser EventSource replays via Last-Event-ID on reconnect, and the server emits a synthetic state-changed event with source: "reconnect-resync" and result: null whenever the client's id belongs to an older epoch or claims an unseen revision. The overcapacity event is emitted (and the stream closed) when the per-app subscriber cap is reached. Heartbeats are SSE comment lines (: ping) every 15s.
Auth posture is broader than the owner endpoints: appToken, userToken, renderToken (bearer or ?t= query), or the path-scoped buildy_sse_<id> HMAC cookie minted by the /app/{id} render-bridge when a render-token rendered the page. The {} (no-auth) option in security covers the cookie path — OpenAPI cannot model a per-app cookie name as a fixed scheme.
Request
- Base URL: https://charm.ing
- URL: https://charm.ing/app/{id}/events
- Auth: one of:
- HTTP bearer
- HTTP bearer
- HTTP bearer
- API key in query parameter t
- none
Query parameters
URL-signed render token, equivalent to the renderToken bearer but carried in the query string for SSE connections from null-origin iframes that cannot attach Authorization headers.
Headers
Last event id the client saw, in the <epoch>:<rev> form the server emits. Triggers a synthetic reconnect-resync event when the epoch differs or the rev is forward-jumped.
Response
Open SSE stream. Frames arrive as event: state-changed (or event: overcapacity) with a JSON data: payload. The stream stays open until the client disconnects, the per-app capacity cap is hit, or the server shuts down.
Changes
No recorded changes to this operation across all 1 revision of this API.