📄️ Introduction
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.
📄️ app.bsky.actor.getPreferences
Get private preferences attached to the current account. Expected use is synchronization between multiple devices, and import/export during account migration. Requires auth.
📄️ app.bsky.actor.getProfile
Get detailed profile view of an actor. Does not require auth, but contains relevant metadata with auth.
📄️ app.bsky.actor.getProfiles
Get detailed profile views of multiple actors.
📄️ app.bsky.actor.getSuggestions
Get a list of suggested actors. Expected use is discovery of accounts to follow during new account onboarding.
📄️ app.bsky.actor.putPreferences
Set the private preferences attached to the account.
📄️ app.bsky.actor.searchActorsTypeahead
Find actor suggestions for a prefix search term. Expected use is for auto-completion during text field entry. Does not require auth.
📄️ app.bsky.actor.searchActors
Find actors (profiles) matching search criteria. Does not require auth.
📄️ app.bsky.feed.describeFeedGenerator
Get information about a feed generator, including policies and offered feed URIs. Does not require auth; implemented by Feed Generator services (not App View).
📄️ app.bsky.feed.getActorFeeds
Get a list of feeds (feed generator records) created by the actor (in the actor's repo).
📄️ app.bsky.feed.getActorLikes
Get a list of posts liked by an actor. Does not require auth.
📄️ app.bsky.feed.getAuthorFeed
Get a view of an actor's 'author feed' (post and reposts by the author). Does not require auth.
📄️ app.bsky.feed.getFeedGenerator
Get information about a feed generator. Implemented by AppView.
📄️ app.bsky.feed.getFeedGenerators
Get information about a list of feed generators.
📄️ app.bsky.feed.getFeedSkeleton
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.
📄️ app.bsky.feed.getFeed
Get a hydrated feed from an actor's selected feed generator. Implemented by App View.
📄️ app.bsky.feed.getLikes
Get like records which reference a subject (by AT-URI and CID).
📄️ app.bsky.feed.getListFeed
Get a feed of recent posts from a list (posts and reposts from any actors on the list). Does not require auth.
📄️ app.bsky.feed.getPostThread
Get posts in a thread. Does not require auth, but additional metadata and filtering will be applied for authed requests.
📄️ app.bsky.feed.getPosts
Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'.
📄️ app.bsky.feed.getRepostedBy
Get a list of reposts for a given post.
📄️ app.bsky.feed.getSuggestedFeeds
Get a list of suggested feeds (feed generators) for the requesting account.
📄️ app.bsky.feed.getTimeline
Get a view of the requesting account's home timeline. This is expected to be some form of reverse-chronological feed.
📄️ app.bsky.feed.searchPosts
Find posts matching search criteria, returning views of those posts.
📄️ app.bsky.feed.sendInteractions
Send information about interactions with feed items back to the feed generator that served them.
📄️ app.bsky.graph.getBlocks
Enumerates which accounts the requesting account is currently blocking. Requires auth.
📄️ app.bsky.graph.getFollowers
Enumerates accounts which follow a specified account (actor).
📄️ app.bsky.graph.getFollows
Enumerates accounts which a specified account (actor) follows.
📄️ app.bsky.graph.getListBlocks
Get mod lists that the requesting account (actor) is blocking. Requires auth.
📄️ app.bsky.graph.getListMutes
Enumerates mod lists that the requesting account (actor) currently has muted. Requires auth.
📄️ app.bsky.graph.getList
Gets a 'view' (with additional context) of a specified list.
📄️ app.bsky.graph.getLists
Enumerates the lists created by a specified account (actor).
📄️ app.bsky.graph.getMutes
Enumerates accounts that the requesting account (actor) currently has muted. Requires auth.
📄️ app.bsky.graph.getRelationships
Enumerates public relationships between one account, and a list of other accounts. Does not require auth.
📄️ app.bsky.graph.getSuggestedFollowsByActor
Enumerates follows similar to a given account (actor). Expected use is to recommend additional accounts immediately after following one account.
📄️ app.bsky.graph.muteActorList
Creates a mute relationship for the specified list of accounts. Mutes are private in Bluesky. Requires auth.
📄️ app.bsky.graph.muteActor
Creates a mute relationship for the specified account. Mutes are private in Bluesky. Requires auth.
📄️ app.bsky.graph.unmuteActorList
Unmutes the specified list of accounts. Requires auth.
📄️ app.bsky.graph.unmuteActor
Unmutes the specified account. Requires auth.
📄️ app.bsky.labeler.getServices
Get information about a list of labeler services.
📄️ app.bsky.notification.getUnreadCount
Count the number of unread notifications for the requesting account. Requires auth.
📄️ app.bsky.notification.listNotifications
Enumerate notifications for the requesting account. Requires auth.
📄️ app.bsky.notification.registerPush
Register to receive push notifications, via a specified service, for the requesting account. Requires auth.
📄️ app.bsky.notification.updateSeen
Notify server that the requesting account has seen notifications. Requires auth.
📄️ com.atproto.admin.deleteAccount
Delete a user account as an administrator.
📄️ com.atproto.admin.disableAccountInvites
Disable an account from receiving new invite codes, but does not invalidate existing codes.
📄️ com.atproto.admin.disableInviteCodes
Disable some set of codes and/or all codes associated with a set of users.
📄️ com.atproto.admin.enableAccountInvites
Re-enable an account's ability to receive invite codes.
📄️ com.atproto.admin.getAccountInfo
Get details about an account.
📄️ com.atproto.admin.getAccountInfos
Get details about some accounts.
📄️ com.atproto.admin.getInviteCodes
Get an admin view of invite codes.
📄️ com.atproto.admin.getSubjectStatus
Get the service-specific admin status of a subject (account, record, or blob).
📄️ com.atproto.admin.sendEmail
Send email to a user's account email address.
📄️ com.atproto.admin.updateAccountEmail
Administrative action to update an account's email.
📄️ com.atproto.admin.updateAccountHandle
Administrative action to update an account's handle.
📄️ com.atproto.admin.updateAccountPassword
Update the password for a user account as an administrator.
📄️ com.atproto.admin.updateSubjectStatus
Update the service-specific admin status of a subject (account, record, or blob).
📄️ com.atproto.identity.getRecommendedDidCredentials
Describe the credentials that should be included in the DID doc of an account that is migrating to this service.
📄️ com.atproto.identity.requestPlcOperationSignature
Request an email with a code to in order to request a signed PLC operation. Requires Auth.
📄️ com.atproto.identity.resolveHandle
Resolves a handle (domain name) to a DID.
📄️ com.atproto.identity.signPlcOperation
Signs a PLC operation to update some value(s) in the requesting DID's document.
📄️ com.atproto.identity.submitPlcOperation
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
📄️ com.atproto.identity.updateHandle
Updates the current account's handle. Verifies handle validity, and updates did:plc document if necessary. Implemented by PDS, and requires auth.
📄️ com.atproto.label.queryLabels
Find labels relevant to the provided AT-URI patterns. Public endpoint for moderation services, though may return different or additional results with auth.
📄️ com.atproto.moderation.createReport
Submit a moderation report regarding an atproto account or record. Implemented by moderation services (with PDS proxying), and requires auth.
📄️ com.atproto.repo.applyWrites
Apply a batch transaction of repository creates, updates, and deletes. Requires auth, implemented by PDS.
📄️ com.atproto.repo.createRecord
Create a single new repository record. Requires auth, implemented by PDS.
📄️ com.atproto.repo.deleteRecord
Delete a repository record, or ensure it doesn't exist. Requires auth, implemented by PDS.
📄️ com.atproto.repo.describeRepo
Get information about an account and repository, including the list of collections. Does not require auth.
📄️ com.atproto.repo.getRecord
Get a single record from a repository. Does not require auth.
📄️ com.atproto.repo.importRepo
Import a repo in the form of a CAR file. Requires Content-Length HTTP header to be set.
📄️ com.atproto.repo.listMissingBlobs
Returns a list of missing blobs for the requesting account. Intended to be used in the account migration flow.
📄️ com.atproto.repo.listRecords
List a range of records in a repository, matching a specific collection. Does not require auth.
📄️ com.atproto.repo.putRecord
Write a repository record, creating or updating it as needed. Requires auth, implemented by PDS.
📄️ com.atproto.repo.uploadBlob
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.
📄️ com.atproto.server.activateAccount
Activates a currently deactivated account. Used to finalize account migration after the account's repo is imported and identity is setup.
📄️ com.atproto.server.checkAccountStatus
Returns the status of an account, especially as pertaining to import or recovery. Can be called many times over the course of an account migration. Requires auth and can only be called pertaining to oneself.
📄️ com.atproto.server.confirmEmail
Confirm an email using a token from com.atproto.server.requestEmailConfirmation.
📄️ com.atproto.server.createAccount
Create an account. Implemented by PDS.
📄️ com.atproto.server.createAppPassword
Create an App Password.
📄️ com.atproto.server.createInviteCode
Create an invite code.
📄️ com.atproto.server.createInviteCodes
Create invite codes.
📄️ com.atproto.server.createSession
Create an authentication session.
📄️ com.atproto.server.deactivateAccount
Deactivates a currently active account. Stops serving of repo, and future writes to repo until reactivated. Used to finalize account migration with the old host after the account has been activated on the new host.
📄️ com.atproto.server.deleteAccount
Delete an actor's account with a token and password. Can only be called after requesting a deletion token. Requires auth.
📄️ com.atproto.server.deleteSession
Delete the current session. Requires auth.
📄️ com.atproto.server.describeServer
Describes the server's account creation requirements and capabilities. Implemented by PDS.
📄️ com.atproto.server.getAccountInviteCodes
Get all invite codes for the current account. Requires auth.
📄️ com.atproto.server.getServiceAuth
Get a signed token on behalf of the requesting DID for the requested service.
📄️ com.atproto.server.getSession
Get information about the current auth session. Requires auth.
📄️ com.atproto.server.listAppPasswords
List all App Passwords.
📄️ com.atproto.server.refreshSession
Refresh an authentication session. Requires auth using the 'refreshJwt' (not the 'accessJwt').
📄️ com.atproto.server.requestAccountDelete
Initiate a user account deletion via email.
📄️ com.atproto.server.requestEmailConfirmation
Request an email with a code to confirm ownership of email.
📄️ com.atproto.server.requestEmailUpdate
Request a token in order to update email.
📄️ com.atproto.server.requestPasswordReset
Initiate a user account password reset via email.
📄️ com.atproto.server.reserveSigningKey
Reserve a repo signing key, for use with account creation. Necessary so that a DID PLC update operation can be constructed during an account migraiton. Public and does not require auth; implemented by PDS. NOTE: this endpoint may change when full account migration is implemented.
📄️ com.atproto.server.resetPassword
Reset a user account password using a token.
📄️ com.atproto.server.revokeAppPassword
Revoke an App Password by name.
📄️ com.atproto.server.updateEmail
Update an account's email.
📄️ com.atproto.sync.getBlob
Get a blob associated with a given account. Returns the full blob as originally uploaded. Does not require auth; implemented by PDS.
📄️ com.atproto.sync.getBlocks
Get data blocks from a given repo, by CID. For example, intermediate MST nodes, or records. Does not require auth; implemented by PDS.
📄️ com.atproto.sync.getLatestCommit
Get the current commit CID & revision of the specified repo. Does not require auth.
📄️ com.atproto.sync.getRecord
Get data blocks needed to prove the existence or non-existence of record in the current version of repo. Does not require auth.
📄️ com.atproto.sync.getRepo
Download a repository export as CAR file. Optionally only a 'diff' since a previous revision. Does not require auth; implemented by PDS.
📄️ com.atproto.sync.listBlobs
List blob CIDso for an account, since some repo revision. Does not require auth; implemented by PDS.
📄️ com.atproto.sync.listRepos
Enumerates all the DID, rev, and commit CID for all repos hosted by this service. Does not require auth; implemented by PDS and Relay.
📄️ com.atproto.sync.notifyOfUpdate
Notify a crawling service of a recent update, and that crawling should resume. Intended use is after a gap between repo stream events caused the crawling service to disconnect. Does not require auth; implemented by Relay.
📄️ com.atproto.sync.requestCrawl
Request a service to persistently crawl hosted repos. Expected use is new PDS instances declaring their existence to Relays. Does not require auth.
📄️ tools.ozone.communication.createTemplate
Administrative action to create a new, re-usable communication (email for now) template.
📄️ tools.ozone.communication.deleteTemplate
Delete a communication template.
📄️ tools.ozone.communication.listTemplates
Get list of all communication templates.
📄️ tools.ozone.communication.updateTemplate
Administrative action to update an existing communication template. Allows passing partial fields to patch specific fields only.
📄️ tools.ozone.moderation.emitEvent
Take a moderation action on an actor.
📄️ tools.ozone.moderation.getEvent
Get details about a moderation event.
📄️ tools.ozone.moderation.getRecord
Get details about a record.
📄️ tools.ozone.moderation.getRepo
Get details about a repository.
📄️ tools.ozone.moderation.queryEvents
List moderation events related to a subject.
📄️ tools.ozone.moderation.queryStatuses
View moderation statuses of subjects (record or repo).
📄️ tools.ozone.moderation.searchRepos
Find repositories based on a search term.