Overview
Theapp.bsky.graph namespace provides lexicons for managing social relationships including follows, blocks, lists, and starter packs.
Key Concepts
- Follow: Social connection between users
- Block: Preventing interaction with another user
- List: Curated collection of users
- Starter Pack: Onboarding bundle with suggested follows and feeds
- Mute: Hiding content from a user without blocking
Record Types
follow
Follow relationship record.DID of the account being followed
Timestamp
Optional reference to how the follow was discovered
block
Block relationship record.DID of the account being blocked
Timestamp
list
List of users.List name (1-64 characters)
List purpose:
app.bsky.graph.defs#modlist, app.bsky.graph.defs#curatelist, or app.bsky.graph.defs#referencelistList description (max 300 graphemes)
Rich text facets for description
List avatar image
Self-applied labels
Timestamp
- modlist: Moderation list (for muting/blocking)
- curatelist: Curation list (for feeds, interaction gating)
- referencelist: Reference list (for starter packs)
listitem
Membership in a list.DID of the account
AT-URI of the list
Timestamp
listblock
Block a list (applies modlist to your account).AT-URI of the list
Timestamp
starterpack
Starter pack for onboarding.Starter pack name (max 50 graphemes)
Description (max 300 graphemes)
Rich text facets
AT-URI of reference list with suggested follows
Array of feed generator AT-URIs (max 3)
Timestamp
Queries
getFollows
Get accounts followed by an actor. Endpoint:app.bsky.graph.getFollows
Handle or DID
Max follows (1-100, default 50)
Pagination cursor
Profile of the actor
Next page cursor
Array of followed profiles
getFollowers
Get accounts following an actor. Endpoint:app.bsky.graph.getFollowers
Handle or DID
Max followers (1-100, default 50)
Pagination cursor
Profile of the actor
Next page cursor
Array of follower profiles
getKnownFollowers
Get followers whom you also follow. Endpoint:app.bsky.graph.getKnownFollowers
Authentication: Required
Handle or DID
Max followers (1-100, default 50)
Pagination cursor
getRelationships
Get relationships between actors. Endpoint:app.bsky.graph.getRelationships
Authentication: Required
Your handle or DID
Array of other actors to check relationships with
getSuggestedFollowsByActor
Get suggested accounts to follow based on an actor. Endpoint:app.bsky.graph.getSuggestedFollowsByActor
Handle or DID
List Queries
getList
Get detailed information about a list. Endpoint:app.bsky.graph.getList
AT-URI of the list
Max list items (1-100, default 50)
Pagination cursor
getLists
Get lists created by an actor. Endpoint:app.bsky.graph.getLists
Handle or DID
Max lists (1-100, default 50)
Pagination cursor
getListsWithMembership
Get lists that include a specific actor. Endpoint:app.bsky.graph.getListsWithMembership
Handle or DID of the list member
Max lists (1-100, default 50)
Pagination cursor
getListBlocks
Get lists you have blocked (subscribed to as modlists). Endpoint:app.bsky.graph.getListBlocks
Authentication: Required
Max lists (1-100, default 50)
Pagination cursor
getListMutes
Get lists you have muted. Endpoint:app.bsky.graph.getListMutes
Authentication: Required
Max lists (1-100, default 50)
Pagination cursor
Starter Pack Queries
getStarterPack
Get a starter pack. Endpoint:app.bsky.graph.getStarterPack
AT-URI of the starter pack
getStarterPacks
Get multiple starter packs. Endpoint:app.bsky.graph.getStarterPacks
Array of starter pack AT-URIs
getActorStarterPacks
Get starter packs created by an actor. Endpoint:app.bsky.graph.getActorStarterPacks
Handle or DID
Max starter packs (1-100, default 50)
Pagination cursor
searchStarterPacks
Search for starter packs. Endpoint:app.bsky.graph.searchStarterPacks
Search query
Max results (1-100, default 25)
Pagination cursor
Mute Procedures
muteActor
Mute an actor. Endpoint:app.bsky.graph.muteActor
Authentication: Required
Handle or DID to mute
unmuteActor
Unmute an actor. Endpoint:app.bsky.graph.unmuteActor
Authentication: Required
Handle or DID to unmute
getMutes
Get muted actors. Endpoint:app.bsky.graph.getMutes
Authentication: Required
Max mutes (1-100, default 50)
Pagination cursor
muteActorList
Mute all members of a list. Endpoint:app.bsky.graph.muteActorList
Authentication: Required
AT-URI of the list
unmuteActorList
Unmute a list. Endpoint:app.bsky.graph.unmuteActorList
Authentication: Required
AT-URI of the list
getBlocks
Get blocked actors. Endpoint:app.bsky.graph.getBlocks
Authentication: Required
Max blocks (1-100, default 50)
Pagination cursor
muteThread
Mute a thread. Endpoint:app.bsky.graph.muteThread
Authentication: Required
AT-URI of the root post
unmuteThread
Unmute a thread. Endpoint:app.bsky.graph.unmuteThread
Authentication: Required
AT-URI of the root post
Type Definitions
listPurpose
Purpose types for lists:app.bsky.graph.defs#modlist: Moderation list for muting/blockingapp.bsky.graph.defs#curatelist: Curation list for feeds/gatingapp.bsky.graph.defs#referencelist: Reference list for starter packs
relationship
Bi-directional relationship between actors.Target actor DID
AT-URI of follow record (if following)
AT-URI of their follow record (if they follow you)
AT-URI of block record (if blocking)
AT-URI of their block record (if they block you)
Common Use Cases
Follow and Check Relationship
Create and Populate a List
Create a Starter Pack
Related Lexicons
- app.bsky.actor - User profiles
- app.bsky.feed - Posts and feeds
- com.atproto.repo - Record management