Repository event stream, aka Firehose endpoint. Outputs repo commits with
diff data, and identity update events, for all repositories on the
current server. Public; no auth. Implemented by PDS and Relay. Frames are
binary WebSocket messages consisting of two concatenated DAG-CBOR
objects: a header (`{op, t}`) followed by a payload whose shape depends
on `t`.
Provider:BlueskyAsyncAPI: v2.6.0Spec: Bluesky / AT Protocol Event StreamsOperations: 1Messages: 9
Channel address
xrpc/com.atproto.sync.subscribeRepos
Parameters
cursor — The last known event seq number to backfill from.
Operations
subscribe
subscribeRepos
Subscribe to the repository event stream (firehose).
Messages
RepoCommitFrame
Repository commit event.
Content-Type: application/cbor
RepoSyncFrame
Sync event - asserts current repository state without including diff
data on the firehose. Used for recovery / desync resolution.
Content-Type: application/cbor
RepoIdentityFrame
Account identity change event (handle, signing key, or PDS).
Content-Type: application/cbor
RepoAccountFrame
Account hosting-status change event.
Content-Type: application/cbor
RepoHandleFrame
DEPRECATED - use `#identity` instead. Legacy handle change event.
Content-Type: application/cbor
RepoMigrateFrame
DEPRECATED - use `#account` instead. Legacy account-migration event.
Content-Type: application/cbor
RepoTombstoneFrame
DEPRECATED - use `#account` instead. Legacy account-tombstone event.
Content-Type: application/cbor
RepoInfoFrame
Informational message (not persisted, no `seq`). Currently the only
defined name value is `OutdatedCursor`.
Content-Type: application/cbor
RepoErrorFrame
Error frame (`op = -1`). Possible `error` values for subscribeRepos:
`FutureCursor`, `ConsumerTooSlow`. The connection is closed after this
frame is delivered.
Content-Type: application/cbor
About AsyncAPI
The AsyncAPI specification describes event-driven APIs the way OpenAPI describes request/response APIs. A channel is the named pipe — a webhook URL, a Kafka topic, a WebSocket route, an MQTT subject — that producers and consumers publish or subscribe to. Each channel carries one or more messages with structured payloads, and an operation declares whether a given party sends or receives on that channel.
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.