com.atproto.sync.subscribeRepos

Domain Index: atproto.com

Crawl History

#main - subscription

Repository event stream, aka Firehose endpoint. Outputs repo commits with diff data, and identity update events, for all repositories on the current server. See the atproto specifications for details around stream sequencing, repo versioning, CAR diff format, and more. Public and does not require auth; implemented by PDS and Relay.

Query Parameters

Name Type Details
cursor integer

The last known event seq number to backfill from.

Message Types

Open Union:

#commit - object

Represents an update of repository state. Note that empty commits are allowed, which include no repo data changes, but an update to rev and signature.

Data Fields

Name Type Details
blobs array (required)

UNHANDLED IN ARRAYS: cid-link

blocks bytes (required)

CAR file containing relevant blocks, as a diff since the previous repo state.

commit cid-link (required)

Repo commit object CID.

ops array (required)

Array Length: 200 max

Elements are of type:

prev cid-link (nullable)

DEPRECATED -- unused. WARNING -- nullable and optional; stick with optional to ensure golang interoperability.

rebase boolean (required)

DEPRECATED -- unused

repo string (required)

The repo this event comes from.

Syntax Format: did

rev string (required)

The rev of the emitted commit. Note that this information is also in the commit object included in blocks, unless this is a tooBig event.

seq integer (required)

The stream sequence number of this message.

since string (required)

The rev of the last emitted commit from this repo (if any).

time string (required)

Timestamp of when this message was originally broadcast.

Syntax Format: datetime

tooBig boolean (required)

Indicates that this commit contained too many ops, or data size was too large. Consumers will need to make a separate request to get missing data.

#handle - object

DEPRECATED -- Use #identity event instead

Data Fields

Name Type Details
did string (required)

Syntax Format: did

handle string (required)

Syntax Format: handle

seq integer (required)
time string (required)

Syntax Format: datetime

#identity - object

Represents a change to an account's identity. Could be an updated handle, signing key, or pds hosting endpoint. Serves as a prod to all downstream services to refresh their identity cache.

Data Fields

Name Type Details
did string (required)

Syntax Format: did

handle string

The current handle for the account, or 'handle.invalid' if validation fails. This field is optional, might have been validated or passed-through from an upstream source. Semantics and behaviors for PDS vs Relay may evolve in the future; see atproto specs for more details.

Syntax Format: handle

seq integer (required)
time string (required)

Syntax Format: datetime

#info - object

Data Fields

Name Type Details
message string
name string (required)

Known Values: OutdatedCursor,

#account - object

Represents a change to an account's status on a host (eg, PDS or Relay). The semantics of this event are that the status is at the host which emitted the event, not necessarily that at the currently active PDS. Eg, a Relay takedown would emit a takedown with active=false, even if the PDS is still active.

Data Fields

Name Type Details
active boolean (required)

Indicates that the account has a repository which can be fetched from the host that emitted this event.

did string (required)

Syntax Format: did

seq integer (required)
status string

If active=false, this optional field indicates a reason for why the account is not active.

Known Values: takendown, suspended, deleted, deactivated,

time string (required)

Syntax Format: datetime

#migrate - object

DEPRECATED -- Use #account event instead

Data Fields

Name Type Details
did string (required)

Syntax Format: did

migrateTo string (required)
seq integer (required)
time string (required)

Syntax Format: datetime

#repoOp - object

A repo operation, ie a mutation of a single record.

Data Fields

Name Type Details
action string (required)

Known Values: create, update, delete,

cid cid-link (required)

For creates and updates, the new record CID. For deletions, null.

path string (required)
#tombstone - object

DEPRECATED -- Use #account event instead

Data Fields

Name Type Details
did string (required)

Syntax Format: did

seq integer (required)
time string (required)

Syntax Format: datetime