dev.openplaylist.playlistItem

Record containing a single playlist entry.

Details · record, key tid
Kindrecord
Record keytid
Authorityopenplaylist.dev
Indexed

Record

record · key tid

Properties

Who added the track. Maps to added_by in the ListenBrainz JSPF extension.

createdAt

requiredstring · datetime

When the track was added. Maps to added_at in the ListenBrainz JSPF extension.

note

string

Optional message from the contributor about their pick. Maps to the JSPF track annotation.

  • maxLength: 3000
  • maxGraphemes: 300

order

requiredinteger

Position in the playlist. Readers sort ascending; ties break on createdAt.

  • minimum: 0

subject

requiredref

Strong reference to the parent dev.openplaylist.playlist record.

track

requiredref

Denormalized track metadata so the item renders without any further lookup.

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A collaborative playlist. Holds metadata only; tracks are dev.openplaylist.playlistItem records that point back at this record with a strong reference, the same shape used by fm.teal.feed.social.playlist and app.rocksky.playlist.

  • 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 rath

  • 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 dereferencing the song.

  • 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 app.bsky.graph.list. See App\Controller\Account\PlaylistController in the Bluvy Tube source for the writer.

  • Shared object definitions for Open Playlist records. Track metadata field names follow fm.teal.feed.defs so teal.fm and Rocksky tooling can read them without a mapping layer.