Skip to content

Subscribe to one or more channels as `text/event-stream`.

GET
/v0/projects/{id}/realtime/sse
curl --request GET \
--url 'https://infra-hyphae.run/v0/projects/example/realtime/sse?channel=example' \
--header 'Authorization: Bearer <token>'

Frames are id: <seq>, event: <name>, data: <RealtimeEvent JSON>; a : keep-alive comment every 15 s. Last-Event-ID replays, best effort, events still in the channel’s in-memory ring (64 per channel); there is no durable log. A subscriber that falls behind receives an event: lagged frame and skips ahead. Bounds: at most 16 channels per connection, 32 open connections per session (429), and the stream ends after CLOUDD_REALTIME_IDLE_SECS (default 300) without an event. Session owner only; project keys cannot subscribe in this phase. The system channel carries project.woke, project.slept, storage.object.stored, storage.object.deleted, snapshot.created, project.restored, published by the routes that perform them.

id
required
string
/^prj_[0-9a-f]{16}$/
channel
required
string
/^[a-z0-9._-]{1,64}$/

Repeat the parameter or comma-separate for several channels.

Last-Event-ID
integer

Event stream.

Media typetext/event-stream
string

Malformed or out-of-bounds input (invalid_request).

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid_request authentication_required authorization_denied not_found conflict payload_too_large not_implemented tenant_not_running tenant_running function_runtime_missing function_timeout function_bad_output function_busy orchestrator_unavailable upstream_unavailable internal
message
required
string
Example
{
"error": {
"code": "invalid_request"
}
}

Missing, malformed, duplicate, or unknown credential (authentication_required).

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid_request authentication_required authorization_denied not_found conflict payload_too_large not_implemented tenant_not_running tenant_running function_runtime_missing function_timeout function_bad_output function_busy orchestrator_unavailable upstream_unavailable internal
message
required
string
Example
{
"error": {
"code": "invalid_request"
}
}
WWW-Authenticate
string
Allowed value: Bearer realm="hyphae-cloud"

Unknown route, or a project the caller does not own (not_found).

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid_request authentication_required authorization_denied not_found conflict payload_too_large not_implemented tenant_not_running tenant_running function_runtime_missing function_timeout function_bad_output function_busy orchestrator_unavailable upstream_unavailable internal
message
required
string
Example
{
"error": {
"code": "invalid_request"
}
}

Too many open realtime connections for this session (conflict).

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid_request authentication_required authorization_denied not_found conflict payload_too_large not_implemented tenant_not_running tenant_running function_runtime_missing function_timeout function_bad_output function_busy orchestrator_unavailable upstream_unavailable internal
message
required
string
Example
{
"error": {
"code": "invalid_request"
}
}