@speakeasy-sdks/bluesky
v0.3.0
Published
Developer-friendly & type-safe Typescript SDK specifically catered to leverage _@speakeasy-api/bluesky_ API.
Downloads
17
Maintainers
Keywords
Readme
@speakeasy-api/bluesky
Developer-friendly & type-safe Typescript SDK specifically catered to leverage @speakeasy-api/bluesky API.
[!IMPORTANT] This SDK is not yet ready for production use. Delete this section before > publishing to a package manager.
Summary
AT Protocol XRPC API: Conversion of AT Protocol's lexicons to OpenAPI's schema format.
This section contains HTTP API reference docs for Bluesky and AT Protocol lexicons. Generate a bearer token to test API calls directly from the docs.
Table of Contents
SDK Installation
The SDK can be installed with either npm, pnpm, bun or yarn package managers.
NPM
npm add @speakeasy-sdks/bluesky
# Install optional peer dependencies if you plan to use React hooks
npm add @tanstack/react-query react react-domPNPM
pnpm add @speakeasy-sdks/bluesky
# Install optional peer dependencies if you plan to use React hooks
pnpm add @tanstack/react-query react react-domBun
bun add @speakeasy-sdks/bluesky
# Install optional peer dependencies if you plan to use React hooks
bun add @tanstack/react-query react react-domYarn
yarn add @speakeasy-sdks/bluesky
# Install optional peer dependencies if you plan to use React hooks
yarn add @tanstack/react-query react react-dom[!NOTE] This package is published as an ES Module (ESM) only. For applications using CommonJS, use
await import("@speakeasy-sdks/bluesky")to import and use this package.
Model Context Protocol (MCP) Server
This SDK is also an installable MCP server where the various SDK methods are exposed as tools that can be invoked by AI applications.
Node.js v20 or greater is required to run the MCP server from npm.
Add the following server definition to your claude_desktop_config.json file:
{
"mcpServers": {
"Bluesky": {
"command": "npx",
"args": [
"-y", "--package", "@speakeasy-sdks/bluesky",
"--",
"mcp", "start",
"--bearer", "..."
]
}
}
}Create a .cursor/mcp.json file in your project root with the following content:
{
"mcpServers": {
"Bluesky": {
"command": "npx",
"args": [
"-y", "--package", "@speakeasy-sdks/bluesky",
"--",
"mcp", "start",
"--bearer", "..."
]
}
}
}You can also run MCP servers as a standalone binary with no additional dependencies. You must pull these binaries from available Github releases:
curl -L -o mcp-server \
https://github.com/{org}/{repo}/releases/download/{tag}/mcp-server-bun-darwin-arm64 && \
chmod +x mcp-serverIf the repo is a private repo you must add your Github PAT to download a release -H "Authorization: Bearer {GITHUB_PAT}".
{
"mcpServers": {
"Todos": {
"command": "./DOWNLOAD/PATH/mcp-server",
"args": [
"start"
]
}
}
}For a full list of server arguments, run:
npx -y --package @speakeasy-sdks/bluesky -- mcp start --helpRequirements
For supported JavaScript runtimes, please consult RUNTIMES.md.
SDK Example Usage
Example
import { Bluesky } from "@speakeasy-sdks/bluesky";
const bluesky = new Bluesky({
bearer: process.env["BLUESKY_BEARER"] ?? "",
});
async function run() {
const result = await bluesky.actors.getProfile({
actor: "did:plc:z72i7hdynmk6r22z27h6tvur",
});
console.log(result);
}
run();
Authentication
Per-Client Security Schemes
This SDK supports the following security scheme globally:
| Name | Type | Scheme | Environment Variable |
| -------- | ---- | ----------- | -------------------- |
| bearer | http | HTTP Bearer | BLUESKY_BEARER |
To authenticate with the API the bearer parameter must be set when initializing the SDK client instance. For example:
import { Bluesky } from "@speakeasy-sdks/bluesky";
const bluesky = new Bluesky({
bearer: process.env["BLUESKY_BEARER"] ?? "",
});
async function run() {
const result = await bluesky.actors.getPreferences();
console.log(result);
}
run();
Available Resources and Operations
Account
- delete - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
- exportData - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Accounts
- getInviteCodes - This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get all invite codes for the current account. Requires auth.
Actor
- getSuggestions - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get a list of suggested actors. Expected use is discovery of accounts to follow during new account onboarding.
- searchTypeahead - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Find actor suggestions for a prefix search term. Expected use is for auto-completion during text field entry. Does not require auth.
Actors
- getPreferences - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get private preferences attached to the current account. Expected use is synchronization between multiple devices, and import/export during account migration. Requires auth.
- getProfile - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get detailed profile view of an actor. Does not require auth, but contains relevant metadata with auth.
- getProfiles - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get detailed profile views of multiple actors.
- putPreferences - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Set the private preferences attached to the account.
- search - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Find actors (profiles) matching search criteria. Does not require auth.
Admin
- disableInviteCodes - This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Disable some set of codes and/or all codes associated with a set of users.
- getAccountInfo - This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get details about an account.
- getSubjectStatus - This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get the service-specific admin status of a subject (account, record, or blob).
- sendEmail - This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Send email to a user's account email address.
- updateAccountEmail - This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Administrative action to update an account's email.
- updateAccountHandle - This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Administrative action to update an account's handle.
- updateAccountPassword - This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Update the password for a user account as an administrator.
- updateSubjectStatus - This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Update the service-specific admin status of a subject (account, record, or blob).
Admins
- deleteAccount - This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Delete a user account as an administrator.
- enableAccountInvites - This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Re-enable an account's ability to receive invite codes.
- getAccountInfos - This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get details about some accounts.
AtprotoAdmin
- disableAccountInvites - This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Disable an account from receiving new invite codes, but does not invalidate existing codes.
- getInviteCodes - This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get an admin view of invite codes.
- searchAccounts - This endpoint is part of the atproto PDS management APIs. Requests usually require admin authentication and are made directly to the PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get list of accounts that matches your search query.
AtprotoIdentity
- requestPlcOperationSignature - To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Request an email with a code to in order to request a signed PLC operation. Requires Auth.
- resolveHandle - To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Resolves a handle (domain name) to a DID.
- signPlcOperation - To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Signs a PLC operation to update some value(s) in the requesting DID's document.
AtprotoLabels
- query - To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Find labels relevant to the provided AT-URI patterns. Public endpoint for moderation services, though may return different or additional results with auth.
AtprotoModeration
- createReport - To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Submit a moderation report regarding an atproto account or record. Implemented by moderation services (with PDS proxying), and requires auth.
AtprotoRepo
- delete - This endpoint is part of the atproto PDS repository management APIs. Requests usually require authentication (unlike the
com.atproto.sync.*endpoints), and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Delete a repository record, or ensure it doesn't exist. Requires auth, implemented by PDS.
- import - This endpoint is part of the atproto PDS repository management APIs. Requests usually require authentication (unlike the
com.atproto.sync.*endpoints), and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Import a repo in the form of a CAR file. Requires Content-Length HTTP header to be set.
- uploadBlob - This endpoint is part of the atproto PDS repository management APIs. Requests usually require authentication (unlike the
com.atproto.sync.*endpoints), and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Upload a new blob, to be referenced from a repository record. The blob will be deleted if it is not referenced within a time window (eg, minutes). Blob restrictions (mimetype, size, etc) are enforced when the reference is created. Requires auth, implemented by PDS.
AtprotoServer
- activateAccount - This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Activates a currently deactivated account. Used to finalize account migration after the account's repo is imported and identity is setup.
- createAccount - This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Create an account. Implemented by PDS.
- createAppPassword - This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Create an App Password.
- createInviteCode - This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Create an invite code.
- createInviteCodes - This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Create invite codes.
- deleteAccount - This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Delete an actor's account with a token and password. Can only be called after requesting a deletion token. Requires auth.
- deleteSession - This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Delete the current session. Requires auth.
- describe - This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Describes the server's account creation requirements and capabilities. Implemented by PDS.
- refreshSession - This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Refresh an authentication session. Requires auth using the 'refreshJwt' (not the 'accessJwt').
- requestEmailConfirmation - This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Request an email with a code to confirm ownership of email.
- requestPasswordReset - This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Initiate a user account password reset via email.
- resetPassword - This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Reset a user account password using a token.
- revokeAppPassword - This endpoint is part of the atproto PDS server and account management APIs. Requests often require authentication and are made directly to the user's own PDS instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Revoke an App Password by name.
AtprotoSync
- getBlob - This endpoint is part of the atproto repository synchronization APIs. Requests usually do not require authentication, and can be made to PDS intances or Relay instances.*
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get a blob associated with a given account. Returns the full blob as originally uploaded. Does not require auth; implemented by PDS.
- listRepos - This endpoint is part of the atproto repository synchronization APIs. Requests usually do not require authentication, and can be made to PDS intances or Relay instances.*
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Enumerates all the DID, rev, and commit CID for all repos hosted by this service. Does not require auth; implemented by PDS and Relay.
AtprotoSyncs
- getRecord - This endpoint is part of the atproto repository synchronization APIs. Requests usually do not require authentication, and can be made to PDS intances or Relay instances.*
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get data blocks needed to prove the existence or non-existence of record in the current version of repo. Does not require auth.
ChatConvo
- sendMessageBatch - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
- unmute - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
ChatConvos
- getForMembers - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
- getMessages - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
- sendMessage - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
- updateRead - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
ChatModeration
- getActorMetadata - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
- updateActorAccess - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Chats
- getConvo - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
- getMessageContext - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Communications
- createTemplate - This endpoint is part of the Ozone moderation service APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Administrative action to create a new, re-usable communication (email for now) template.
Conversations
- getLog - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
- leave - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Convo
- deleteMessageForSelf - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
- list - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Convos
- mute - This endpoint is part of the Bluesky Chat (DMs) APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the single central chat service by setting the appropriate service DID (
did:web:api.bsky.chat) in the service proxying header.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Feed
- getActor - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get a list of feeds (feed generator records) created by the actor (in the actor's repo).
- getActorLikes - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get a list of posts liked by an actor. Requires auth, actor must be the requesting account.
- getAuthor - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get a view of an actor's 'author feed' (post and reposts by the author). Does not require auth.
- fetch - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get a hydrated feed from an actor's selected feed generator. Implemented by App View.
- getGenerator - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get information about a feed generator. Implemented by AppView.
- getGenerators - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get information about a list of feed generators.
- getSkeleton - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get a skeleton of a feed provided by a feed generator. Auth is optional, depending on provider requirements, and provides the DID of the requester. Implemented by Feed Generator Service.
- getSuggested - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get a list of suggested feeds (feed generators) for the requesting account.
- getTimeline - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get a view of the requesting account's home timeline. This is expected to be some form of reverse-chronological feed.
- search - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Find posts matching search criteria, returning views of those posts.
Feeds
- describeGenerator - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get information about a feed generator, including policies and offered feed URIs. Does not require auth; implemented by Feed Generator services (not App View).
- getLikes - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get like records which reference a subject (by AT-URI and CID).
- getList - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get a feed of recent posts from a list (posts and reposts from any actors on the list). Does not require auth.
- getPostThread - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get posts in a thread. Does not require auth, but additional metadata and filtering will be applied for authed requests.
- get - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'.
- getQuotes - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get a list of quotes for a given post.
- getRepostedBy - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get a list of reposts for a given post.
- sendInteractions - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Send information about interactions with feed items back to the feed generator that served them.
Graph
- getActorStarterPacks - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get a list of starter packs created by the actor.
- getFollows - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Enumerates accounts which a specified account (actor) follows.
- getList - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Gets a 'view' (with additional context) of a specified list.
- getListMutes - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Enumerates mod lists that the requesting account (actor) currently has muted. Requires auth.
- getLists - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Enumerates the lists created by a specified account (actor).
- getRelationships - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Enumerates public relationships between one account, and a list of other accounts. Does not require auth.
- getStarterPack - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Gets a view of a starter pack.
- muteActor - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Creates a mute relationship for the specified account. Mutes are private in Bluesky. Requires auth.
- muteActorList - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Creates a mute relationship for the specified list of accounts. Mutes are private in Bluesky. Requires auth.
- searchStarterPacks - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Find starter packs matching search criteria. Does not require auth.
- unmuteThread - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Unmutes the specified thread. Requires auth.
Graphs
- getBlocks - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Enumerates which accounts the requesting account is currently blocking. Requires auth.
- getKnownFollowers - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Enumerates accounts which follow a specified account (actor) and are followed by the viewer.
- getListBlocks - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get mod lists that the requesting account (actor) is blocking. Requires auth.
- getMutes - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Enumerates accounts that the requesting account (actor) currently has muted. Requires auth.
- getStarterPacks - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get views for a list of starter packs.
- muteThread - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Mutes a thread preventing notifications from the thread and any of its children. Mutes are private in Bluesky. Requires auth.
- unmuteActorList - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Unmutes the specified list of accounts. Requires auth.
Identities
- updateHandle - To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Updates the current account's handle. Verifies handle validity, and updates did:plc document if necessary. Implemented by PDS, and requires auth.
Identity
- getRecommendedDidCredentials - To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Describe the credentials that should be included in the DID doc of an account that is migrating to this service.
- submitPlcOperation - To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Validates a PLC operation to ensure that it doesn't violate a service's constraints or get the identity into a bad state, then submits it to the PLC registry
Labelers
- getServices - This endpoint is part of the Bluesky application Lexicon APIs (
app.bsky.*). Public endpoints which don't require authentication can be made directly against the public Bluesky AppView API: https://public.api.bsky.app. Authenticated requests are usually made to the user's PDS, with automatic service proxying. Authenticated requests can be used for both public and non-public endpoints.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get information about a list of labeler services.
Moderation
- getEvent - This endpoint is part of the Ozone moderation service APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
Get details about a moderation event.
- queryEvents - This endpoint is part of the Ozone moderation service APIs. Requests usually require authentication, are directed to the user's PDS intance, and proxied to the Ozone instance indicated by the DID in the service proxying header. Admin authenentication may also be possible, with request sent directly to the Ozone instance.
To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide.
List moderation events related to a subject.
