List record builder
BlueSky curation list and mute list builder
Draft the JSON shape for BlueSky curation lists, moderation lists, reference lists, and list item records before a developer writes authenticated AT Protocol records to the account PDS.
Build list JSON
Handles are human-friendly, but listitem records require DID subjects. This builder keeps unresolved handles in a separate resolver queue so you do not accidentally create invalid records.
2
DID list items ready
1
handles to resolve first
0
invalid inputs flagged
Generated JSON
{
"listUri": "at://did:plc:exampleworkspace123/app.bsky.graph.list/3listdemo",
"listRecord": {
"$type": "app.bsky.graph.list",
"purpose": "app.bsky.graph.defs#curatelist",
"name": "BlueSky community research list",
"description": "Curated accounts for a reviewed BlueSky community workflow.",
"createdAt": "2026-06-21T22:26:16.794Z"
},
"listItemRecords": [
{
"$type": "app.bsky.graph.listitem",
"subject": "did:plc:ewvi7nxzyoun6zhxrhs64oiz",
"list": "at://did:plc:exampleworkspace123/app.bsky.graph.list/3listdemo",
"createdAt": "2026-06-21T22:26:16.794Z"
},
{
"$type": "app.bsky.graph.listitem",
"subject": "did:plc:example123456789",
"list": "at://did:plc:exampleworkspace123/app.bsky.graph.list/3listdemo",
"createdAt": "2026-06-21T22:26:16.794Z"
}
],
"handleResolutionQueue": [
{
"handle": "atproto.com",
"resolver": "https://public.api.bsky.app/xrpc/com.atproto.identity.resolveHandle?handle=atproto.com",
"note": "Resolve this handle to a DID before creating an app.bsky.graph.listitem record."
}
],
"invalidInputs": []
}