ch.indiemusi.alpha.recording

indiemusi.ch

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "artist": {
      "description": "Information about an artist contributing to the recording",
      "properties": {
        "artist": {
          "ref": "ch.indiemusi.alpha.actor.artist",
          "type": "ref"
        },
        "did": {
          "format": "did",
          "type": "string"
        },
        "name": {
          "maxLength": 255,
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "audioFileRef": {
      "description": "Pointer to a ch.indiemusi.alpha.audioFile record in the owner's private space. Requires a space credential from the owner's PDS to retrieve the audio blob.",
      "properties": {
        "mimeType": {
          "description": "MIME type hint, e.g. audio/flac. Allows display without fetching the space record.",
          "maxLength": 127,
          "type": "string"
        },
        "ownerDid": {
          "description": "DID of the user whose space hosts the audio file record.",
          "format": "did",
          "type": "string"
        },
        "rkey": {
          "description": "Record key of the ch.indiemusi.alpha.audioFile record within the space.",
          "maxLength": 512,
          "type": "string"
        }
      },
      "required": [
        "ownerDid",
        "rkey"
      ],
      "type": "object"
    },
    "main": {
      "description": "A recording of a song or musical work: the performance captured in a specific format",
      "key": "tid",
      "record": {
        "properties": {
          "artists": {
            "items": {
              "ref": "#artist",
              "type": "ref"
            },
            "minLength": 1,
            "type": "array"
          },
          "audioFile": {
            "description": "Reference to the access-controlled audio file stored in the owner's atproto space.",
            "ref": "#audioFileRef",
            "type": "ref"
          },
          "duration": {
            "description": "Duration of the recording in seconds",
            "type": "integer"
          },
          "isrc": {
            "description": "ISRC (International Standard Recording Code) with which the recording is registered",
            "maxLength": 12,
            "type": "string"
          },
          "masterOwner": {
            "ref": "#masterOwnerInfo",
            "type": "ref"
          },
          "song": {
            "ref": "ch.indiemusi.alpha.song",
            "type": "ref"
          },
          "title": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "required": [
          "title",
          "artists"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "masterOwnerInfo": {
      "description": "Information about the master owner",
      "properties": {
        "did": {
          "format": "did",
          "type": "string"
        },
        "masterOwner": {
          "ref": "ch.indiemusi.alpha.actor.masterOwner",
          "type": "ref"
        },
        "name": {
          "maxLength": 255,
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "id": "ch.indiemusi.alpha.recording",
  "lexicon": 1
}

Validate Record

Validate a record against ch.indiemusi.alpha.recording

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:lcmrbur2pydmpelfcs7fjbdx
CID
bafyreig26d2aarxp4zq2irebstq4qwexivd2ouz5gejdfcpsxn7o66bcki
Indexed At
2026-08-30 17:36 UTC
AT-URI
at://did:plc:lcmrbur2pydmpelfcs7fjbdx/com.atproto.lexicon.schema/ch.indiemusi.alpha.recording

Version History (4 versions)

Referenced Schemas (3)

Similar Lexicons

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

Lexicon Garden

@