aid: at-protocol name: AT Protocol description: | The AT Protocol (atproto) is an open, federated networking protocol for social applications, originally developed by Bluesky Social PBC and the Bluesky team. It defines a decentralized architecture where user identity and data are portable across providers, anchored in DIDs, signed records, and content-addressed storage. The protocol is composed of independently operable services — Personal Data Servers (PDS), Relays (firehose aggregators), and AppViews (read-side indexers) — that communicate using XRPC and exchange records described by Lexicon schemas. Bluesky (bsky.app) is the reference application built on AT Protocol, but the protocol is designed for any social or social-adjacent application that wants user-owned identity, portable data, and an open federation model. Official and community SDKs exist for TypeScript, Go, Python, Rust, Dart, Swift, C#/.NET, Ruby, PHP, and more, and the full lexicon, network topology, and reference implementations are open source. type: Index position: Provider access: Public image: https://kinlane-productions.s3.amazonaws.com/apis-json/apis-json-logo.jpg tags: - AT Protocol - atproto - Bluesky - Federation - Decentralized Social - Social Networking - DID - Lexicon - XRPC - PDS - Relay - AppView - Open Protocol url: https://raw.githubusercontent.com/api-evangelist/at-protocol/refs/heads/main/apis.yml created: '2026-05-23' modified: '2026-05-23' specificationVersion: '0.20' apis: - aid: at-protocol:atproto-xrpc name: AT Protocol XRPC API description: | XRPC is the AT Protocol's HTTP-based remote procedure call layer. All protocol interactions — querying records, writing records, subscribing to streams, resolving identity, moderating content — are exposed as XRPC methods defined in Lexicon schemas. PDS, Relay, and AppView services all speak XRPC, so the same client library can be pointed at different network roles. The HTTP surface uses /xrpc/{nsid} paths and JSON request/response bodies (with optional CBOR for record content). humanURL: https://atproto.com/specs/xrpc baseURL: https://atproto.com/xrpc tags: - XRPC - RPC - HTTP - JSON - Protocol Surface properties: - type: Specification url: https://atproto.com/specs/xrpc - type: Documentation url: https://atproto.com/guides/glossary - type: GitHubOrganization url: https://github.com/bluesky-social - aid: at-protocol:lexicon name: AT Protocol Lexicon Schemas description: | Lexicon is the schema definition language for AT Protocol. Every record type, XRPC method, and event subscription on the network is described by a Lexicon document, which acts as both contract and code generation source for client libraries. Bluesky publishes the app.bsky.* and com.atproto.* lexicons that power the reference Bluesky application; third parties define their own NSIDs to ship independent applications on the same network. humanURL: https://atproto.com/guides/lexicon baseURL: https://atproto.com/lexicons tags: - Lexicon - Schema - NSID - Record Types properties: - type: Documentation url: https://atproto.com/guides/lexicon - type: Specification url: https://atproto.com/specs/lexicon - type: Repository url: https://github.com/bluesky-social/atproto/tree/main/lexicons - aid: at-protocol:pds-api name: Personal Data Server (PDS) API description: | The PDS hosts a user's repository of signed records and exposes the com.atproto.* XRPC methods for account creation, authentication, record CRUD, blob upload, and repository sync. A PDS is the home server for an actor; users can migrate their account (and full record history) between PDS hosts while keeping the same DID. humanURL: https://atproto.com/guides/self-hosting baseURL: https://atproto.com/xrpc/com.atproto tags: - PDS - Personal Data Server - Repository - Sync - Self-Hosting properties: - type: Documentation url: https://atproto.com/guides/self-hosting - type: Specification url: https://atproto.com/specs/repository - type: Reference url: https://github.com/bluesky-social/atproto/tree/main/packages/pds - aid: at-protocol:relay-firehose name: AT Protocol Relay & Firehose description: | The Relay aggregates the com.atproto.sync.subscribeRepos firehose across PDS hosts and re-broadcasts the combined event stream over WebSocket. AppViews and indexers subscribe to a Relay to get a near-real-time view of every public record written on the network without polling individual PDS instances. humanURL: https://atproto.com/guides/glossary baseURL: wss://bsky.network tags: - Relay - Firehose - WebSocket - Streaming - Sync properties: - type: Specification url: https://atproto.com/specs/sync - type: Reference url: https://github.com/bluesky-social/indigo - aid: at-protocol:bsky-appview name: Bluesky AppView API description: | The Bluesky AppView indexes the firehose and exposes the app.bsky.* XRPC methods that the Bluesky client (and any compatible client) uses to render timelines, threads, profiles, notifications, search, and graph data. It is the reference AppView for the app.bsky lexicon family and the primary read API for Bluesky applications. humanURL: https://docs.bsky.app/ baseURL: https://public.api.bsky.app/xrpc tags: - AppView - Bluesky - Timeline - Feed - Graph - Notifications properties: - type: Documentation url: https://docs.bsky.app/ - type: APIReference url: https://docs.bsky.app/docs/category/http-reference - type: Lexicons url: https://github.com/bluesky-social/atproto/tree/main/lexicons/app/bsky - aid: at-protocol:identity-did name: AT Protocol Identity (DID & Handles) description: | Identity in AT Protocol is anchored in DIDs (did:plc or did:web), with human-readable handles resolved through DNS TXT records or well-known HTTP endpoints. The protocol specifies how DIDs map to PDS endpoints, signing keys, and rotation, allowing users to keep a stable identity while changing handles or migrating providers. humanURL: https://atproto.com/specs/did baseURL: https://plc.directory tags: - Identity - DID - did:plc - Handles - DNS properties: - type: Specification url: https://atproto.com/specs/did - type: Specification url: https://atproto.com/specs/handle - type: Service url: https://plc.directory/ features: - name: User-Owned Identity description: DIDs and handles let users keep a stable identity across PDS hosts and applications. - name: Portable Repositories description: All of a user's records live in a signed, content-addressed repository that can be migrated between PDS providers. - name: Lexicon-First Schemas description: Every API surface is described by Lexicon, enabling consistent code generation across many languages. - name: Firehose Streaming description: A public WebSocket firehose exposes the entire public network in near real time. - name: Multi-Role Federation description: PDS, Relay, and AppView roles can be operated independently and scaled separately. - name: Open Source Reference Stack description: The bluesky-social/atproto and indigo repositories provide reference TypeScript and Go implementations. useCases: - name: Building Bluesky Clients description: Ship custom mobile, web, or desktop clients for the Bluesky network using the app.bsky lexicons. - name: Custom Feeds and Algorithms description: Implement feed generators that subscribe to the firehose and serve algorithmic timelines to Bluesky users. - name: Independent Social Applications description: Define new lexicons and ship apps that share the federation substrate without coupling to Bluesky's product. - name: Moderation and Labeling Services description: Operate labeler services that emit moderation labels consumed by AppViews and clients. - name: Self-Hosted Personal Data Servers description: Run a personal or community PDS to host accounts under your own infrastructure and domain. integrations: - name: Bluesky (app.bsky) - name: Ozone (moderation) - name: Feed Generators - name: did:plc Directory - name: Buf Schema Registry (community) common: - type: Website url: https://atproto.com/ - type: Documentation url: https://atproto.com/guides/overview - type: Specifications url: https://atproto.com/specs/atp - type: SDKs url: https://atproto.com/sdks - type: GitHubOrganization url: https://github.com/bluesky-social - type: ReferenceImplementation url: https://github.com/bluesky-social/atproto - type: GoImplementation url: https://github.com/bluesky-social/indigo - type: Bluesky url: https://bsky.app/ - type: BlueskyDocs url: https://docs.bsky.app/ - type: Blog url: https://bsky.social/about/blog - type: Cookbook url: https://github.com/bluesky-social/cookbook maintainers: - FN: Kin Lane email: kin@apievangelist.com