dev.pythonplayer123.music.scrobble
A completed listen asserted by its author. Each record counts once; repeated tracks at equal times are valid. The fields after recordingMbid are additive optional fields (ADR 0005 §6.2, B13): a validator drops an invalid optional field and never rejects a record for one; remote records stay open and unknown fields are ignored.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | music.pythonplayer123.dev |
| Indexed |
Record
record · key tidProperties
album
stringIf present, raw 1–256 Unicode scalar values, and nonempty after trimming; enforced by the validator.
minLength: 1maxLength: 1024
albumArtist
stringOptional album artist (Last.fm albumArtist, ListenBrainz release_artist_name); raw 1–256 Unicode scalar values, and nonempty after trimming; enforced by the validator.
minLength: 1maxLength: 1024
One credited display string; raw 1–256 Unicode scalar values, and nonempty after trimming. The scalar limit is enforced by the validator.
minLength: 1maxLength: 1024
artistMbids
arrayOptional unverified MusicBrainz artist UUIDs, at most 10 and distinct; runtime validates UUID syntax.
maxLength: 10
maxLength: 36
Explicit UTC RFC3339, from 1970-01-01 through event receipt time plus 300 seconds inclusive.
durationSeconds
integerminimum: 1maximum: 86400
isrc
stringOptional ISRC, uppercase, matching ^[A-Z]{2}[A-Z0-9]{3}[0-9]{7}$; enforced by the validator.
minLength: 12maxLength: 12
Explicit UTC RFC3339, from 1970-01-01 through event receipt time plus 300 seconds inclusive.
musicService
stringOptional lowercase DNS name of the music service the listen came from (ListenBrainz music_service); enforced by the validator.
minLength: 1maxLength: 253
recordingMbid
stringOptional unverified recording UUID; runtime validates UUID syntax. Not a grouping key.
releaseGroupMbid
stringOptional unverified MusicBrainz release-group UUID; runtime validates UUID syntax.
maxLength: 36
releaseMbid
stringOptional unverified MusicBrainz release UUID; runtime validates UUID syntax.
maxLength: 36
submissionClient
stringOptional name (and version) of the submitting client; raw 1–64 Unicode scalar values and at most 256 UTF-8 bytes; enforced by the validator.
minLength: 1maxLength: 256
Raw 1–256 Unicode scalar values, and nonempty after trimming; enforced by the validator.
minLength: 1maxLength: 1024
trackNumber
integerOptional position of the track on its release.
minimum: 1maximum: 9999
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
Schema-v1 loved track (ADR 0005 §6.3, B12, B13). This ID is fixture-only; production requires an owner-controlled prefix.
-
Candidate schema for an unpublished container of completed listens. The production namespace must publish and review this schema separately before enabling batch writes.
-
app.rocksky.scrobble
recordA declaration of a scrobble.
-
fm.teal.feed.play
recordThis lexicon is in a not officially released state. It is subject to change. | A declaration of a teal.fm play. Plays are submitted as a result of a user listening to a track. Plays should be marked as tracked when a user has listened to the entire track if it's under 2 minutes long, or half of the track's duration up to 4 minutes, whichever is longest.
-
me.linkna.lastfm
recordA Last.fm scrobble play record written by Linkname.