openapi: 3.0.3 info: title: Bluesky Application API (app.bsky) actor sync API description: The Bluesky application-layer Lexicon API providing feed, actor, graph, notification, and video endpoints for the microblogging application built on AT Protocol. The AppView is accessible unauthenticated at public.api.bsky.app for read operations, and at api.bsky.app for authenticated write operations. Schemas are defined using Lexicon, AT Protocol's schema definition language. version: 1.0.0 contact: name: Bluesky url: https://docs.bsky.app/ license: name: MIT / Apache-2.0 url: https://github.com/bluesky-social/atproto/blob/main/LICENSE.txt servers: - url: https://public.api.bsky.app/xrpc description: Public AppView (unauthenticated read operations) - url: https://api.bsky.app/xrpc description: Authenticated AppView (write operations) security: - bearerAuth: [] - {} tags: - name: sync description: Data synchronization, firehose, blob access paths: /com.atproto.sync.getRepo: get: operationId: com_atproto_sync_getRepo summary: Get Repo description: Download a repository export as CAR file. Optionally only a subset of commits. Does not require auth; implemented by PDS. tags: - sync security: - {} parameters: - name: did in: query required: true description: The DID of the repo. schema: type: string - name: since in: query required: false description: The revision (''rev'') of the repo to create a diff from. schema: type: string responses: '200': description: CAR file binary content: application/vnd.ipld.car: schema: type: string format: binary '400': $ref: '#/components/responses/BadRequest' /com.atproto.sync.getBlob: get: operationId: com_atproto_sync_getBlob summary: Get Blob description: Get a blob associated with a given account. Does not require auth. tags: - sync security: - {} parameters: - name: did in: query required: true description: The DID of the account. schema: type: string - name: cid in: query required: true description: The CID of the blob to fetch. schema: type: string responses: '200': description: Blob data content: '*/*': schema: type: string format: binary '400': $ref: '#/components/responses/BadRequest' /com.atproto.sync.listRepos: get: operationId: com_atproto_sync_listRepos summary: List Repos description: Enumerates all the DID, rev, and CID triples for all repos hosted by this service. tags: - sync security: - {} parameters: - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 1000 default: 500 - name: cursor in: query required: false schema: type: string responses: '200': description: List of repos content: application/json: schema: type: object required: - repos properties: cursor: type: string repos: type: array items: $ref: '#/components/schemas/RepoRef' '400': $ref: '#/components/responses/BadRequest' components: schemas: RepoRef: type: object required: - did - head - rev properties: did: type: string head: type: string rev: type: string active: type: boolean status: type: string Error: type: object required: - error - message properties: error: type: string description: Error name/code message: type: string description: Human-readable error message responses: BadRequest: description: Bad request or validation error content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: Access JWT obtained from com.atproto.server.createSession externalDocs: description: Bluesky HTTP API Reference url: https://docs.bsky.app/docs/advanced-guides/atproto