# fm.teal.feed.defs

> Published by [teal.fm](https://lexicon.garden/identity/did:plc:iwhuynr6mm6xxuh25o4do2tx)

✓ This is the authoritative definition for this NSID.

## Description

This lexicon is in a not officially released state. It is subject to change. | Misc. items related to feeds.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:iwhuynr6mm6xxuh25o4do2tx/fm.teal.feed.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:iwhuynr6mm6xxuh25o4do2tx/fm.teal.feed.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:iwhuynr6mm6xxuh25o4do2tx/fm.teal.feed.defs/examples)

## Definitions

### `fm.teal.feed.defs#artist`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `artistMbId` | `string` (uri) | No | The MusicBrainz artist ID URI, formatted as mbid:<uuid> |
| `artistName` | `string` | Yes | The name of the artist |

### `fm.teal.feed.defs#playView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `isrc` | `string` | No | The ISRC code associated with the recording |
| `artists` | `array` | Yes | Array of artists in order of original appearance. |
| `duration` | `integer` | No | The length of the track in seconds |
| `originUri` | `string` (uri) | No | The exact URI where the listening event originated. |
| `trackMbId` | `string` (uri) | No | The MusicBrainz ID URI of the track, formatted as mbid:<uuid> |
| `trackName` | `string` | Yes | The name of the track |
| `playedTime` | `string` (datetime) | No | The datetime at which playback began. |
| `releaseMbId` | `string` (uri) | No | The MusicBrainz release ID URI, formatted as mbid:<uuid> |
| `releaseName` | `string` | No | The name of the release/album |
| `recordingMbId` | `string` (uri) | No | The MusicBrainz recording ID URI of the track, formatted as mbid:<uuid> |
| `musicServiceUri` | `string` (uri) | No | The canonical URI identifying the listening surface or music service. |
| `submissionClientAgent` | `string` | No | A user-agent style string specifying the user agent. e.g. tealtracker/0.0.1b (Linux; Android 13; SM-A715F). Defaults to 'manual/unknown' if not provided. |

## Raw Schema

```json
{
  "id": "fm.teal.feed.defs",
  "defs": {
    "artist": {
      "type": "object",
      "required": [
        "artistName"
      ],
      "properties": {
        "artistMbId": {
          "type": "string",
          "format": "uri",
          "description": "The MusicBrainz artist ID URI, formatted as mbid:<uuid>"
        },
        "artistName": {
          "type": "string",
          "maxLength": 256,
          "minLength": 1,
          "description": "The name of the artist",
          "maxGraphemes": 2560
        }
      }
    },
    "playView": {
      "type": "object",
      "required": [
        "trackName",
        "artists"
      ],
      "properties": {
        "isrc": {
          "type": "string",
          "description": "The ISRC code associated with the recording"
        },
        "artists": {
          "type": "array",
          "items": {
            "ref": "#artist",
            "type": "ref"
          },
          "description": "Array of artists in order of original appearance."
        },
        "duration": {
          "type": "integer",
          "description": "The length of the track in seconds"
        },
        "originUri": {
          "type": "string",
          "format": "uri",
          "description": "The exact URI where the listening event originated."
        },
        "trackMbId": {
          "type": "string",
          "format": "uri",
          "description": "The MusicBrainz ID URI of the track, formatted as mbid:<uuid>"
        },
        "trackName": {
          "type": "string",
          "maxLength": 256,
          "minLength": 1,
          "description": "The name of the track",
          "maxGraphemes": 2560
        },
        "playedTime": {
          "type": "string",
          "format": "datetime",
          "description": "The datetime at which playback began."
        },
        "releaseMbId": {
          "type": "string",
          "format": "uri",
          "description": "The MusicBrainz release ID URI, formatted as mbid:<uuid>"
        },
        "releaseName": {
          "type": "string",
          "maxLength": 256,
          "description": "The name of the release/album",
          "maxGraphemes": 2560
        },
        "recordingMbId": {
          "type": "string",
          "format": "uri",
          "description": "The MusicBrainz recording ID URI of the track, formatted as mbid:<uuid>"
        },
        "musicServiceUri": {
          "type": "string",
          "format": "uri",
          "description": "The canonical URI identifying the listening surface or music service."
        },
        "submissionClientAgent": {
          "type": "string",
          "maxLength": 256,
          "description": "A user-agent style string specifying the user agent. e.g. tealtracker/0.0.1b (Linux; Android 13; SM-A715F). Defaults to 'manual/unknown' if not provided.",
          "maxGraphemes": 2560
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "This lexicon is in a not officially released state. It is subject to change. | Misc. items related to feeds."
}
```
