# app.rocksky.song.defs

> Published by [rocksky.app](https://lexicon.garden/identity/did:plc:vegqomyce4ssoqs7zwqvgqty)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:vegqomyce4ssoqs7zwqvgqty/app.rocksky.song.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:vegqomyce4ssoqs7zwqvgqty/app.rocksky.song.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:vegqomyce4ssoqs7zwqvgqty/app.rocksky.song.defs/examples)

## Definitions

### `app.rocksky.song.defs#songViewBasic`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | `string` | No | The unique identifier of the song. |
| `uri` | `string` (at-uri) | No | The URI of the song. |
| `isrc` | `string` | No | The International Standard Recording Code (ISRC) of the song. |
| `mbid` | `string` | No | The MusicBrainz ID of the song. |
| `tags` | `array` | No |  |
| `album` | `string` | No | The album of the song. |
| `title` | `string` | No | The title of the song. |
| `artist` | `string` | No | The artist of the song. |
| `sha256` | `string` | No | The SHA256 hash of the song. |
| `albumArt` | `string` (uri) | No | The URL of the album art image. |
| `albumUri` | `string` (at-uri) | No | The URI of the album the song belongs to. |
| `duration` | `integer` | No | The duration of the song in milliseconds. |
| `artistUri` | `string` (at-uri) | No | The URI of the artist of the song. |
| `createdAt` | `string` (datetime) | No | The timestamp when the song was created. |
| `playCount` | `integer` | No | The number of times the song has been played. |
| `discNumber` | `integer` | No | The disc number of the song in the album. |
| `albumArtist` | `string` | No | The artist of the album the song belongs to. |
| `trackNumber` | `integer` | No | The track number of the song in the album. |
| `uniqueListeners` | `integer` | No | The number of unique listeners who have played the song. |

### `app.rocksky.song.defs#songViewDetailed`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | `string` | No | The unique identifier of the song. |
| `uri` | `string` (at-uri) | No | The URI of the song. |
| `isrc` | `string` | No | The International Standard Recording Code (ISRC) of the song. |
| `mbid` | `string` | No | The MusicBrainz ID of the song. |
| `tags` | `array` | No |  |
| `album` | `string` | No | The album of the song. |
| `title` | `string` | No | The title of the song. |
| `artist` | `string` | No | The artist of the song. |
| `sha256` | `string` | No | The SHA256 hash of the song. |
| `artists` | `array` | No |  |
| `albumArt` | `string` (uri) | No | The URL of the album art image. |
| `albumUri` | `string` (at-uri) | No | The URI of the album the song belongs to. |
| `duration` | `integer` | No | The duration of the song in milliseconds. |
| `artistUri` | `string` (at-uri) | No | The URI of the artist of the song. |
| `createdAt` | `string` (datetime) | No | The timestamp when the song was created. |
| `playCount` | `integer` | No | The number of times the song has been played. |
| `discNumber` | `integer` | No | The disc number of the song in the album. |
| `albumArtist` | `string` | No | The artist of the album the song belongs to. |
| `trackNumber` | `integer` | No | The track number of the song in the album. |
| `firstScrobble` | `ref` → `app.rocksky.song.defs#firstScrobbleView` | No | The first scrobble of this song on Rocksky. |
| `uniqueListeners` | `integer` | No | The number of unique listeners who have played the song. |

### `app.rocksky.song.defs#firstScrobbleView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `avatar` | `string` (uri) | No | The avatar URL of the user who first scrobbled this song. |
| `handle` | `string` | No | The handle of the user who first scrobbled this song. |
| `timestamp` | `string` (datetime) | No | The timestamp of the first scrobble. |

### `app.rocksky.song.defs#recentListenerView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | `string` | No | The unique identifier of the listener. |
| `did` | `string` | No | The DID of the listener. |
| `avatar` | `string` (uri) | No | The URL of the listener's avatar image. |
| `handle` | `string` | No | The handle of the listener. |
| `timestamp` | `string` (datetime) | No | The timestamp of the listener's most recent scrobble of this song. |
| `displayName` | `string` | No | The display name of the listener. |
| `scrobbleUri` | `string` (at-uri) | No | The URI of the listener's most recent scrobble of this song. |

## Raw Schema

```json
{
  "id": "app.rocksky.song.defs",
  "defs": {
    "songViewBasic": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier of the song."
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "The URI of the song."
        },
        "isrc": {
          "type": "string",
          "description": "The International Standard Recording Code (ISRC) of the song."
        },
        "mbid": {
          "type": "string",
          "description": "The MusicBrainz ID of the song."
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "album": {
          "type": "string",
          "description": "The album of the song."
        },
        "title": {
          "type": "string",
          "description": "The title of the song."
        },
        "artist": {
          "type": "string",
          "description": "The artist of the song."
        },
        "sha256": {
          "type": "string",
          "description": "The SHA256 hash of the song."
        },
        "albumArt": {
          "type": "string",
          "format": "uri",
          "description": "The URL of the album art image."
        },
        "albumUri": {
          "type": "string",
          "format": "at-uri",
          "description": "The URI of the album the song belongs to."
        },
        "duration": {
          "type": "integer",
          "description": "The duration of the song in milliseconds."
        },
        "artistUri": {
          "type": "string",
          "format": "at-uri",
          "description": "The URI of the artist of the song."
        },
        "createdAt": {
          "type": "string",
          "format": "datetime",
          "description": "The timestamp when the song was created."
        },
        "playCount": {
          "type": "integer",
          "minimum": 0,
          "description": "The number of times the song has been played."
        },
        "discNumber": {
          "type": "integer",
          "description": "The disc number of the song in the album."
        },
        "albumArtist": {
          "type": "string",
          "description": "The artist of the album the song belongs to."
        },
        "trackNumber": {
          "type": "integer",
          "description": "The track number of the song in the album."
        },
        "uniqueListeners": {
          "type": "integer",
          "minimum": 0,
          "description": "The number of unique listeners who have played the song."
        }
      }
    },
    "songViewDetailed": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier of the song."
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "The URI of the song."
        },
        "isrc": {
          "type": "string",
          "description": "The International Standard Recording Code (ISRC) of the song."
        },
        "mbid": {
          "type": "string",
          "description": "The MusicBrainz ID of the song."
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "album": {
          "type": "string",
          "description": "The album of the song."
        },
        "title": {
          "type": "string",
          "description": "The title of the song."
        },
        "artist": {
          "type": "string",
          "description": "The artist of the song."
        },
        "sha256": {
          "type": "string",
          "description": "The SHA256 hash of the song."
        },
        "artists": {
          "type": "array",
          "items": {
            "ref": "app.rocksky.artist.defs#artistViewBasic",
            "type": "ref"
          }
        },
        "albumArt": {
          "type": "string",
          "format": "uri",
          "description": "The URL of the album art image."
        },
        "albumUri": {
          "type": "string",
          "format": "at-uri",
          "description": "The URI of the album the song belongs to."
        },
        "duration": {
          "type": "integer",
          "description": "The duration of the song in milliseconds."
        },
        "artistUri": {
          "type": "string",
          "format": "at-uri",
          "description": "The URI of the artist of the song."
        },
        "createdAt": {
          "type": "string",
          "format": "datetime",
          "description": "The timestamp when the song was created."
        },
        "playCount": {
          "type": "integer",
          "minimum": 0,
          "description": "The number of times the song has been played."
        },
        "discNumber": {
          "type": "integer",
          "description": "The disc number of the song in the album."
        },
        "albumArtist": {
          "type": "string",
          "description": "The artist of the album the song belongs to."
        },
        "trackNumber": {
          "type": "integer",
          "description": "The track number of the song in the album."
        },
        "firstScrobble": {
          "ref": "app.rocksky.song.defs#firstScrobbleView",
          "type": "ref",
          "description": "The first scrobble of this song on Rocksky."
        },
        "uniqueListeners": {
          "type": "integer",
          "minimum": 0,
          "description": "The number of unique listeners who have played the song."
        }
      }
    },
    "firstScrobbleView": {
      "type": "object",
      "properties": {
        "avatar": {
          "type": "string",
          "format": "uri",
          "description": "The avatar URL of the user who first scrobbled this song."
        },
        "handle": {
          "type": "string",
          "description": "The handle of the user who first scrobbled this song."
        },
        "timestamp": {
          "type": "string",
          "format": "datetime",
          "description": "The timestamp of the first scrobble."
        }
      }
    },
    "recentListenerView": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier of the listener."
        },
        "did": {
          "type": "string",
          "description": "The DID of the listener."
        },
        "avatar": {
          "type": "string",
          "format": "uri",
          "description": "The URL of the listener's avatar image."
        },
        "handle": {
          "type": "string",
          "description": "The handle of the listener."
        },
        "timestamp": {
          "type": "string",
          "format": "datetime",
          "description": "The timestamp of the listener's most recent scrobble of this song."
        },
        "displayName": {
          "type": "string",
          "description": "The display name of the listener."
        },
        "scrobbleUri": {
          "type": "string",
          "format": "at-uri",
          "description": "The URI of the listener's most recent scrobble of this song."
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
