# app.rocksky.event.music

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

## Definitions

### `app.rocksky.event.music#artist`

**Type**: `object`

An artist on the lineup.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `mbid` | `string` | No | MusicBrainz artist id. |
| `name` | `string` | Yes | The artist name as billed. |
| `role` | `string` | No | The artist's billing on this event. |
| `stage` | `string` | No | The stage the artist plays on, for multi-stage events such as festivals. |
| `startsAt` | `string` (datetime) | No | When this artist's set starts. |
| `uri` | `string` (at-uri) | No | AT-URI of the app.rocksky.artist record, when the artist is known to Rocksky. |

### `app.rocksky.event.music#externalIds`

**Type**: `object`

Identifiers of the event on other services.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `bandsintown` | `string` | No |  |
| `dice` | `string` | No |  |
| `eventbrite` | `string` | No |  |
| `residentAdvisor` | `string` | No |  |
| `setlistfm` | `string` | No |  |
| `songkick` | `string` | No |  |
| `ticketmaster` | `string` | No |  |

### `app.rocksky.event.music`

**Type**: `record`

Marks a community.lexicon.calendar.event as a music event (concert, festival, club night...) and links it to the artists performing. The calendar event carries the name, dates and venue; this record carries what is specific to music. Rocksky only indexes calendar events that have one of these attached.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `artists` | `array` | Yes | The lineup, in billing order. |
| `createdAt` | `string` (datetime) | Yes | Client-declared timestamp when this record was created. |
| `externalIds` | `ref` → `app.rocksky.event.music#externalIds` | No | Identifiers of the same event on ticketing and event-listing services. |
| `genre` | `string` | No | The main genre of the event. |
| `imageUrl` | `string` (uri) | No | Poster or banner image of the event. |
| `kind` | `string` | No | What sort of music event this is. |
| `subject` | `ref` → `com.atproto.repo.strongRef` | Yes | Strong reference (AT-URI + CID) to the community.lexicon.calendar.event record this annotates. |
| `tags` | `array` | No | Free-form tags (sub-genres, scene, tour name...). |
| `ticketsUrl` | `string` (uri) | No | Where tickets can be bought. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "artist": {
      "description": "An artist on the lineup.",
      "properties": {
        "mbid": {
          "description": "MusicBrainz artist id.",
          "type": "string"
        },
        "name": {
          "description": "The artist name as billed.",
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        },
        "role": {
          "description": "The artist's billing on this event.",
          "knownValues": [
            "headliner",
            "support",
            "opener",
            "dj",
            "special-guest",
            "performer"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "stage": {
          "description": "The stage the artist plays on, for multi-stage events such as festivals.",
          "maxLength": 256,
          "type": "string"
        },
        "startsAt": {
          "description": "When this artist's set starts.",
          "format": "datetime",
          "type": "string"
        },
        "uri": {
          "description": "AT-URI of the app.rocksky.artist record, when the artist is known to Rocksky.",
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "externalIds": {
      "description": "Identifiers of the event on other services.",
      "properties": {
        "bandsintown": {
          "type": "string"
        },
        "dice": {
          "type": "string"
        },
        "eventbrite": {
          "type": "string"
        },
        "residentAdvisor": {
          "type": "string"
        },
        "setlistfm": {
          "type": "string"
        },
        "songkick": {
          "type": "string"
        },
        "ticketmaster": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "main": {
      "description": "Marks a community.lexicon.calendar.event as a music event (concert, festival, club night...) and links it to the artists performing. The calendar event carries the name, dates and venue; this record carries what is specific to music. Rocksky only indexes calendar events that have one of these attached.",
      "key": "tid",
      "record": {
        "properties": {
          "artists": {
            "description": "The lineup, in billing order.",
            "items": {
              "ref": "app.rocksky.event.music#artist",
              "type": "ref"
            },
            "type": "array"
          },
          "createdAt": {
            "description": "Client-declared timestamp when this record was created.",
            "format": "datetime",
            "type": "string"
          },
          "externalIds": {
            "description": "Identifiers of the same event on ticketing and event-listing services.",
            "ref": "app.rocksky.event.music#externalIds",
            "type": "ref"
          },
          "genre": {
            "description": "The main genre of the event.",
            "maxLength": 128,
            "type": "string"
          },
          "imageUrl": {
            "description": "Poster or banner image of the event.",
            "format": "uri",
            "type": "string"
          },
          "kind": {
            "description": "What sort of music event this is.",
            "knownValues": [
              "concert",
              "festival",
              "club-night",
              "dj-set",
              "livestream",
              "release-party",
              "listening-party"
            ],
            "maxLength": 64,
            "type": "string"
          },
          "subject": {
            "description": "Strong reference (AT-URI + CID) to the community.lexicon.calendar.event record this annotates.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "tags": {
            "description": "Free-form tags (sub-genres, scene, tour name...).",
            "items": {
              "maxLength": 128,
              "type": "string"
            },
            "type": "array"
          },
          "ticketsUrl": {
            "description": "Where tickets can be bought.",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "subject",
          "artists",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "app.rocksky.event.music",
  "lexicon": 1
}
```
