{
  "lexicon": 1,
  "id": "com.atproto.sync.getBlocks",
  "defs": {
    "main": {
      "type": "query",
      "description": "Get data blocks from a given repo, by CID. For example, intermediate MST nodes, or records. Does not require auth; implemented by PDS.",
      "parameters": {
        "type": "params",
        "required": [
          "did",
          "cids"
        ],
        "properties": {
          "cids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "cid"
            }
          },
          "did": {
            "type": "string",
            "description": "The DID of the repo.",
            "format": "did"
          }
        }
      },
      "output": {
        "encoding": "application/vnd.ipld.car"
      },
      "errors": [
        {
          "name": "BlockNotFound"
        },
        {
          "name": "RepoNotFound"
        },
        {
          "name": "RepoTakendown"
        },
        {
          "name": "RepoSuspended"
        },
        {
          "name": "RepoDeactivated"
        }
      ]
    }
  }
}