network.bsky.jetstream.planSnapshot

bsky-lexicons.bsky.social

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "blockRange": {
      "properties": {
        "first": {
          "description": "Index of the first block in the range.",
          "minimum": 0,
          "type": "integer"
        },
        "last": {
          "description": "Index of the last block in the range.",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "first",
        "last"
      ],
      "type": "object"
    },
    "main": {
      "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.",
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "afterSeq": {
              "description": "Start after this sequence number. Events at or below it are not included.",
              "minimum": 0,
              "type": "integer"
            },
            "beforeSeq": {
              "description": "Stop at this sequence number. Events above it are not included.",
              "minimum": 0,
              "type": "integer"
            },
            "collections": {
              "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.",
              "items": {
                "type": "string"
              },
              "maxLength": 100,
              "type": "array"
            },
            "dids": {
              "description": "Only include data for these DIDs. Omit this field or pass an empty array to include all DIDs.",
              "items": {
                "format": "did",
                "type": "string"
              },
              "maxLength": 10000,
              "type": "array"
            },
            "kinds": {
              "description": "Event kinds to include. Omit this field or pass an empty array to include all kinds.",
              "items": {
                "enum": [
                  "commit",
                  "identity",
                  "account",
                  "sync"
                ],
                "type": "string"
              },
              "maxLength": 4,
              "type": "array"
            }
          },
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "plannedThroughSeq": {
              "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.",
              "minimum": 0,
              "type": "integer"
            },
            "sealedTipSeq": {
              "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.",
              "minimum": 0,
              "type": "integer"
            },
            "segments": {
              "items": {
                "ref": "#segment",
                "type": "ref"
              },
              "type": "array"
            },
            "stats": {
              "ref": "#stats",
              "type": "ref"
            }
          },
          "required": [
            "plannedThroughSeq",
            "sealedTipSeq",
            "segments",
            "stats"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    },
    "segment": {
      "properties": {
        "blocks": {
          "description": "Block ranges to download, including both endpoints. This field is present only when mode is blocks.",
          "items": {
            "ref": "#blockRange",
            "type": "ref"
          },
          "type": "array"
        },
        "checksum": {
          "description": "The segment's xxh3 metadata checksum, encoded as 16 hexadecimal characters.",
          "maxLength": 16,
          "minLength": 16,
          "type": "string"
        },
        "index": {
          "description": "Zero-based segment index.",
          "minimum": 0,
          "type": "integer"
        },
        "maxSeq": {
          "minimum": 0,
          "type": "integer"
        },
        "minSeq": {
          "minimum": 0,
          "type": "integer"
        },
        "mode": {
          "description": "How to download this segment. For segment, download the whole file with getSegment. For blocks, download the ranges listed in blocks with getBlock.",
          "knownValues": [
            "segment",
            "blocks"
          ],
          "type": "string"
        },
        "name": {
          "description": "Segment filename to pass to getSegment or getBlock.",
          "type": "string"
        }
      },
      "required": [
        "name",
        "index",
        "checksum",
        "minSeq",
        "maxSeq",
        "mode"
      ],
      "type": "object"
    },
    "stats": {
      "properties": {
        "blocksMatched": {
          "minimum": 0,
          "type": "integer"
        },
        "entries": {
          "description": "Number of items counted toward the server's per-page plan limit.",
          "minimum": 0,
          "type": "integer"
        },
        "segmentsExamined": {
          "minimum": 0,
          "type": "integer"
        },
        "segmentsMatched": {
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "segmentsExamined",
        "segmentsMatched",
        "blocksMatched",
        "entries"
      ],
      "type": "object"
    }
  },
  "id": "network.bsky.jetstream.planSnapshot",
  "lexicon": 1
}

Validate Record

Validate a record against network.bsky.jetstream.planSnapshot

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:4v4y5r3lwsbtmsxhile2ljac
CID
bafyreidoxmvwpcnhikpmacwft6vokeambv7h6ufyz34jngt5barw2cnlka
Indexed At
2026-08-15 18:45 UTC
AT-URI
at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/network.bsky.jetstream.planSnapshot

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

Lexicon Garden

@