page.corvus.getOps
Read ops for the requested `blockIds` in forward cursor order, strictly after `cursor`.
Details · query
| Kind | query |
|---|---|
| Authority | corvus.page |
| Indexed |
Query
query · GETParameters
query stringThe explicit set of block ids to read ops for. No transitive walk — only ops whose `blockId` is in this set are returned.
cursor
integerServer-assigned cursor (exclusive) to resume from. Omitted = start from cursor 0 (every op the server has for the requested blocks). Same semantic as `page.corvus.subscribeOps#main.cursor`.
includeDids
arrayThe dids of the users to include.
limit
integerMaximum number of ops to return in this page.
minimum: 1maximum: 1000default: 500
Output
application/jsoncursor
integerCursor of the last op in `ops`. Pass this as `cursor` on the next call to continue paginating. Omitted when `ops` is empty (caller is caught up to the server's high-water for these blocks).
Ops for the requested blocks with cursor strictly greater than the input `cursor`, in ascending cursor order. Up to `limit` entries. Shape is identical to a live `page.corvus.subscribeOps#op` frame.
Errors
InvalidCursor
The supplied cursor is malformed or beyond the server's current high-water.
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
page.corvus.getBlock
queryFetch materialized snapshots of an explicit set of blocks plus the `cursor` at the time of the snapshot. Bootstrap path for clients that don't want to replay history from scratch. **Explicit set, no descent.** The server returns one snapshot per requested `blockId`. It does NOT walk children, references, or any other graph relation — the caller decides which blocks to materialize. To render a tree, the caller fetches a root, reads child block-ids out of its data, then issues a follow-up `getBlo
-
page.corvus.subscribeOps
subscriptionSubscribe to CRDT op streams from a corvus server over a single WebSocket connection. **Connection-scoped, multi-block**: one connection authenticates one DID and may carry subscriptions to many block sets. Subscribes and unsubscribes happen mid-connection via `page.corvus.backchannelFrame#subscribe` / `#unsubscribe` — the upgrade itself takes no parameters and starts with no active subscriptions. **Subscriptions name an explicit block set.** A subscribe frame carries the `blockIds` the client
-
Incremental pull sync of a repo's operation log (oplog), mirroring com.atproto.space.listRepoOps semantics. Returns record operations after the `since` revision, with current record values inlined by default. Boundary-gated: the caller only observes operations for records within its enrolled boundaries. The response reaches the head of the oplog when `cursor` is absent; the repo's current signed commit is then included (unless the repo has no commits yet), consistent with the operations returned