# radio.4000.profile

> The radio of an account: its name, description, image, links, location and colors. One per repo.

- Kind: record
- Record key: literal:self
- Authority: 4000.radio
- Lexicon: 1
- Published by [4000.radio](https://lexicon.garden/identity/did:plc:hd34khf6wifegm23c2u3cv2d), the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:plc:hd34khf6wifegm23c2u3cv2d/radio.4000.profile)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:hd34khf6wifegm23c2u3cv2d/radio.4000.profile/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:hd34khf6wifegm23c2u3cv2d/radio.4000.profile/analytics)

## Record (`radio.4000.profile`)

Type: record · key literal:self

### Properties

- `createdAt` (string · datetime, required)
- `description` (string)
  - Constraints: maxLength: 20000, maxGraphemes: 2000
- `geo` (ref)
  - Reference: `#geo`
- `image` (blob)
  - Constraints: maxSize: 1000000, accept: image/png, image/jpeg, image/webp
- `links` (array): Links to elsewhere: a website, other profiles, a shop…
  - Constraints: maxLength: 10
  - `items` (ref)
    - Reference: `radio.4000.defs#link`
- `name` (string)
  - Constraints: maxLength: 640, maxGraphemes: 64
- `r4Slug` (string): Slug of the channel on radio4000.com, when imported from there.
  - Constraints: maxLength: 128
- `theme` (ref)
  - Reference: `#theme`
- `updatedAt` (string · datetime)

## #geo (`radio.4000.profile#geo`)

Type: object

Public, coarse location of the radio (a city, not an address). Decimal degrees as strings, since lexicons have no floats.

### Properties

- `latitude` (string, required)
  - Constraints: maxLength: 16
- `longitude` (string, required)
  - Constraints: maxLength: 16

## #theme (`radio.4000.profile#theme`)

Type: object

Colors of the radio, as HSL triplets like '262 83% 58%'.

### Properties

- `darkAccent` (string)
  - Constraints: maxLength: 32
- `darkBackground` (string)
  - Constraints: maxLength: 32
- `darkForeground` (string)
  - Constraints: maxLength: 32
- `lightAccent` (string)
  - Constraints: maxLength: 32
- `lightBackground` (string)
  - Constraints: maxLength: 32
- `lightForeground` (string)
  - Constraints: maxLength: 32
- `mode` (string)
  - Constraints: knownValues: auto | light | dark

## Schema

```json
{
  "$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"
    },
    "main": {
      "description": "The radio of an account: its name, description, image, links, location and colors. 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": "radio.4000.defs#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.profile",
  "lexicon": 1
}
```
