{
"id": "zone.stratos.sync.listRecordPaths",
"defs": {
"main": {
"type": "query",
"errors": [
{
"name": "RepoNotFound",
"description": "The requested repo does not exist."
},
{
"name": "AuthRequired",
"description": "Service authentication is required."
}
],
"output": {
"schema": {
"type": "object",
"required": [
"records"
],
"properties": {
"cursor": {
"type": "string",
"description": "Opaque pagination cursor to fetch the next page. Absent when enumeration is complete."
},
"records": {
"type": "array",
"items": {
"ref": "#recordPath",
"type": "ref"
},
"description": "The record paths in this page."
}
}
},
"encoding": "application/json"
},
"parameters": {
"type": "params",
"required": [
"did"
],
"properties": {
"did": {
"type": "string",
"format": "did",
"description": "The DID of the repo to enumerate."
},
"limit": {
"type": "integer",
"default": 100,
"maximum": 1000,
"minimum": 1,
"description": "Maximum number of rows to return in this page."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response."
},
"collection": {
"type": "string",
"format": "nsid",
"description": "Optional single collection to enumerate. When omitted, all collections are enumerated."
},
"excludeValues": {
"type": "boolean",
"default": false,
"description": "When true, record values are omitted and only path metadata is returned."
}
}
},
"description": "Full-state recovery: enumerate a repo's record paths and their current CIDs, mirroring listRecords semantics. Record values are inlined by default; excludeValues returns metadata only. Boundary-gated: the caller only observes records within its enrolled boundaries. Intended as the fallback when the oplog (listRepoOps) returns OplogTruncated: the caller enumerates paths, diffs locally, and fetches misses. Callers must authenticate with a signed service JWT via the Authorization: Bearer header."
},
"recordPath": {
"type": "object",
"required": [
"collection",
"rkey",
"cid"
],
"properties": {
"cid": {
"type": "string",
"format": "cid",
"description": "The CID (string form) of the current record value."
},
"rkey": {
"type": "string",
"maxLength": 512,
"description": "The record key."
},
"value": {
"type": "unknown",
"description": "The current record value, inlined by default. Omitted when excludeValues is true."
},
"collection": {
"type": "string",
"format": "nsid",
"description": "The record collection."
}
},
"description": "A record path with its current CID and optionally its value."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}