radio.4000.channel

4000.radio

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "geo": {
      "description": "Public, coarse location of the radio (a city, not an address). Decimal degrees as strings, since lexicons have no floats.",
      "properties": {
        "latitude": {
          "maxLength": 16,
          "type": "string"
        },
        "longitude": {
          "maxLength": 16,
          "type": "string"
        }
      },
      "required": [
        "latitude",
        "longitude"
      ],
      "type": "object"
    },
    "link": {
      "properties": {
        "title": {
          "maxGraphemes": 64,
          "maxLength": 640,
          "type": "string"
        },
        "url": {
          "format": "uri",
          "maxLength": 2048,
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "type": "object"
    },
    "main": {
      "description": "The radio channel of an account. One per repo.",
      "key": "literal:self",
      "record": {
        "properties": {
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "maxGraphemes": 2000,
            "maxLength": 20000,
            "type": "string"
          },
          "geo": {
            "ref": "#geo",
            "type": "ref"
          },
          "image": {
            "accept": [
              "image/png",
              "image/jpeg",
              "image/webp"
            ],
            "maxSize": 1000000,
            "type": "blob"
          },
          "links": {
            "description": "Links to elsewhere: a website, other profiles, a shop…",
            "items": {
              "ref": "#link",
              "type": "ref"
            },
            "maxLength": 10,
            "type": "array"
          },
          "name": {
            "maxGraphemes": 64,
            "maxLength": 640,
            "type": "string"
          },
          "r4Slug": {
            "description": "Slug of the channel on radio4000.com, when imported from there.",
            "maxLength": 128,
            "type": "string"
          },
          "theme": {
            "ref": "#theme",
            "type": "ref"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "theme": {
      "description": "Colors of the radio, as HSL triplets like '262 83% 58%'.",
      "properties": {
        "darkAccent": {
          "maxLength": 32,
          "type": "string"
        },
        "darkBackground": {
          "maxLength": 32,
          "type": "string"
        },
        "darkForeground": {
          "maxLength": 32,
          "type": "string"
        },
        "lightAccent": {
          "maxLength": 32,
          "type": "string"
        },
        "lightBackground": {
          "maxLength": 32,
          "type": "string"
        },
        "lightForeground": {
          "maxLength": 32,
          "type": "string"
        },
        "mode": {
          "knownValues": [
            "auto",
            "light",
            "dark"
          ],
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "id": "radio.4000.channel",
  "lexicon": 1
}

Validate Record

Validate a record against radio.4000.channel

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:hd34khf6wifegm23c2u3cv2d
CID
bafyreifyhbbqeyxepttwwripgsrlh37sdux73wejoph24xq4fxctwvylry
Indexed At
2026-10-24 17:01 UTC
AT-URI
at://did:plc:hd34khf6wifegm23c2u3cv2d/com.atproto.lexicon.schema/radio.4000.channel

Similar Lexicons

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

  • A media reference curated into a radio: a URL with a title, a description and #tags.

Lexicon Garden

@