# radio.4000.defs

> Published by [4000.radio](https://lexicon.garden/identity/did:plc:hd34khf6wifegm23c2u3cv2d)

✓ This is the authoritative definition for this NSID.

## Description

Views of records served by the 4000.radio index. Each view carries the record as it is in its repo.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:hd34khf6wifegm23c2u3cv2d/radio.4000.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:hd34khf6wifegm23c2u3cv2d/radio.4000.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:hd34khf6wifegm23c2u3cv2d/radio.4000.defs/examples)

## Definitions

### `radio.4000.defs#author`

**Type**: `object`

The account a record belongs to.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes |  |
| `handle` | `string` (handle) | Yes |  |

### `radio.4000.defs#broadcastView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `author` | `ref` → `#author` | Yes |  |
| `indexedAt` | `string` (datetime) | Yes |  |
| `record` | `unknown` | Yes | The radio.4000.broadcast record. |

### `radio.4000.defs#chatMessageView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `author` | `ref` → `#author` | Yes |  |
| `cid` | `string` (cid) | Yes |  |
| `indexedAt` | `string` (datetime) | Yes |  |
| `record` | `unknown` | Yes | The radio.4000.chat.message record. |
| `uri` | `string` (at-uri) | Yes |  |

### `radio.4000.defs#radioView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes |  |
| `handle` | `string` (handle) | Yes |  |
| `image` | `string` (uri) | No | URL of the radio's image blob on its PDS. |
| `indexedAt` | `string` (datetime) | Yes |  |
| `latestTrackAt` | `string` (datetime) | No |  |
| `record` | `unknown` | No | The radio.4000.channel record, when the account has one. |
| `trackCount` | `integer` | Yes |  |

### `radio.4000.defs#trackView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `author` | `ref` → `#author` | Yes |  |
| `cid` | `string` (cid) | Yes |  |
| `indexedAt` | `string` (datetime) | Yes |  |
| `record` | `unknown` | Yes | The radio.4000.track record. |
| `uri` | `string` (at-uri) | Yes |  |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "author": {
      "description": "The account a record belongs to.",
      "properties": {
        "did": {
          "format": "did",
          "type": "string"
        },
        "handle": {
          "format": "handle",
          "type": "string"
        }
      },
      "required": [
        "did",
        "handle"
      ],
      "type": "object"
    },
    "broadcastView": {
      "properties": {
        "author": {
          "ref": "#author",
          "type": "ref"
        },
        "indexedAt": {
          "format": "datetime",
          "type": "string"
        },
        "record": {
          "description": "The radio.4000.broadcast record.",
          "type": "unknown"
        }
      },
      "required": [
        "author",
        "record",
        "indexedAt"
      ],
      "type": "object"
    },
    "chatMessageView": {
      "properties": {
        "author": {
          "ref": "#author",
          "type": "ref"
        },
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "indexedAt": {
          "format": "datetime",
          "type": "string"
        },
        "record": {
          "description": "The radio.4000.chat.message record.",
          "type": "unknown"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "cid",
        "author",
        "record",
        "indexedAt"
      ],
      "type": "object"
    },
    "radioView": {
      "properties": {
        "did": {
          "format": "did",
          "type": "string"
        },
        "handle": {
          "format": "handle",
          "type": "string"
        },
        "image": {
          "description": "URL of the radio's image blob on its PDS.",
          "format": "uri",
          "type": "string"
        },
        "indexedAt": {
          "format": "datetime",
          "type": "string"
        },
        "latestTrackAt": {
          "format": "datetime",
          "type": "string"
        },
        "record": {
          "description": "The radio.4000.channel record, when the account has one.",
          "type": "unknown"
        },
        "trackCount": {
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "did",
        "handle",
        "trackCount",
        "indexedAt"
      ],
      "type": "object"
    },
    "trackView": {
      "properties": {
        "author": {
          "ref": "#author",
          "type": "ref"
        },
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "indexedAt": {
          "format": "datetime",
          "type": "string"
        },
        "record": {
          "description": "The radio.4000.track record.",
          "type": "unknown"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "cid",
        "author",
        "record",
        "indexedAt"
      ],
      "type": "object"
    }
  },
  "description": "Views of records served by the 4000.radio index. Each view carries the record as it is in its repo.",
  "id": "radio.4000.defs",
  "lexicon": 1
}
```
