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
Kindrecord
Record keytid
Authoritymusic.pythonplayer123.dev
Indexed

Record

record · key tid

Properties

album

string

If present, raw 1–256 Unicode scalar values, and nonempty after trimming; enforced by the validator.

  • minLength: 1
  • maxLength: 1024

Optional album artist (Last.fm albumArtist, ListenBrainz release_artist_name); raw 1–256 Unicode scalar values, and nonempty after trimming; enforced by the validator.

  • minLength: 1
  • maxLength: 1024

artist

requiredstring

One credited display string; raw 1–256 Unicode scalar values, and nonempty after trimming. The scalar limit is enforced by the validator.

  • minLength: 1
  • maxLength: 1024

Optional unverified MusicBrainz artist UUIDs, at most 10 and distinct; runtime validates UUID syntax.

  • maxLength: 10
itemsstring
  • maxLength: 36

createdAt

requiredstring · datetime

Explicit UTC RFC3339, from 1970-01-01 through event receipt time plus 300 seconds inclusive.

  • minimum: 1
  • maximum: 86400

isrc

string

Optional ISRC, uppercase, matching ^[A-Z]{2}[A-Z0-9]{3}[0-9]{7}$; enforced by the validator.

  • minLength: 12
  • maxLength: 12

listenedAt

requiredstring · datetime

Explicit UTC RFC3339, from 1970-01-01 through event receipt time plus 300 seconds inclusive.

Optional lowercase DNS name of the music service the listen came from (ListenBrainz music_service); enforced by the validator.

  • minLength: 1
  • maxLength: 253

Optional unverified recording UUID; runtime validates UUID syntax. Not a grouping key.

Optional unverified MusicBrainz release-group UUID; runtime validates UUID syntax.

  • maxLength: 36

Optional unverified MusicBrainz release UUID; runtime validates UUID syntax.

  • maxLength: 36

Optional 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: 1
  • maxLength: 256

track

requiredstring

Raw 1–256 Unicode scalar values, and nonempty after trimming; enforced by the validator.

  • minLength: 1
  • maxLength: 1024

Optional position of the track on its release.

  • minimum: 1
  • maximum: 9999

Similar lexicons

semantic match

Lexicons 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.

  • A declaration of a scrobble.

  • This 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.

  • A Last.fm scrobble play record written by Linkname.