XPRC is the standardized HTTP API convention used throughout the AT Protocol for client-server and server-server communication. It provides a consistent way for applications to interact with Personal Data Server (PDSes), relays, AppViews, and other services in the ATmosphere.
XPRC enables a wide range of interactions within the AT Protocol, such as fetching and creating content, managing user accounts and profiles, synchronizing data repositories between services, uploading blobs, and facilitating user interactions.
XPRC requests follow a simple pattern:
/xprc/
followed by a Namespaced Identifier (NSID)For example, this is what a request to fetch a user's profile might look like:
GET /xrpc/app.bsky.actor.getProfile?actor=alice.bsky.social
XPRC supports two primary request types:
XPRC uses several authentication methods:
For endpoints that return large sets of data, XPRC uses cursor-based pagination. Initial requests are made without cursor parameters. If more data is available, the response will include a cursor value that must be included in follow-up requests to retrieve the next batch of data. This continues until no cursor is returned, indicating the end of the dataset.