From 44ba26088e7471fceb62ef4eca330afbd8dc2b1d Mon Sep 17 00:00:00 2001 From: Eli Mallon Date: Sat, 25 Jul 2026 21:18:27 -0700 Subject: [PATCH] docs: openapi entries for com.atproto.sync.getBlocks + getLatestCommit make ci-lexicons on CI regenerates the lex-reference openapi.json and rightly expects the two sync lexicons added in the previous commit to be documented there. The hunk is taken verbatim from CI's own regeneration output rather than a local `make md-lexicons` run, because the local regeneration is environmentally skewed: on this machine it also deletes ~3100 lines of unrelated, still-valid paths (games.* among others) that CI's regeneration keeps, on a tree where CI is otherwise clean. That local-vs-CI md-lexicons divergence predates this branch and deserves its own investigation; it is not made better or worse here. Co-Authored-By: Claude Fable 5 --- .../content/docs/lex-reference/openapi.json | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/js/docs/src/content/docs/lex-reference/openapi.json b/js/docs/src/content/docs/lex-reference/openapi.json index afa5c9dc..09e35d02 100644 --- a/js/docs/src/content/docs/lex-reference/openapi.json +++ b/js/docs/src/content/docs/lex-reference/openapi.json @@ -4470,6 +4470,160 @@ ] } }, + "/xrpc/com.atproto.sync.getBlocks": { + "get": { + "summary": "Get data blocks from a given repo, by CID. For example, intermediate MST nodes, or records. Does not require auth; implemented by PDS.", + "operationId": "com.atproto.sync.getBlocks", + "tags": ["com.atproto.sync"], + "responses": { + "200": { + "description": "Success", + "content": { + "application/vnd.ipld.car": { + "schema": {} + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["error", "message"], + "properties": { + "error": { + "type": "string", + "oneOf": [ + { + "const": "BlockNotFound" + }, + { + "const": "RepoNotFound" + }, + { + "const": "RepoTakendown" + }, + { + "const": "RepoSuspended" + }, + { + "const": "RepoDeactivated" + } + ] + }, + "message": { + "type": "string" + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "did", + "in": "query", + "required": true, + "description": "The DID of the repo.", + "schema": { + "type": "string", + "description": "The DID of the repo.", + "format": "did" + } + }, + { + "name": "cids", + "in": "query", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string", + "format": "cid" + } + } + } + ] + } + }, + "/xrpc/com.atproto.sync.getLatestCommit": { + "get": { + "summary": "Get the current commit CID & revision of the specified repo. Does not require auth.", + "operationId": "com.atproto.sync.getLatestCommit", + "tags": ["com.atproto.sync"], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "cid": { + "type": "string", + "format": "cid" + }, + "rev": { + "type": "string", + "format": "tid" + } + }, + "required": ["cid", "rev"] + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["error", "message"], + "properties": { + "error": { + "type": "string", + "oneOf": [ + { + "const": "RepoNotFound" + }, + { + "const": "RepoTakendown" + }, + { + "const": "RepoSuspended" + }, + { + "const": "RepoDeactivated" + } + ] + }, + "message": { + "type": "string" + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "did", + "in": "query", + "required": true, + "description": "The DID of the repo.", + "schema": { + "type": "string", + "description": "The DID of the repo.", + "format": "did" + } + } + ] + } + }, "/xrpc/com.atproto.sync.getRecord": { "get": { "summary": "Get data blocks needed to prove the existence or non-existence of record in the current version of repo. Does not require auth.", -- 2.51.2