# app.rocksky.scrobble.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.scrobble.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:vegqomyce4ssoqs7zwqvgqty/app.rocksky.scrobble.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:vegqomyce4ssoqs7zwqvgqty/app.rocksky.scrobble.defs/examples)

## Definitions

### `app.rocksky.scrobble.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.scrobble.defs#scrobbleViewBasic`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | `string` | No | The unique identifier of the scrobble. |
| `uri` | `string` (uri) | No | The URI of the scrobble. |
| `date` | `string` (datetime) | No | The timestamp when the scrobble was created. |
| `user` | `string` | No | The handle of the user who created the scrobble. |
| `album` | `string` | No | The album of the song. |
| `cover` | `string` (uri) | No | The album art URL of the song. |
| `liked` | `boolean` | No |  |
| `title` | `string` | No | The title of the scrobble. |
| `artist` | `string` | No | The artist of the song. |
| `sha256` | `string` | No | The SHA256 hash of the scrobble data. |
| `albumUri` | `string` (at-uri) | No | The URI of the album. |
| `artistUri` | `string` (at-uri) | No | The URI of the artist. |
| `likesCount` | `integer` | No |  |
| `userAvatar` | `string` (uri) | No | The avatar URL of the user who created the scrobble. |
| `userDisplayName` | `string` | No | The display name of the user who created the scrobble. |

### `app.rocksky.scrobble.defs#scrobbleViewDetailed`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | `string` | No | The unique identifier of the scrobble. |
| `uri` | `string` (uri) | No | The URI of the scrobble. |
| `date` | `string` (datetime) | No | The timestamp when the scrobble was created. |
| `user` | `string` | No | The handle of the user who created the scrobble. |
| `album` | `string` | No | The album of the song. |
| `cover` | `string` (uri) | No | The album art URL of the song. |
| `title` | `string` | No | The title of the scrobble. |
| `artist` | `string` | No | The artist of the song. |
| `sha256` | `string` | No | The SHA256 hash of the scrobble data. |
| `artists` | `array` | No |  |
| `albumUri` | `string` (at-uri) | No | The URI of the album. |
| `artistUri` | `string` (at-uri) | No | The URI of the artist. |
| `listeners` | `integer` | No | The number of listeners |
| `scrobbles` | `integer` | No | The number of scrobbles for this song |
| `firstScrobble` | `ref` → `app.rocksky.scrobble.defs#firstScrobbleView` | No | The first scrobble of this song on Rocksky. |

## Raw Schema

```json
{
  "id": "app.rocksky.scrobble.defs",
  "defs": {
    "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."
        }
      }
    },
    "scrobbleViewBasic": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier of the scrobble."
        },
        "uri": {
          "type": "string",
          "format": "uri",
          "description": "The URI of the scrobble."
        },
        "date": {
          "type": "string",
          "format": "datetime",
          "description": "The timestamp when the scrobble was created."
        },
        "user": {
          "type": "string",
          "description": "The handle of the user who created the scrobble."
        },
        "album": {
          "type": "string",
          "description": "The album of the song."
        },
        "cover": {
          "type": "string",
          "format": "uri",
          "description": "The album art URL of the song."
        },
        "liked": {
          "type": "boolean"
        },
        "title": {
          "type": "string",
          "description": "The title of the scrobble."
        },
        "artist": {
          "type": "string",
          "description": "The artist of the song."
        },
        "sha256": {
          "type": "string",
          "description": "The SHA256 hash of the scrobble data."
        },
        "albumUri": {
          "type": "string",
          "format": "at-uri",
          "description": "The URI of the album."
        },
        "artistUri": {
          "type": "string",
          "format": "at-uri",
          "description": "The URI of the artist."
        },
        "likesCount": {
          "type": "integer"
        },
        "userAvatar": {
          "type": "string",
          "format": "uri",
          "description": "The avatar URL of the user who created the scrobble."
        },
        "userDisplayName": {
          "type": "string",
          "description": "The display name of the user who created the scrobble."
        }
      }
    },
    "scrobbleViewDetailed": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier of the scrobble."
        },
        "uri": {
          "type": "string",
          "format": "uri",
          "description": "The URI of the scrobble."
        },
        "date": {
          "type": "string",
          "format": "datetime",
          "description": "The timestamp when the scrobble was created."
        },
        "user": {
          "type": "string",
          "description": "The handle of the user who created the scrobble."
        },
        "album": {
          "type": "string",
          "description": "The album of the song."
        },
        "cover": {
          "type": "string",
          "format": "uri",
          "description": "The album art URL of the song."
        },
        "title": {
          "type": "string",
          "description": "The title of the scrobble."
        },
        "artist": {
          "type": "string",
          "description": "The artist of the song."
        },
        "sha256": {
          "type": "string",
          "description": "The SHA256 hash of the scrobble data."
        },
        "artists": {
          "type": "array",
          "items": {
            "ref": "app.rocksky.artist.defs#artistViewBasic",
            "type": "ref"
          }
        },
        "albumUri": {
          "type": "string",
          "format": "at-uri",
          "description": "The URI of the album."
        },
        "artistUri": {
          "type": "string",
          "format": "at-uri",
          "description": "The URI of the artist."
        },
        "listeners": {
          "type": "integer",
          "description": "The number of listeners"
        },
        "scrobbles": {
          "type": "integer",
          "description": "The number of scrobbles for this song"
        },
        "firstScrobble": {
          "ref": "app.rocksky.scrobble.defs#firstScrobbleView",
          "type": "ref",
          "description": "The first scrobble of this song on Rocksky."
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
