Build a download plan for the desired data pattern. The plan lists whole segments or block ranges that might contain events for the requested kinds, DIDs, and collections.
Input
application/jsonafterSeq
integer
Optional
Start after this sequence number. Events at or below it are not included.
minimum: 0beforeSeq
integer
Optional
Stop at this sequence number. Events above it are not included.
minimum: 0collections
array
Optional
Collection NSIDs or namespace wildcards such as app.bsky.feed.*; constrains commit events only. Non-commit kinds are unaffected, so combine with kinds=commit for a commits-only collection plan. Rejected when kinds is set and excludes commit. Omit or pass an empty array to include all collections.
maxLength: 100 itemsdids
array
Optional
Only include data for these DIDs. Omit this field or pass an empty array to include all DIDs.
maxLength: 10000 itemskinds
array
Optional
Event kinds to include. Omit this field or pass an empty array to include all kinds.
maxLength: 4 itemsOutput
application/jsonplannedThroughSeq
integer
Required
The last sealed sequence covered by this page. Use this value as afterSeq for the next page. If the response hits the server's page limit, this is the maxSeq of the last item returned; otherwise it equals sealedTipSeq. Planning is complete when plannedThroughSeq reaches sealedTipSeq.
sealedTipSeq
integer
Required
The end of the sealed archive for this snapshot, capped by beforeSeq when provided. Use this value as beforeSeq on later pages so the snapshot does not move while it is being downloaded.
segments
array
Required
No description available.
stats
ref#stats
Required
No description available.
Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"type": "procedure",
"input": {
"schema": {
"type": "object",
"properties": {
"dids": {
"type": "array",
"items": {
"type": "string",
"format": "did"
},
"maxLength": 10000,
"description": "Only include data for these DIDs. Omit this field or pass an empty array to include all DIDs."
},
"kinds": {
"type": "array",
"items": {
"enum": [
"commit",
"identity",
"account",
"sync"
],
"type": "string"
},
"maxLength": 4,
"description": "Event kinds to include. Omit this field or pass an empty array to include all kinds."
},
"afterSeq": {
"type": "integer",
"minimum": 0,
"description": "Start after this sequence number. Events at or below it are not included."
},
"beforeSeq": {
"type": "integer",
"minimum": 0,
"description": "Stop at this sequence number. Events above it are not included."
},
"collections": {
"type": "array",
"items": {
"type": "string"
},
"maxLength": 100,
"description": "Collection NSIDs or namespace wildcards such as app.bsky.feed.*; constrains commit events only. Non-commit kinds are unaffected, so combine with kinds=commit for a commits-only collection plan. Rejected when kinds is set and excludes commit. Omit or pass an empty array to include all collections."
}
}
},
"encoding": "application/json"
},
"output": {
"schema": {
"type": "object",
"required": [
"plannedThroughSeq",
"sealedTipSeq",
"segments",
"stats"
],
"properties": {
"stats": {
"ref": "#stats",
"type": "ref"
},
"segments": {
"type": "array",
"items": {
"ref": "#segment",
"type": "ref"
}
},
"sealedTipSeq": {
"type": "integer",
"minimum": 0,
"description": "The end of the sealed archive for this snapshot, capped by beforeSeq when provided. Use this value as beforeSeq on later pages so the snapshot does not move while it is being downloaded."
},
"plannedThroughSeq": {
"type": "integer",
"minimum": 0,
"description": "The last sealed sequence covered by this page. Use this value as afterSeq for the next page. If the response hits the server's page limit, this is the maxSeq of the last item returned; otherwise it equals sealedTipSeq. Planning is complete when plannedThroughSeq reaches sealedTipSeq."
}
}
},
"encoding": "application/json"
},
"description": "Build a download plan for the desired data pattern. The plan lists whole segments or block ranges that might contain events for the requested kinds, DIDs, and collections."
}