fm.freemix.actor.profile

lex-publisher.freemix.fm

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "link": {
      "properties": {
        "label": {
          "description": "Link display label (e.g., 'Spotify', 'SoundCloud')",
          "maxLength": 50,
          "type": "string"
        },
        "url": {
          "description": "Link URL",
          "format": "uri",
          "maxLength": 3000,
          "type": "string"
        }
      },
      "required": [
        "label",
        "url"
      ],
      "type": "object"
    },
    "main": {
      "description": "FreeMix-specific profile data that overlays the user's Bluesky profile",
      "key": "literal:self",
      "record": {
        "properties": {
          "avatarUrl": {
            "description": "Avatar URL (overrides Bluesky avatar on FreeMix)",
            "format": "uri",
            "maxLength": 3000,
            "type": "string"
          },
          "bio": {
            "description": "Artist bio (overrides Bluesky bio on FreeMix)",
            "maxLength": 1000,
            "type": "string"
          },
          "createdAt": {
            "description": "Record creation timestamp",
            "format": "datetime",
            "maxLength": 100,
            "type": "string"
          },
          "displayName": {
            "description": "Display name (overrides Bluesky display name on FreeMix)",
            "maxLength": 100,
            "type": "string"
          },
          "genres": {
            "description": "Artist's primary genres",
            "items": {
              "maxLength": 50,
              "type": "string"
            },
            "maxLength": 10,
            "type": "array"
          },
          "label": {
            "description": "Record label affiliation",
            "maxLength": 200,
            "type": "string"
          },
          "links": {
            "description": "External links (Spotify, SoundCloud, Bandcamp, etc.)",
            "items": {
              "ref": "#link",
              "type": "ref"
            },
            "maxLength": 10,
            "type": "array"
          },
          "proAffiliation": {
            "description": "PRO affiliation (e.g., BMI, ASCAP, PRS, GEMA)",
            "maxLength": 100,
            "type": "string"
          },
          "roles": {
            "description": "Artist roles (e.g., producer, DJ, vocalist)",
            "items": {
              "maxLength": 50,
              "type": "string"
            },
            "maxLength": 10,
            "type": "array"
          },
          "updatedAt": {
            "description": "Last update timestamp",
            "format": "datetime",
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "fm.freemix.actor.profile",
  "lexicon": 1
}

Validate Record

Validate a record against fm.freemix.actor.profile

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:bt7c6cqevgefnvej5cmgke4g
CID
bafyreidwhs7csd43pbfw2sms662gmwsgjnfnpcj3xi376pz753evnc4kme
Indexed At
2026-04-10 01:36 UTC
AT-URI
at://did:plc:bt7c6cqevgefnvej5cmgke4g/com.atproto.lexicon.schema/fm.freemix.actor.profile

Version History (2 versions)

Similar Lexicons

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

Lexicon Garden

@