Back to free tools
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.

Creator DID ready
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": []
}
From free tool to scheduled queue

Stop fighting formatting limits and API bugs. Craft your blocks cleanly using our automated tools, then schedule them directly to your BlueSky feed using ONYX.

Start Planning for Free