at.atjam.playlist
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"item": {
"properties": {
"note": {
"description": "Why this is here — 'the original', 'Round 30 winner'. The curator's voice, which is the part a bare list of tracks loses.",
"maxGraphemes": 300,
"maxLength": 3000,
"type": "string"
},
"subject": {
"description": "Any record. CID-pinned, so an item that changed under you is detectable rather than silent.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
}
},
"required": [
"subject"
],
"type": "object"
},
"main": {
"description": "An ordered list of records, authored by the repo owner. Deliberately knows nothing about music — or about any project type, which is why it lives in atjam: items are strongRefs to records of any collection, so one list can hold owned audio, an external song reference, and a record from an app that did not exist when this was written, with no schema change. A reader that does not recognise an item's collection renders the URI and moves on — that is the property that makes this infrastructure rather than an app's private format. Order is array order: one atomic write, and no ordering field to disagree about.",
"key": "any",
"record": {
"properties": {
"context": {
"description": "What this list is about — a round, a jam, an event. Lets a page surface lists made about it without anyone registering them.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"description": {
"maxGraphemes": 3000,
"maxLength": 30000,
"type": "string"
},
"items": {
"items": {
"ref": "#item",
"type": "ref"
},
"maxLength": 500,
"minLength": 1,
"type": "array"
},
"title": {
"maxGraphemes": 512,
"maxLength": 5120,
"type": "string"
}
},
"required": [
"title",
"items",
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"id": "at.atjam.playlist",
"lexicon": 1
}
Metadata
- DID
-
did:plc:b5bxdq5jyv3tvkyscu42xr7u - CID
-
bafyreiezidclmh2xpu7py5y56zijucjksdrj2ljx5wh6avoieisz355rzy - Indexed At
- 2026-08-10 04:25 UTC
- AT-URI
-
at://did:plc:b5bxdq5jyv3tvkyscu42xr7u/com.atproto.lexicon.schema/at.atjam.playlist
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
One video's membership in a app.bluvy.tube.playlist, written to the playlist owner's own repo as a separate record (not embedded in the playlist record itself) — same shape as app.bsky.graph.listitem referencing an ap…
-
app.rocksky.playlist.song record
A song entry in a playlist. Holds a strong reference to the playlist it belongs to, a strong reference to the song record itself, and a denormalized copy of the song metadata so the entry can be rendered without derefer…
-
app.bluvy.tube.playlist record
A Bluvy Tube playlist — a named, ordered-by-creation collection of videos, written to the owning user's own repo. Membership is tracked separately by app.bluvy.tube.playlist.item records referencing this record via st…
-
app.rocksky.playlist record
A declaration of a playlist.