openapi: "3.1.0"
info:
  title: Long Strange Click API
  version: "1.0.0"
  description: "A read-only, snapshot-backed JSON API over a frozen, canonicalized Grateful Dead live-performance catalog: shows, setlists, venues, songs, sources, and a URL resolver. Every response is the canonical { data, meta } envelope. No auth is required; the surface is IP rate-limited."
servers:
  -
    url: https://staging.longstrangeclick.com/api/v1
    description: Public API
paths:
  /api/v1/health:
    get:
      operationId: getHealth
      responses:
        "200":
          description: Liveness and version probe.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      status:
                        type: string
                        const: ok
                      version:
                        type: string
                      serverTime:
                        type: string
                        format: date-time
                    required:
                      - status
                      - version
                      - serverTime
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                    required:
                      - queryTimeMs
                      - generatedAt
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: Liveness and version probe.
      tags:
        - health
  /api/v1/shows:
    get:
      operationId: listShows
      responses:
        "200":
          description: List shows as a schema.org ItemList of MusicEvent nodes (paginated, optional year / venue filter).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      "@context":
                        type: object
                        properties:
                          "@vocab":
                            type: string
                          lsc:
                            type: string
                        required:
                          - "@vocab"
                          - lsc
                        additionalProperties: false
                      "@type":
                        type: string
                        const: ItemList
                      numberOfItems:
                        type: integer
                        minimum: 0
                      itemListElement:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: ListItem
                            position:
                              type: integer
                              exclusiveMinimum: 0
                            item:
                              type: object
                              properties:
                                "@type":
                                  type: string
                                  const: MusicEvent
                                "@id":
                                  type: string
                                name:
                                  type: string
                                url:
                                  type: string
                                  format: uri
                                identifier:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      "@type":
                                        type: string
                                        const: PropertyValue
                                      propertyID:
                                        type: string
                                      value:
                                        type: string
                                      url:
                                        type: string
                                        format: uri
                                    required:
                                      - "@type"
                                      - propertyID
                                      - value
                                    additionalProperties: false
                                startDate:
                                  type: string
                                location:
                                  type: object
                                  properties:
                                    "@type":
                                      type: string
                                      const: MusicVenue
                                    "@id":
                                      type: string
                                    name:
                                      type: string
                                    alternateName:
                                      type: array
                                      items:
                                        type: string
                                    url:
                                      type: string
                                      format: uri
                                    address:
                                      type: object
                                      properties:
                                        "@type":
                                          type: string
                                          const: PostalAddress
                                        addressLocality:
                                          type: string
                                        addressRegion:
                                          type: string
                                        addressCountry:
                                          type: string
                                      required:
                                        - "@type"
                                      additionalProperties: false
                                    identifier:
                                      type: array
                                      items:
                                        $ref: "#/properties/data/properties/itemListElement/items/properties/item/properties/identifier/items"
                                  required:
                                    - "@type"
                                    - "@id"
                                    - name
                                  additionalProperties: false
                                performer:
                                  type: object
                                  properties:
                                    "@type":
                                      type: string
                                      const: MusicGroup
                                    "@id":
                                      type: string
                                    name:
                                      type: string
                                    identifier:
                                      type: array
                                      items:
                                        $ref: "#/properties/data/properties/itemListElement/items/properties/item/properties/identifier/items"
                                  required:
                                    - "@type"
                                    - "@id"
                                    - name
                                  additionalProperties: false
                                lsc:
                                  type: object
                                  properties:
                                    entityType:
                                      type: string
                                      const: show
                                    year:
                                      type: string
                                    incarnation:
                                      type:
                                        - string
                                        - "null"
                                    sequence:
                                      anyOf:
                                        -
                                          type: string
                                          enum:
                                            - early
                                            - late
                                        -
                                          type: "null"
                                    linkCoverage:
                                      type: object
                                      properties:
                                        resolved:
                                          type: integer
                                          minimum: 0
                                        total:
                                          type: integer
                                          minimum: 0
                                      required:
                                        - resolved
                                        - total
                                      additionalProperties: false
                                  required:
                                    - entityType
                                    - year
                                    - incarnation
                                    - sequence
                                    - linkCoverage
                                  additionalProperties: false
                              required:
                                - "@type"
                                - "@id"
                                - name
                                - url
                                - identifier
                                - startDate
                                - performer
                                - lsc
                              additionalProperties: false
                          required:
                            - "@type"
                            - position
                            - item
                          additionalProperties: false
                    required:
                      - "@context"
                      - "@type"
                      - numberOfItems
                      - itemListElement
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                      total:
                        type: integer
                        minimum: 0
                      limit:
                        type: integer
                        exclusiveMinimum: 0
                      offset:
                        type: integer
                        minimum: 0
                    required:
                      - queryTimeMs
                      - generatedAt
                      - total
                      - limit
                      - offset
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: List shows as a schema.org ItemList of MusicEvent nodes (paginated, optional year / venue filter).
      tags:
        - shows
      parameters:
        -
          name: year
          in: query
          required: false
          schema:
            type: string
        -
          name: venueSlug
          in: query
          required: false
          schema:
            type: string
        -
          name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 200
        -
          name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
  /api/v1/shows/{slug}:
    get:
      operationId: getShow
      responses:
        "200":
          description: The public schema.org MusicEvent JSON-LD projection for a show.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      "@context":
                        type: object
                        properties:
                          "@vocab":
                            type: string
                          lsc:
                            type: string
                        required:
                          - "@vocab"
                          - lsc
                        additionalProperties: false
                      "@type":
                        type: string
                        const: MusicEvent
                      "@id":
                        type: string
                      name:
                        type: string
                      url:
                        type: string
                        format: uri
                      identifier:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: PropertyValue
                            propertyID:
                              type: string
                            value:
                              type: string
                            url:
                              type: string
                              format: uri
                          required:
                            - "@type"
                            - propertyID
                            - value
                          additionalProperties: false
                      sameAs:
                        type: array
                        items:
                          type: string
                          format: uri
                      startDate:
                        type: string
                      eventAttendanceMode:
                        type: string
                      eventStatus:
                        type: string
                      location:
                        type: object
                        properties:
                          "@type":
                            type: string
                            const: MusicVenue
                          "@id":
                            type: string
                          name:
                            type: string
                          alternateName:
                            type: array
                            items:
                              type: string
                          url:
                            type: string
                            format: uri
                          address:
                            type: object
                            properties:
                              "@type":
                                type: string
                                const: PostalAddress
                              addressLocality:
                                type: string
                              addressRegion:
                                type: string
                              addressCountry:
                                type: string
                            required:
                              - "@type"
                            additionalProperties: false
                          identifier:
                            type: array
                            items:
                              $ref: "#/properties/data/properties/identifier/items"
                        required:
                          - "@type"
                          - "@id"
                          - name
                        additionalProperties: false
                      performer:
                        type: object
                        properties:
                          "@type":
                            type: string
                            const: MusicGroup
                          "@id":
                            type: string
                          name:
                            type: string
                          identifier:
                            type: array
                            items:
                              $ref: "#/properties/data/properties/identifier/items"
                        required:
                          - "@type"
                          - "@id"
                          - name
                        additionalProperties: false
                      workPerformed:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: CreativeWork
                            "@id":
                              type: string
                            name:
                              type: string
                            position:
                              type: integer
                            isPartOf:
                              type: object
                              properties:
                                "@id":
                                  type: string
                              required:
                                - "@id"
                              additionalProperties: false
                            workExample:
                              type: object
                              properties:
                                "@type":
                                  type: string
                                  const: MusicComposition
                                "@id":
                                  type: string
                                name:
                                  type: string
                              required:
                                - "@type"
                                - "@id"
                                - name
                              additionalProperties: false
                            performer:
                              $ref: "#/properties/data/properties/workPerformed/items/properties/isPartOf"
                            lsc:
                              type: object
                              properties:
                                entityType:
                                  type: string
                                  const: song_performance
                                setLabel:
                                  type: string
                                segueOut:
                                  type: boolean
                                sourceKey:
                                  type: string
                                noteRefs:
                                  type: array
                                  items:
                                    type: integer
                                    exclusiveMinimum: 0
                                isSegment:
                                  type: boolean
                                videoCount:
                                  type: integer
                                  minimum: 0
                                recordingCount:
                                  type: integer
                                  minimum: 0
                                videoMarkers:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      videoId:
                                        type: string
                                      startSeconds:
                                        type: integer
                                        minimum: 0
                                    required:
                                      - videoId
                                      - startSeconds
                                    additionalProperties: false
                              required:
                                - entityType
                              additionalProperties: false
                            video:
                              type: array
                              items:
                                type: object
                                properties:
                                  "@type":
                                    type: string
                                    const: VideoObject
                                  "@id":
                                    type: string
                                  url:
                                    type: string
                                    format: uri
                                  embedUrl:
                                    type: string
                                    format: uri
                                required:
                                  - "@type"
                                  - "@id"
                                  - url
                                  - embedUrl
                                additionalProperties: false
                          required:
                            - "@type"
                            - "@id"
                            - name
                            - position
                            - workExample
                            - performer
                            - lsc
                          additionalProperties: false
                      audio:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: AudioObject
                            "@id":
                              type: string
                            contentUrl:
                              type: string
                              format: uri
                            creator:
                              type: object
                              properties:
                                "@type":
                                  type: string
                                  const: Person
                                "@id":
                                  type: string
                                name:
                                  type: string
                              required:
                                - "@type"
                                - "@id"
                                - name
                              additionalProperties: false
                            contributor:
                              type: array
                              items:
                                $ref: "#/properties/data/properties/audio/items/properties/creator"
                            lsc:
                              type: object
                              properties:
                                entityType:
                                  type: string
                                  const: archive_recording
                                identifier:
                                  type: string
                                relistenUrl:
                                  type: string
                                etreeUrl:
                                  type: string
                                capturePosition:
                                  type: string
                                  enum:
                                    - audience
                                    - soundboard
                                    - matrix
                                    - fm_broadcast
                                    - unknown
                                    - onstage
                                    - front_of_board
                                    - tapers_section
                                    - behind_soundboard
                                    - balcony
                                    - front_balcony
                                    - soundboard_area
                                    - radio_broadcast
                                    - studio
                                    - vault
                                    - scanner_monitor
                                    - video_camera_feed
                                tapeCultureTags:
                                  type: array
                                  items:
                                    type: string
                                    enum:
                                      - inside_system
                                      - outside_system
                                      - betty_board
                                      - bonnie_board
                                      - amy_board
                                      - dead_hour
                                      - pre_fm
                                      - fm_simulcast
                                      - official_tapers_section
                                      - front_of_board
                                      - tour_booklet_seats
                                      - digital_transition
                                      - analog_warmth
                                      - source_hierarchy
                                      - patch_chain
                                      - noncommercial_taping_policy
                                sourceFamilyTags:
                                  type: array
                                  items:
                                    type: string
                                    enum:
                                      - betty_board
                                      - amy_board
                                      - honeymoon_tapes
                                      - healy_sbd
                                      - grateful_dead_hour
                                      - dead_to_the_world
                                      - vault_patch
                                      - dick_picks_adjacent
                                      - ultramatrix
                                      - taper_section
                                      - front_of_board
                                      - dat_head_distribution
                                      - budd_distribution
                                      - deadlists_research
                                      - tapes_in_circulation_research
                                      - official_release_path
                                lineageMediaToken:
                                  type: string
                                  enum:
                                    - mc
                                    - mr
                                    - c
                                    - rr
                                    - dat
                                    - dr
                                    - pcm
                                    - lp
                                    - cdr
                                    - fileset
                                    - vhs_hifi
                                    - beta
                                    - adat
                                    - sl2000
                                    - pcm_f1
                                    - dmp_100
                                    - sv_d100
                                    - d5
                                    - d5m
                                    - dsm
                                    - nagra
                                    - atr
                                    - two_track
                                    - four_track
                                    - sixteen_track
                                    - hi_fi_video
                                compendiumQualityGrade:
                                  type: string
                                  enum:
                                    - A+
                                    - A
                                    - A-
                                    - A-/B+
                                    - B+
                                    - B
                                    - B-
                                    - C+
                                    - C
                                    - C-
                                    - D
                                    - F
                                    - unknown
                                circulation:
                                  type: object
                                  properties:
                                    firstSeedSourceFamily:
                                      type:
                                        - string
                                        - "null"
                                    observedSourceFamilies:
                                      type: array
                                      items:
                                        type: string
                                    mostRecentEventType:
                                      anyOf:
                                        -
                                          type: string
                                          enum:
                                            - seed
                                            - transfer
                                            - remaster
                                            - reseed
                                            - stream_publish
                                            - vault_release
                                            - radio_broadcast
                                            - grateful_dead_hour_broadcast
                                            - dead_to_the_world_broadcast
                                            - fm_simulcast
                                            - audience_master_seed
                                            - soundboard_leak
                                            - betty_board_circulation
                                            - amy_board_circulation
                                            - honeymoon_tape_circulation
                                            - tape_tree
                                            - cyber_vine
                                            - dat_clone_distribution
                                            - cd_r_distribution
                                            - online_index_publication
                                            - mailing_list_distribution
                                            - archive_upload
                                            - official_release
                                            - unknown_circulation
                                        -
                                          type: "null"
                                    generationCount:
                                      type: integer
                                      minimum: 0
                                    events:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          eventType:
                                            $ref: "#/properties/data/properties/audio/items/properties/lsc/properties/circulation/properties/mostRecentEventType/anyOf/0"
                                          atUtc:
                                            type:
                                              - string
                                              - "null"
                                          note:
                                            type:
                                              - string
                                              - "null"
                                        required:
                                          - eventType
                                          - atUtc
                                          - note
                                        additionalProperties: false
                                  required:
                                    - firstSeedSourceFamily
                                    - observedSourceFamilies
                                    - mostRecentEventType
                                    - generationCount
                                    - events
                                  additionalProperties: false
                                engagement:
                                  type: object
                                  properties:
                                    ratingCount:
                                      type: integer
                                      exclusiveMinimum: 0
                                    meanRating:
                                      type: number
                                    bayesianRating:
                                      type: number
                                  required:
                                    - ratingCount
                                    - meanRating
                                    - bayesianRating
                                  additionalProperties: false
                                downloadCount:
                                  type: integer
                                  minimum: 0
                                reviewCount:
                                  type: integer
                                  minimum: 0
                                isListable:
                                  type: boolean
                                sourceType:
                                  type: string
                                lineage:
                                  type: string
                                lineageChain:
                                  type: string
                                shnid:
                                  type: string
                                sourceMeta:
                                  type: object
                                  properties:
                                    description:
                                      type: string
                                    notes:
                                      type: string
                                    runtime:
                                      type: string
                                    transferer:
                                      type: string
                                    taperText:
                                      type: string
                                    discs:
                                      type: string
                                    shnDiscs:
                                      type: string
                                    etreedbUrl:
                                      type: string
                                    releaseNote:
                                      type: string
                                  additionalProperties: false
                                editorialNote:
                                  type: object
                                  properties:
                                    note:
                                      type: string
                                    sourceLabel:
                                      type:
                                        - string
                                        - "null"
                                    url:
                                      type:
                                        - string
                                        - "null"
                                  required:
                                    - note
                                    - sourceLabel
                                    - url
                                  additionalProperties: false
                                people:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      slug:
                                        type: string
                                      name:
                                        type: string
                                      contributions:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            role:
                                              type: string
                                              enum:
                                                - taper
                                                - recordist
                                                - sound_engineer
                                                - transferer
                                                - remaster
                                                - compiler
                                                - seeder
                                                - uploader
                                                - audience_taper
                                                - original_recordist
                                                - soundboard_recordist
                                                - pa_soundman
                                                - recording_engineer
                                                - road_crew_recordist
                                                - venue_recordist
                                                - studio_recordist
                                                - broadcast_recordist
                                                - event_recordist
                                                - video_recordist
                                                - transfer_engineer
                                                - mastering_engineer
                                                - matrix_engineer
                                                - source_provider
                                                - patch_source
                                                - lineage_credit
                                                - tape_trader
                                                - tape_club_founder
                                                - publisher
                                                - vault_archivist
                                                - author
                                                - unknown_role
                                                - lighting_video_recordist
                                                - technical_experimenter
                                                - collection_archivist
                                                - front_of_house_engineer
                                                - monitor_engineer
                                                - database_labeler
                                                - tape_duper
                                                - equipment_modifier
                                                - digital_archivist
                                                - ultramatrix_engineer
                                                - broadcast_producer
                                                - radio_producer
                                                - vault_editor
                                                - sound_design
                                                - database_maintainer
                                                - list_admin
                                                - tree_admin
                                                - source_family
                                                - circulation_source
                                            leg:
                                              anyOf:
                                                -
                                                  type: string
                                                  enum:
                                                    - soundboard
                                                    - audience
                                                    - matrix
                                                -
                                                  type: "null"
                                            confidence:
                                              type: string
                                              enum:
                                                - confirmed
                                                - high
                                                - medium
                                                - low
                                                - candidate
                                                - strong
                                                - ambiguous
                                                - rejected
                                            evidenceType:
                                              type: string
                                              enum:
                                                - metadata_field
                                                - freetext_phrase
                                                - multi_token
                                                - filename_token
                                                - curated
                                                - explicit_metadata_field
                                                - free_text_taped_by
                                                - free_text_recorded_by
                                                - lineage_text
                                                - archive_identifier_token
                                                - etree_shnid_metadata
                                                - traders_den_thread
                                                - compendium_source_line
                                                - compendium_history
                                                - compendium_interview
                                                - official_release_notes
                                                - operator_curated
                                            tokenSafety:
                                              type: string
                                              enum:
                                                - safe_for_capture_role
                                                - post_capture_only
                                                - generic_do_not_infer
                                                - safe_for_non_capture_role
                                                - pair_or_context_required
                                                - never_auto_infer
                                          required:
                                            - role
                                            - leg
                                            - confidence
                                            - evidenceType
                                            - tokenSafety
                                          additionalProperties: false
                                        minItems: 1
                                    required:
                                      - slug
                                      - name
                                      - contributions
                                    additionalProperties: false
                                legs:
                                  type: array
                                  items:
                                    anyOf:
                                      -
                                        type: object
                                        properties:
                                          kind:
                                            type: string
                                            const: soundboard
                                          lineage:
                                            type:
                                              - string
                                              - "null"
                                          qualityNote:
                                            type:
                                              - string
                                              - "null"
                                          method:
                                            type:
                                              - string
                                              - "null"
                                          remasteredAt:
                                            type:
                                              - string
                                              - "null"
                                          lineageNotes:
                                            type:
                                              - string
                                              - "null"
                                        required:
                                          - kind
                                          - lineage
                                          - qualityNote
                                          - method
                                          - remasteredAt
                                          - lineageNotes
                                        additionalProperties: false
                                      -
                                        type: object
                                        properties:
                                          kind:
                                            type: string
                                            const: audience
                                          lineage:
                                            type:
                                              - string
                                              - "null"
                                          captureSource:
                                            type:
                                              - string
                                              - "null"
                                          captureNote:
                                            type:
                                              - string
                                              - "null"
                                          lineageNotes:
                                            type:
                                              - string
                                              - "null"
                                        required:
                                          - kind
                                          - lineage
                                          - captureSource
                                          - captureNote
                                          - lineageNotes
                                        additionalProperties: false
                                      -
                                        type: object
                                        properties:
                                          kind:
                                            type: string
                                            const: matrix
                                          lineage:
                                            type:
                                              - string
                                              - "null"
                                          method:
                                            type:
                                              - string
                                              - "null"
                                        required:
                                          - kind
                                          - lineage
                                          - method
                                        additionalProperties: false
                              required:
                                - entityType
                                - identifier
                                - people
                                - legs
                              additionalProperties: false
                          required:
                            - "@type"
                            - "@id"
                            - contributor
                            - lsc
                          additionalProperties: false
                      lsc:
                        type: object
                        properties:
                          tourName:
                            type: string
                          editorial:
                            type: object
                            properties:
                              scopeTier:
                                type: string
                                enum:
                                  - a
                                  - b
                                  - c
                                  - d
                              subtitle:
                                type: string
                              annotation:
                                type: string
                              setlistNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    setName:
                                      type: string
                                    sourceKey:
                                      type: string
                                    ordinal:
                                      type: integer
                                      exclusiveMinimum: 0
                                    text:
                                      type: string
                                  required:
                                    - setName
                                    - sourceKey
                                    - ordinal
                                    - text
                                  additionalProperties: false
                              pullQuotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    quoteText:
                                      type: string
                                    attribution:
                                      type: string
                                    sourceClass:
                                      type: string
                                      enum:
                                        - compendium
                                        - recap
                                        - forum
                                    sourceUrl:
                                      anyOf:
                                        -
                                          type: string
                                          format: uri
                                        -
                                          type: "null"
                                    quoteKind:
                                      type: string
                                      enum:
                                        - review
                                        - discussion
                                        - annotation
                                  required:
                                    - quoteText
                                    - attribution
                                    - sourceClass
                                    - sourceUrl
                                    - quoteKind
                                  additionalProperties: false
                              microReview:
                                anyOf:
                                  -
                                    type: object
                                    properties:
                                      reviewText:
                                        type: string
                                      sourceCount:
                                        type: integer
                                        exclusiveMinimum: 0
                                      sourceClassCount:
                                        type: integer
                                        exclusiveMinimum: 0
                                      sources:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            sourceCitation:
                                              type: string
                                            sourceClass:
                                              $ref: "#/properties/data/properties/lsc/properties/editorial/properties/pullQuotes/items/properties/sourceClass"
                                            sourceUrl:
                                              anyOf:
                                                -
                                                  type: string
                                                  format: uri
                                                -
                                                  type: "null"
                                          required:
                                            - sourceCitation
                                            - sourceClass
                                            - sourceUrl
                                          additionalProperties: false
                                        minItems: 1
                                      synthesizedAtUtc:
                                        type: string
                                      synthesized:
                                        type: boolean
                                        const: true
                                    required:
                                      - reviewText
                                      - sourceCount
                                      - sourceClassCount
                                      - sources
                                      - synthesizedAtUtc
                                      - synthesized
                                    additionalProperties: false
                                  -
                                    type: "null"
                              links:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    kind:
                                      type: string
                                    url:
                                      anyOf:
                                        -
                                          type: string
                                          format: uri
                                        -
                                          type: "null"
                                    provenance:
                                      type: string
                                      enum:
                                        - curated
                                        - sourced
                                        - discovered
                                        - derived
                                        - contributed
                                    existence:
                                      type: string
                                      enum:
                                        - resolves
                                        - absent
                                        - unchecked
                                    basis:
                                      type: string
                                      enum:
                                        - data
                                        - human
                                        - none
                                    matchStatus:
                                      type: string
                                      enum:
                                        - confirmed
                                        - high
                                        - medium
                                        - low
                                        - none
                                  required:
                                    - kind
                                    - url
                                    - provenance
                                    - existence
                                    - basis
                                    - matchStatus
                                  additionalProperties: false
                              crossSiteLinks:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    linkType:
                                      type: string
                                    label:
                                      type: string
                                    url:
                                      type: string
                                      format: uri
                                  required:
                                    - linkType
                                    - label
                                    - url
                                  additionalProperties: false
                              showTags:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    slug:
                                      type: string
                                    label:
                                      type: string
                                  required:
                                    - slug
                                    - label
                                  additionalProperties: false
                              releases:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    slug:
                                      type: string
                                    title:
                                      type: string
                                    kind:
                                      anyOf:
                                        -
                                          type: string
                                          enum:
                                            - single_show
                                            - multi_show
                                            - compilation
                                            - box_set
                                        -
                                          type: "null"
                                    mediaFormat:
                                      type: string
                                      enum:
                                        - audio
                                        - video
                                        - mixed
                                      default: audio
                                    releaseDate:
                                      type:
                                        - string
                                        - "null"
                                    series:
                                      anyOf:
                                        -
                                          type: object
                                          properties:
                                            slug:
                                              type: string
                                            name:
                                              type: string
                                            volumePosition:
                                              anyOf:
                                                -
                                                  type: integer
                                                  exclusiveMinimum: 0
                                                -
                                                  type: "null"
                                          required:
                                            - slug
                                            - name
                                            - volumePosition
                                          additionalProperties: false
                                        -
                                          type: "null"
                                      default: null
                                    links:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          label:
                                            type: string
                                          url:
                                            type: string
                                            format: uri
                                          category:
                                            type: string
                                            enum:
                                              - streaming
                                              - purchase
                                              - database
                                        required:
                                          - label
                                          - url
                                          - category
                                        additionalProperties: false
                                  required:
                                    - slug
                                    - title
                                    - kind
                                    - releaseDate
                                    - links
                                  additionalProperties: false
                              beneficiary:
                                anyOf:
                                  -
                                    type: object
                                    properties:
                                      label:
                                        type: string
                                      causeSlug:
                                        type:
                                          - string
                                          - "null"
                                      causeName:
                                        type:
                                          - string
                                          - "null"
                                    required:
                                      - label
                                      - causeSlug
                                      - causeName
                                    additionalProperties: false
                                  -
                                    type: "null"
                              songDebut:
                                anyOf:
                                  -
                                    type: object
                                    properties:
                                      count:
                                        type: integer
                                        minimum: 0
                                      songs:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            slug:
                                              type: string
                                            title:
                                              type: string
                                          required:
                                            - slug
                                            - title
                                          additionalProperties: false
                                    required:
                                      - count
                                      - songs
                                    additionalProperties: false
                                  -
                                    type: "null"
                              recapArticles:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    title:
                                      type: string
                                    url:
                                      type: string
                                      format: uri
                                    sourceName:
                                      type: string
                                    publishedAtUtc:
                                      type:
                                        - string
                                        - "null"
                                    blurb:
                                      type:
                                        - string
                                        - "null"
                                  required:
                                    - title
                                    - url
                                    - sourceName
                                    - publishedAtUtc
                                    - blurb
                                  additionalProperties: false
                              fanDiscussions:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    title:
                                      type: string
                                    url:
                                      type: string
                                      format: uri
                                    sourceName:
                                      type: string
                                    postedAtUtc:
                                      type:
                                        - string
                                        - "null"
                                    upvoteCount:
                                      anyOf:
                                        -
                                          type: integer
                                          minimum: 0
                                        -
                                          type: "null"
                                    commentCount:
                                      anyOf:
                                        -
                                          type: integer
                                          minimum: 0
                                        -
                                          type: "null"
                                  required:
                                    - title
                                    - url
                                    - sourceName
                                    - postedAtUtc
                                    - upvoteCount
                                    - commentCount
                                  additionalProperties: false
                              relatedVideos:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    videoId:
                                      type: string
                                    title:
                                      type: string
                                    url:
                                      type:
                                        - string
                                        - "null"
                                    kind:
                                      type: string
                                      enum:
                                        - pro_video
                                        - fan_video
                                    channel:
                                      type:
                                        - string
                                        - "null"
                                    durationSeconds:
                                      anyOf:
                                        -
                                          type: integer
                                          minimum: 0
                                        -
                                          type: "null"
                                    publishedAtUtc:
                                      type:
                                        - string
                                        - "null"
                                    songs:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          songSlug:
                                            type: string
                                          songTitle:
                                            type: string
                                          startSeconds:
                                            type: integer
                                            minimum: 0
                                        required:
                                          - songSlug
                                          - songTitle
                                          - startSeconds
                                        additionalProperties: false
                                      default: []
                                    songCount:
                                      type: integer
                                      minimum: 0
                                  required:
                                    - videoId
                                    - title
                                    - url
                                    - kind
                                    - channel
                                    - durationSeconds
                                    - publishedAtUtc
                                    - songCount
                                  additionalProperties: false
                              showNotes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    title:
                                      type: string
                                    url:
                                      type: string
                                      format: uri
                                    sourceLabel:
                                      type:
                                        - string
                                        - "null"
                                  required:
                                    - title
                                    - url
                                    - sourceLabel
                                  additionalProperties: false
                            additionalProperties: false
                        additionalProperties: false
                    required:
                      - "@context"
                      - "@type"
                      - "@id"
                      - name
                      - url
                      - identifier
                      - performer
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                    required:
                      - queryTimeMs
                      - generatedAt
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: The public schema.org MusicEvent JSON-LD projection for a show.
      tags:
        - shows
      parameters:
        -
          name: slug
          in: path
          required: true
          schema:
            type: string
  /api/v1/shows/date/{date}:
    get:
      operationId: getShowsByDate
      responses:
        "200":
          description: Every show on a calendar day as a schema.org ItemList of MusicEvent nodes (usually one; two or more for an early/late double-header). Forgiving date input.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      "@context":
                        type: object
                        properties:
                          "@vocab":
                            type: string
                          lsc:
                            type: string
                        required:
                          - "@vocab"
                          - lsc
                        additionalProperties: false
                      "@type":
                        type: string
                        const: ItemList
                      numberOfItems:
                        type: integer
                        minimum: 0
                      itemListElement:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: ListItem
                            position:
                              type: integer
                              exclusiveMinimum: 0
                            item:
                              type: object
                              properties:
                                "@type":
                                  type: string
                                  const: MusicEvent
                                "@id":
                                  type: string
                                name:
                                  type: string
                                url:
                                  type: string
                                  format: uri
                                identifier:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      "@type":
                                        type: string
                                        const: PropertyValue
                                      propertyID:
                                        type: string
                                      value:
                                        type: string
                                      url:
                                        type: string
                                        format: uri
                                    required:
                                      - "@type"
                                      - propertyID
                                      - value
                                    additionalProperties: false
                                sameAs:
                                  type: array
                                  items:
                                    type: string
                                    format: uri
                                startDate:
                                  type: string
                                eventAttendanceMode:
                                  type: string
                                eventStatus:
                                  type: string
                                location:
                                  type: object
                                  properties:
                                    "@type":
                                      type: string
                                      const: MusicVenue
                                    "@id":
                                      type: string
                                    name:
                                      type: string
                                    alternateName:
                                      type: array
                                      items:
                                        type: string
                                    url:
                                      type: string
                                      format: uri
                                    address:
                                      type: object
                                      properties:
                                        "@type":
                                          type: string
                                          const: PostalAddress
                                        addressLocality:
                                          type: string
                                        addressRegion:
                                          type: string
                                        addressCountry:
                                          type: string
                                      required:
                                        - "@type"
                                      additionalProperties: false
                                    identifier:
                                      type: array
                                      items:
                                        $ref: "#/properties/data/properties/itemListElement/items/properties/item/properties/identifier/items"
                                  required:
                                    - "@type"
                                    - "@id"
                                    - name
                                  additionalProperties: false
                                performer:
                                  type: object
                                  properties:
                                    "@type":
                                      type: string
                                      const: MusicGroup
                                    "@id":
                                      type: string
                                    name:
                                      type: string
                                    identifier:
                                      type: array
                                      items:
                                        $ref: "#/properties/data/properties/itemListElement/items/properties/item/properties/identifier/items"
                                  required:
                                    - "@type"
                                    - "@id"
                                    - name
                                  additionalProperties: false
                                workPerformed:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      "@type":
                                        type: string
                                        const: CreativeWork
                                      "@id":
                                        type: string
                                      name:
                                        type: string
                                      position:
                                        type: integer
                                      isPartOf:
                                        type: object
                                        properties:
                                          "@id":
                                            type: string
                                        required:
                                          - "@id"
                                        additionalProperties: false
                                      workExample:
                                        type: object
                                        properties:
                                          "@type":
                                            type: string
                                            const: MusicComposition
                                          "@id":
                                            type: string
                                          name:
                                            type: string
                                        required:
                                          - "@type"
                                          - "@id"
                                          - name
                                        additionalProperties: false
                                      performer:
                                        $ref: "#/properties/data/properties/itemListElement/items/properties/item/properties/workPerformed/items/properties/isPartOf"
                                      lsc:
                                        type: object
                                        properties:
                                          entityType:
                                            type: string
                                            const: song_performance
                                          setLabel:
                                            type: string
                                          segueOut:
                                            type: boolean
                                          sourceKey:
                                            type: string
                                          noteRefs:
                                            type: array
                                            items:
                                              type: integer
                                              exclusiveMinimum: 0
                                          isSegment:
                                            type: boolean
                                          videoCount:
                                            type: integer
                                            minimum: 0
                                          recordingCount:
                                            type: integer
                                            minimum: 0
                                          videoMarkers:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                videoId:
                                                  type: string
                                                startSeconds:
                                                  type: integer
                                                  minimum: 0
                                              required:
                                                - videoId
                                                - startSeconds
                                              additionalProperties: false
                                        required:
                                          - entityType
                                        additionalProperties: false
                                      video:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            "@type":
                                              type: string
                                              const: VideoObject
                                            "@id":
                                              type: string
                                            url:
                                              type: string
                                              format: uri
                                            embedUrl:
                                              type: string
                                              format: uri
                                          required:
                                            - "@type"
                                            - "@id"
                                            - url
                                            - embedUrl
                                          additionalProperties: false
                                    required:
                                      - "@type"
                                      - "@id"
                                      - name
                                      - position
                                      - workExample
                                      - performer
                                      - lsc
                                    additionalProperties: false
                                audio:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      "@type":
                                        type: string
                                        const: AudioObject
                                      "@id":
                                        type: string
                                      contentUrl:
                                        type: string
                                        format: uri
                                      creator:
                                        type: object
                                        properties:
                                          "@type":
                                            type: string
                                            const: Person
                                          "@id":
                                            type: string
                                          name:
                                            type: string
                                        required:
                                          - "@type"
                                          - "@id"
                                          - name
                                        additionalProperties: false
                                      contributor:
                                        type: array
                                        items:
                                          $ref: "#/properties/data/properties/itemListElement/items/properties/item/properties/audio/items/properties/creator"
                                      lsc:
                                        type: object
                                        properties:
                                          entityType:
                                            type: string
                                            const: archive_recording
                                          identifier:
                                            type: string
                                          relistenUrl:
                                            type: string
                                          etreeUrl:
                                            type: string
                                          capturePosition:
                                            type: string
                                            enum:
                                              - audience
                                              - soundboard
                                              - matrix
                                              - fm_broadcast
                                              - unknown
                                              - onstage
                                              - front_of_board
                                              - tapers_section
                                              - behind_soundboard
                                              - balcony
                                              - front_balcony
                                              - soundboard_area
                                              - radio_broadcast
                                              - studio
                                              - vault
                                              - scanner_monitor
                                              - video_camera_feed
                                          tapeCultureTags:
                                            type: array
                                            items:
                                              type: string
                                              enum:
                                                - inside_system
                                                - outside_system
                                                - betty_board
                                                - bonnie_board
                                                - amy_board
                                                - dead_hour
                                                - pre_fm
                                                - fm_simulcast
                                                - official_tapers_section
                                                - front_of_board
                                                - tour_booklet_seats
                                                - digital_transition
                                                - analog_warmth
                                                - source_hierarchy
                                                - patch_chain
                                                - noncommercial_taping_policy
                                          sourceFamilyTags:
                                            type: array
                                            items:
                                              type: string
                                              enum:
                                                - betty_board
                                                - amy_board
                                                - honeymoon_tapes
                                                - healy_sbd
                                                - grateful_dead_hour
                                                - dead_to_the_world
                                                - vault_patch
                                                - dick_picks_adjacent
                                                - ultramatrix
                                                - taper_section
                                                - front_of_board
                                                - dat_head_distribution
                                                - budd_distribution
                                                - deadlists_research
                                                - tapes_in_circulation_research
                                                - official_release_path
                                          lineageMediaToken:
                                            type: string
                                            enum:
                                              - mc
                                              - mr
                                              - c
                                              - rr
                                              - dat
                                              - dr
                                              - pcm
                                              - lp
                                              - cdr
                                              - fileset
                                              - vhs_hifi
                                              - beta
                                              - adat
                                              - sl2000
                                              - pcm_f1
                                              - dmp_100
                                              - sv_d100
                                              - d5
                                              - d5m
                                              - dsm
                                              - nagra
                                              - atr
                                              - two_track
                                              - four_track
                                              - sixteen_track
                                              - hi_fi_video
                                          compendiumQualityGrade:
                                            type: string
                                            enum:
                                              - A+
                                              - A
                                              - A-
                                              - A-/B+
                                              - B+
                                              - B
                                              - B-
                                              - C+
                                              - C
                                              - C-
                                              - D
                                              - F
                                              - unknown
                                          circulation:
                                            type: object
                                            properties:
                                              firstSeedSourceFamily:
                                                type:
                                                  - string
                                                  - "null"
                                              observedSourceFamilies:
                                                type: array
                                                items:
                                                  type: string
                                              mostRecentEventType:
                                                anyOf:
                                                  -
                                                    type: string
                                                    enum:
                                                      - seed
                                                      - transfer
                                                      - remaster
                                                      - reseed
                                                      - stream_publish
                                                      - vault_release
                                                      - radio_broadcast
                                                      - grateful_dead_hour_broadcast
                                                      - dead_to_the_world_broadcast
                                                      - fm_simulcast
                                                      - audience_master_seed
                                                      - soundboard_leak
                                                      - betty_board_circulation
                                                      - amy_board_circulation
                                                      - honeymoon_tape_circulation
                                                      - tape_tree
                                                      - cyber_vine
                                                      - dat_clone_distribution
                                                      - cd_r_distribution
                                                      - online_index_publication
                                                      - mailing_list_distribution
                                                      - archive_upload
                                                      - official_release
                                                      - unknown_circulation
                                                  -
                                                    type: "null"
                                              generationCount:
                                                type: integer
                                                minimum: 0
                                              events:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    eventType:
                                                      $ref: "#/properties/data/properties/itemListElement/items/properties/item/properties/audio/items/properties/lsc/properties/circulation/properties/mostRecentEventType/anyOf/0"
                                                    atUtc:
                                                      type:
                                                        - string
                                                        - "null"
                                                    note:
                                                      type:
                                                        - string
                                                        - "null"
                                                  required:
                                                    - eventType
                                                    - atUtc
                                                    - note
                                                  additionalProperties: false
                                            required:
                                              - firstSeedSourceFamily
                                              - observedSourceFamilies
                                              - mostRecentEventType
                                              - generationCount
                                              - events
                                            additionalProperties: false
                                          engagement:
                                            type: object
                                            properties:
                                              ratingCount:
                                                type: integer
                                                exclusiveMinimum: 0
                                              meanRating:
                                                type: number
                                              bayesianRating:
                                                type: number
                                            required:
                                              - ratingCount
                                              - meanRating
                                              - bayesianRating
                                            additionalProperties: false
                                          downloadCount:
                                            type: integer
                                            minimum: 0
                                          reviewCount:
                                            type: integer
                                            minimum: 0
                                          isListable:
                                            type: boolean
                                          sourceType:
                                            type: string
                                          lineage:
                                            type: string
                                          lineageChain:
                                            type: string
                                          shnid:
                                            type: string
                                          sourceMeta:
                                            type: object
                                            properties:
                                              description:
                                                type: string
                                              notes:
                                                type: string
                                              runtime:
                                                type: string
                                              transferer:
                                                type: string
                                              taperText:
                                                type: string
                                              discs:
                                                type: string
                                              shnDiscs:
                                                type: string
                                              etreedbUrl:
                                                type: string
                                              releaseNote:
                                                type: string
                                            additionalProperties: false
                                          editorialNote:
                                            type: object
                                            properties:
                                              note:
                                                type: string
                                              sourceLabel:
                                                type:
                                                  - string
                                                  - "null"
                                              url:
                                                type:
                                                  - string
                                                  - "null"
                                            required:
                                              - note
                                              - sourceLabel
                                              - url
                                            additionalProperties: false
                                          people:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                slug:
                                                  type: string
                                                name:
                                                  type: string
                                                contributions:
                                                  type: array
                                                  items:
                                                    type: object
                                                    properties:
                                                      role:
                                                        type: string
                                                        enum:
                                                          - taper
                                                          - recordist
                                                          - sound_engineer
                                                          - transferer
                                                          - remaster
                                                          - compiler
                                                          - seeder
                                                          - uploader
                                                          - audience_taper
                                                          - original_recordist
                                                          - soundboard_recordist
                                                          - pa_soundman
                                                          - recording_engineer
                                                          - road_crew_recordist
                                                          - venue_recordist
                                                          - studio_recordist
                                                          - broadcast_recordist
                                                          - event_recordist
                                                          - video_recordist
                                                          - transfer_engineer
                                                          - mastering_engineer
                                                          - matrix_engineer
                                                          - source_provider
                                                          - patch_source
                                                          - lineage_credit
                                                          - tape_trader
                                                          - tape_club_founder
                                                          - publisher
                                                          - vault_archivist
                                                          - author
                                                          - unknown_role
                                                          - lighting_video_recordist
                                                          - technical_experimenter
                                                          - collection_archivist
                                                          - front_of_house_engineer
                                                          - monitor_engineer
                                                          - database_labeler
                                                          - tape_duper
                                                          - equipment_modifier
                                                          - digital_archivist
                                                          - ultramatrix_engineer
                                                          - broadcast_producer
                                                          - radio_producer
                                                          - vault_editor
                                                          - sound_design
                                                          - database_maintainer
                                                          - list_admin
                                                          - tree_admin
                                                          - source_family
                                                          - circulation_source
                                                      leg:
                                                        anyOf:
                                                          -
                                                            type: string
                                                            enum:
                                                              - soundboard
                                                              - audience
                                                              - matrix
                                                          -
                                                            type: "null"
                                                      confidence:
                                                        type: string
                                                        enum:
                                                          - confirmed
                                                          - high
                                                          - medium
                                                          - low
                                                          - candidate
                                                          - strong
                                                          - ambiguous
                                                          - rejected
                                                      evidenceType:
                                                        type: string
                                                        enum:
                                                          - metadata_field
                                                          - freetext_phrase
                                                          - multi_token
                                                          - filename_token
                                                          - curated
                                                          - explicit_metadata_field
                                                          - free_text_taped_by
                                                          - free_text_recorded_by
                                                          - lineage_text
                                                          - archive_identifier_token
                                                          - etree_shnid_metadata
                                                          - traders_den_thread
                                                          - compendium_source_line
                                                          - compendium_history
                                                          - compendium_interview
                                                          - official_release_notes
                                                          - operator_curated
                                                      tokenSafety:
                                                        type: string
                                                        enum:
                                                          - safe_for_capture_role
                                                          - post_capture_only
                                                          - generic_do_not_infer
                                                          - safe_for_non_capture_role
                                                          - pair_or_context_required
                                                          - never_auto_infer
                                                    required:
                                                      - role
                                                      - leg
                                                      - confidence
                                                      - evidenceType
                                                      - tokenSafety
                                                    additionalProperties: false
                                                  minItems: 1
                                              required:
                                                - slug
                                                - name
                                                - contributions
                                              additionalProperties: false
                                          legs:
                                            type: array
                                            items:
                                              anyOf:
                                                -
                                                  type: object
                                                  properties:
                                                    kind:
                                                      type: string
                                                      const: soundboard
                                                    lineage:
                                                      type:
                                                        - string
                                                        - "null"
                                                    qualityNote:
                                                      type:
                                                        - string
                                                        - "null"
                                                    method:
                                                      type:
                                                        - string
                                                        - "null"
                                                    remasteredAt:
                                                      type:
                                                        - string
                                                        - "null"
                                                    lineageNotes:
                                                      type:
                                                        - string
                                                        - "null"
                                                  required:
                                                    - kind
                                                    - lineage
                                                    - qualityNote
                                                    - method
                                                    - remasteredAt
                                                    - lineageNotes
                                                  additionalProperties: false
                                                -
                                                  type: object
                                                  properties:
                                                    kind:
                                                      type: string
                                                      const: audience
                                                    lineage:
                                                      type:
                                                        - string
                                                        - "null"
                                                    captureSource:
                                                      type:
                                                        - string
                                                        - "null"
                                                    captureNote:
                                                      type:
                                                        - string
                                                        - "null"
                                                    lineageNotes:
                                                      type:
                                                        - string
                                                        - "null"
                                                  required:
                                                    - kind
                                                    - lineage
                                                    - captureSource
                                                    - captureNote
                                                    - lineageNotes
                                                  additionalProperties: false
                                                -
                                                  type: object
                                                  properties:
                                                    kind:
                                                      type: string
                                                      const: matrix
                                                    lineage:
                                                      type:
                                                        - string
                                                        - "null"
                                                    method:
                                                      type:
                                                        - string
                                                        - "null"
                                                  required:
                                                    - kind
                                                    - lineage
                                                    - method
                                                  additionalProperties: false
                                        required:
                                          - entityType
                                          - identifier
                                          - people
                                          - legs
                                        additionalProperties: false
                                    required:
                                      - "@type"
                                      - "@id"
                                      - contributor
                                      - lsc
                                    additionalProperties: false
                                lsc:
                                  type: object
                                  properties:
                                    tourName:
                                      type: string
                                    editorial:
                                      type: object
                                      properties:
                                        scopeTier:
                                          type: string
                                          enum:
                                            - a
                                            - b
                                            - c
                                            - d
                                        subtitle:
                                          type: string
                                        annotation:
                                          type: string
                                        setlistNotes:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              setName:
                                                type: string
                                              sourceKey:
                                                type: string
                                              ordinal:
                                                type: integer
                                                exclusiveMinimum: 0
                                              text:
                                                type: string
                                            required:
                                              - setName
                                              - sourceKey
                                              - ordinal
                                              - text
                                            additionalProperties: false
                                        pullQuotes:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              quoteText:
                                                type: string
                                              attribution:
                                                type: string
                                              sourceClass:
                                                type: string
                                                enum:
                                                  - compendium
                                                  - recap
                                                  - forum
                                              sourceUrl:
                                                anyOf:
                                                  -
                                                    type: string
                                                    format: uri
                                                  -
                                                    type: "null"
                                              quoteKind:
                                                type: string
                                                enum:
                                                  - review
                                                  - discussion
                                                  - annotation
                                            required:
                                              - quoteText
                                              - attribution
                                              - sourceClass
                                              - sourceUrl
                                              - quoteKind
                                            additionalProperties: false
                                        microReview:
                                          anyOf:
                                            -
                                              type: object
                                              properties:
                                                reviewText:
                                                  type: string
                                                sourceCount:
                                                  type: integer
                                                  exclusiveMinimum: 0
                                                sourceClassCount:
                                                  type: integer
                                                  exclusiveMinimum: 0
                                                sources:
                                                  type: array
                                                  items:
                                                    type: object
                                                    properties:
                                                      sourceCitation:
                                                        type: string
                                                      sourceClass:
                                                        $ref: "#/properties/data/properties/itemListElement/items/properties/item/properties/lsc/properties/editorial/properties/pullQuotes/items/properties/sourceClass"
                                                      sourceUrl:
                                                        anyOf:
                                                          -
                                                            type: string
                                                            format: uri
                                                          -
                                                            type: "null"
                                                    required:
                                                      - sourceCitation
                                                      - sourceClass
                                                      - sourceUrl
                                                    additionalProperties: false
                                                  minItems: 1
                                                synthesizedAtUtc:
                                                  type: string
                                                synthesized:
                                                  type: boolean
                                                  const: true
                                              required:
                                                - reviewText
                                                - sourceCount
                                                - sourceClassCount
                                                - sources
                                                - synthesizedAtUtc
                                                - synthesized
                                              additionalProperties: false
                                            -
                                              type: "null"
                                        links:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              kind:
                                                type: string
                                              url:
                                                anyOf:
                                                  -
                                                    type: string
                                                    format: uri
                                                  -
                                                    type: "null"
                                              provenance:
                                                type: string
                                                enum:
                                                  - curated
                                                  - sourced
                                                  - discovered
                                                  - derived
                                                  - contributed
                                              existence:
                                                type: string
                                                enum:
                                                  - resolves
                                                  - absent
                                                  - unchecked
                                              basis:
                                                type: string
                                                enum:
                                                  - data
                                                  - human
                                                  - none
                                              matchStatus:
                                                type: string
                                                enum:
                                                  - confirmed
                                                  - high
                                                  - medium
                                                  - low
                                                  - none
                                            required:
                                              - kind
                                              - url
                                              - provenance
                                              - existence
                                              - basis
                                              - matchStatus
                                            additionalProperties: false
                                        crossSiteLinks:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              linkType:
                                                type: string
                                              label:
                                                type: string
                                              url:
                                                type: string
                                                format: uri
                                            required:
                                              - linkType
                                              - label
                                              - url
                                            additionalProperties: false
                                        showTags:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              slug:
                                                type: string
                                              label:
                                                type: string
                                            required:
                                              - slug
                                              - label
                                            additionalProperties: false
                                        releases:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              slug:
                                                type: string
                                              title:
                                                type: string
                                              kind:
                                                anyOf:
                                                  -
                                                    type: string
                                                    enum:
                                                      - single_show
                                                      - multi_show
                                                      - compilation
                                                      - box_set
                                                  -
                                                    type: "null"
                                              mediaFormat:
                                                type: string
                                                enum:
                                                  - audio
                                                  - video
                                                  - mixed
                                                default: audio
                                              releaseDate:
                                                type:
                                                  - string
                                                  - "null"
                                              series:
                                                anyOf:
                                                  -
                                                    type: object
                                                    properties:
                                                      slug:
                                                        type: string
                                                      name:
                                                        type: string
                                                      volumePosition:
                                                        anyOf:
                                                          -
                                                            type: integer
                                                            exclusiveMinimum: 0
                                                          -
                                                            type: "null"
                                                    required:
                                                      - slug
                                                      - name
                                                      - volumePosition
                                                    additionalProperties: false
                                                  -
                                                    type: "null"
                                                default: null
                                              links:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    label:
                                                      type: string
                                                    url:
                                                      type: string
                                                      format: uri
                                                    category:
                                                      type: string
                                                      enum:
                                                        - streaming
                                                        - purchase
                                                        - database
                                                  required:
                                                    - label
                                                    - url
                                                    - category
                                                  additionalProperties: false
                                            required:
                                              - slug
                                              - title
                                              - kind
                                              - releaseDate
                                              - links
                                            additionalProperties: false
                                        beneficiary:
                                          anyOf:
                                            -
                                              type: object
                                              properties:
                                                label:
                                                  type: string
                                                causeSlug:
                                                  type:
                                                    - string
                                                    - "null"
                                                causeName:
                                                  type:
                                                    - string
                                                    - "null"
                                              required:
                                                - label
                                                - causeSlug
                                                - causeName
                                              additionalProperties: false
                                            -
                                              type: "null"
                                        songDebut:
                                          anyOf:
                                            -
                                              type: object
                                              properties:
                                                count:
                                                  type: integer
                                                  minimum: 0
                                                songs:
                                                  type: array
                                                  items:
                                                    type: object
                                                    properties:
                                                      slug:
                                                        type: string
                                                      title:
                                                        type: string
                                                    required:
                                                      - slug
                                                      - title
                                                    additionalProperties: false
                                              required:
                                                - count
                                                - songs
                                              additionalProperties: false
                                            -
                                              type: "null"
                                        recapArticles:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              title:
                                                type: string
                                              url:
                                                type: string
                                                format: uri
                                              sourceName:
                                                type: string
                                              publishedAtUtc:
                                                type:
                                                  - string
                                                  - "null"
                                              blurb:
                                                type:
                                                  - string
                                                  - "null"
                                            required:
                                              - title
                                              - url
                                              - sourceName
                                              - publishedAtUtc
                                              - blurb
                                            additionalProperties: false
                                        fanDiscussions:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              title:
                                                type: string
                                              url:
                                                type: string
                                                format: uri
                                              sourceName:
                                                type: string
                                              postedAtUtc:
                                                type:
                                                  - string
                                                  - "null"
                                              upvoteCount:
                                                anyOf:
                                                  -
                                                    type: integer
                                                    minimum: 0
                                                  -
                                                    type: "null"
                                              commentCount:
                                                anyOf:
                                                  -
                                                    type: integer
                                                    minimum: 0
                                                  -
                                                    type: "null"
                                            required:
                                              - title
                                              - url
                                              - sourceName
                                              - postedAtUtc
                                              - upvoteCount
                                              - commentCount
                                            additionalProperties: false
                                        relatedVideos:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              videoId:
                                                type: string
                                              title:
                                                type: string
                                              url:
                                                type:
                                                  - string
                                                  - "null"
                                              kind:
                                                type: string
                                                enum:
                                                  - pro_video
                                                  - fan_video
                                              channel:
                                                type:
                                                  - string
                                                  - "null"
                                              durationSeconds:
                                                anyOf:
                                                  -
                                                    type: integer
                                                    minimum: 0
                                                  -
                                                    type: "null"
                                              publishedAtUtc:
                                                type:
                                                  - string
                                                  - "null"
                                              songs:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    songSlug:
                                                      type: string
                                                    songTitle:
                                                      type: string
                                                    startSeconds:
                                                      type: integer
                                                      minimum: 0
                                                  required:
                                                    - songSlug
                                                    - songTitle
                                                    - startSeconds
                                                  additionalProperties: false
                                                default: []
                                              songCount:
                                                type: integer
                                                minimum: 0
                                            required:
                                              - videoId
                                              - title
                                              - url
                                              - kind
                                              - channel
                                              - durationSeconds
                                              - publishedAtUtc
                                              - songCount
                                            additionalProperties: false
                                        showNotes:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              title:
                                                type: string
                                              url:
                                                type: string
                                                format: uri
                                              sourceLabel:
                                                type:
                                                  - string
                                                  - "null"
                                            required:
                                              - title
                                              - url
                                              - sourceLabel
                                            additionalProperties: false
                                      additionalProperties: false
                                  additionalProperties: false
                              required:
                                - "@type"
                                - "@id"
                                - name
                                - url
                                - identifier
                                - performer
                              additionalProperties: false
                          required:
                            - "@type"
                            - position
                            - item
                          additionalProperties: false
                    required:
                      - "@context"
                      - "@type"
                      - numberOfItems
                      - itemListElement
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                      date:
                        type: string
                    required:
                      - queryTimeMs
                      - generatedAt
                      - date
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: Every show on a calendar day as a schema.org ItemList of MusicEvent nodes (usually one; two or more for an early/late double-header). Forgiving date input.
      tags:
        - shows
      parameters:
        -
          name: date
          in: path
          required: true
          schema:
            type: string
  /api/v1/books:
    get:
      operationId: listBooks
      responses:
        "200":
          description: List books as a schema.org ItemList of Book nodes (paginated).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      "@context":
                        type: object
                        properties:
                          "@vocab":
                            type: string
                          lsc:
                            type: string
                        required:
                          - "@vocab"
                          - lsc
                        additionalProperties: false
                      "@type":
                        type: string
                        const: ItemList
                      numberOfItems:
                        type: integer
                        minimum: 0
                      itemListElement:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: ListItem
                            position:
                              type: integer
                              exclusiveMinimum: 0
                            item:
                              type: object
                              properties:
                                "@type":
                                  type: string
                                  const: Book
                                "@id":
                                  type: string
                                name:
                                  type: string
                                alternateName:
                                  type: string
                                url:
                                  type: string
                                  format: uri
                                identifier:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      "@type":
                                        type: string
                                        const: PropertyValue
                                      propertyID:
                                        type: string
                                      value:
                                        type: string
                                      url:
                                        type: string
                                        format: uri
                                    required:
                                      - "@type"
                                      - propertyID
                                      - value
                                    additionalProperties: false
                                sameAs:
                                  type: array
                                  items:
                                    type: string
                                    format: uri
                                datePublished:
                                  type: string
                                image:
                                  type: object
                                  properties:
                                    "@type":
                                      type: string
                                      const: ImageObject
                                    contentUrl:
                                      type: string
                                      format: uri
                                    width:
                                      type: integer
                                      exclusiveMinimum: 0
                                    height:
                                      type: integer
                                      exclusiveMinimum: 0
                                  required:
                                    - "@type"
                                    - contentUrl
                                  additionalProperties: false
                                lsc:
                                  type: object
                                  properties:
                                    entityType:
                                      type: string
                                      const: book
                                    category:
                                      type: string
                                    subjectTier:
                                      type: string
                                      enum:
                                        - a
                                        - b
                                        - c
                                        - d
                                    isRecommended:
                                      type: boolean
                                  required:
                                    - entityType
                                    - category
                                    - subjectTier
                                    - isRecommended
                                  additionalProperties: false
                              required:
                                - "@type"
                                - "@id"
                                - name
                                - url
                                - identifier
                                - lsc
                              additionalProperties: false
                          required:
                            - "@type"
                            - position
                            - item
                          additionalProperties: false
                    required:
                      - "@context"
                      - "@type"
                      - numberOfItems
                      - itemListElement
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                      total:
                        type: integer
                        minimum: 0
                      limit:
                        type: integer
                        exclusiveMinimum: 0
                      offset:
                        type: integer
                        minimum: 0
                    required:
                      - queryTimeMs
                      - generatedAt
                      - total
                      - limit
                      - offset
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: List books as a schema.org ItemList of Book nodes (paginated).
      tags:
        - books
      parameters:
        -
          name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 200
        -
          name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
  /api/v1/books/{slug}:
    get:
      operationId: getBook
      responses:
        "200":
          description: A book as a schema.org Book JSON-LD node (editions, offers, citations).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      "@type":
                        type: string
                        const: Book
                      "@id":
                        type: string
                      name:
                        type: string
                      alternateName:
                        type: string
                      url:
                        type: string
                        format: uri
                      identifier:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: PropertyValue
                            propertyID:
                              type: string
                            value:
                              type: string
                            url:
                              type: string
                              format: uri
                          required:
                            - "@type"
                            - propertyID
                            - value
                          additionalProperties: false
                      sameAs:
                        type: array
                        items:
                          type: string
                          format: uri
                      datePublished:
                        type: string
                      image:
                        type: object
                        properties:
                          "@type":
                            type: string
                            const: ImageObject
                          contentUrl:
                            type: string
                            format: uri
                          width:
                            type: integer
                            exclusiveMinimum: 0
                          height:
                            type: integer
                            exclusiveMinimum: 0
                        required:
                          - "@type"
                          - contentUrl
                        additionalProperties: false
                      lsc:
                        type: object
                        properties:
                          entityType:
                            type: string
                            const: book
                          category:
                            type: string
                          subjectTier:
                            type: string
                            enum:
                              - a
                              - b
                              - c
                              - d
                          isRecommended:
                            type: boolean
                        required:
                          - entityType
                          - category
                          - subjectTier
                          - isRecommended
                        additionalProperties: false
                      abstract:
                        type: string
                      author:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: Person
                            "@id":
                              type: string
                            name:
                              type: string
                            alternateName:
                              type: string
                            url:
                              type: string
                              format: uri
                            identifier:
                              type: array
                              items:
                                $ref: "#/properties/data/properties/identifier/items"
                            sameAs:
                              type: array
                              items:
                                type: string
                                format: uri
                          required:
                            - "@type"
                            - "@id"
                            - name
                          additionalProperties: false
                      editor:
                        type: array
                        items:
                          $ref: "#/properties/data/properties/author/items"
                      contributor:
                        type: array
                        items:
                          $ref: "#/properties/data/properties/author/items"
                      about:
                        type: array
                        items:
                          anyOf:
                            -
                              $ref: "#/properties/data/properties/author/items"
                            -
                              type: object
                              properties:
                                "@type":
                                  type: string
                                  const: MusicGroup
                                "@id":
                                  type: string
                                name:
                                  type: string
                                identifier:
                                  type: array
                                  items:
                                    $ref: "#/properties/data/properties/identifier/items"
                              required:
                                - "@type"
                                - "@id"
                                - name
                              additionalProperties: false
                      workExample:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: BookEdition
                            bookEdition:
                              type: string
                            isbn:
                              type: string
                            bookFormat:
                              type: string
                            datePublished:
                              type: string
                            publisher:
                              type: string
                            numberOfPages:
                              type: integer
                              exclusiveMinimum: 0
                            identifier:
                              type: array
                              items:
                                $ref: "#/properties/data/properties/identifier/items"
                          required:
                            - "@type"
                          additionalProperties: false
                      offers:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: Offer
                            url:
                              type: string
                              format: uri
                            seller:
                              type: string
                            category:
                              type: string
                              enum:
                                - borrow
                                - read
                                - buy
                          required:
                            - "@type"
                            - url
                            - seller
                            - category
                          additionalProperties: false
                      lsc:citations:
                        type: object
                        properties:
                          cites:
                            type: array
                            items:
                              type: object
                              properties:
                                targetBookSlug:
                                  type:
                                    - string
                                    - "null"
                                targetBookTitle:
                                  type:
                                    - string
                                    - "null"
                                targetSourceLabel:
                                  type:
                                    - string
                                    - "null"
                                relationKind:
                                  type: string
                                  enum:
                                    - cites
                                    - shared_source
                                    - thematic
                                evidenceConfidence:
                                  type: string
                                  enum:
                                    - confirmed
                                    - probable
                                    - snippet
                                    - thematic
                                sourceUrl:
                                  anyOf:
                                    -
                                      type: string
                                      format: uri
                                    -
                                      type: "null"
                              required:
                                - targetBookSlug
                                - targetBookTitle
                                - targetSourceLabel
                                - relationKind
                                - evidenceConfidence
                                - sourceUrl
                              additionalProperties: false
                          citedBy:
                            type: array
                            items:
                              $ref: "#/properties/data/properties/lsc:citations/properties/cites/items"
                          mentions:
                            type: array
                            items:
                              $ref: "#/properties/data/properties/lsc:citations/properties/cites/items"
                          sharedSources:
                            type: array
                            items:
                              $ref: "#/properties/data/properties/lsc:citations/properties/cites/items"
                          thematic:
                            type: array
                            items:
                              $ref: "#/properties/data/properties/lsc:citations/properties/cites/items"
                        required:
                          - cites
                          - citedBy
                          - mentions
                          - sharedSources
                          - thematic
                        additionalProperties: false
                      "@context":
                        type: object
                        properties:
                          "@vocab":
                            type: string
                          lsc:
                            type: string
                        required:
                          - "@vocab"
                          - lsc
                        additionalProperties: false
                    required:
                      - "@type"
                      - "@id"
                      - name
                      - url
                      - identifier
                      - lsc
                      - "@context"
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                    required:
                      - queryTimeMs
                      - generatedAt
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: A book as a schema.org Book JSON-LD node (editions, offers, citations).
      tags:
        - books
      parameters:
        -
          name: slug
          in: path
          required: true
          schema:
            type: string
  /api/v1/people:
    get:
      operationId: listPeople
      responses:
        "200":
          description: List people as a schema.org ItemList of Person nodes (paginated).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      "@context":
                        type: object
                        properties:
                          "@vocab":
                            type: string
                          lsc:
                            type: string
                        required:
                          - "@vocab"
                          - lsc
                        additionalProperties: false
                      "@type":
                        type: string
                        const: ItemList
                      numberOfItems:
                        type: integer
                        minimum: 0
                      itemListElement:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: ListItem
                            position:
                              type: integer
                              exclusiveMinimum: 0
                            item:
                              type: object
                              properties:
                                "@type":
                                  type: string
                                  const: Person
                                "@id":
                                  type: string
                                name:
                                  type: string
                                alternateName:
                                  type: string
                                url:
                                  type: string
                                  format: uri
                                identifier:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      "@type":
                                        type: string
                                        const: PropertyValue
                                      propertyID:
                                        type: string
                                      value:
                                        type: string
                                      url:
                                        type: string
                                        format: uri
                                    required:
                                      - "@type"
                                      - propertyID
                                      - value
                                    additionalProperties: false
                                sameAs:
                                  type: array
                                  items:
                                    type: string
                                    format: uri
                                lsc:
                                  type: object
                                  properties:
                                    entityType:
                                      type: string
                                      const: person
                                    roleTags:
                                      type: array
                                      items:
                                        type: string
                                    reason:
                                      type: string
                                  required:
                                    - entityType
                                    - roleTags
                                    - reason
                                  additionalProperties: false
                              required:
                                - "@type"
                                - "@id"
                                - name
                                - lsc
                              additionalProperties: false
                          required:
                            - "@type"
                            - position
                            - item
                          additionalProperties: false
                    required:
                      - "@context"
                      - "@type"
                      - numberOfItems
                      - itemListElement
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                      total:
                        type: integer
                        minimum: 0
                      limit:
                        type: integer
                        exclusiveMinimum: 0
                      offset:
                        type: integer
                        minimum: 0
                    required:
                      - queryTimeMs
                      - generatedAt
                      - total
                      - limit
                      - offset
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: List people as a schema.org ItemList of Person nodes (paginated).
      tags:
        - people
      parameters:
        -
          name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 200
        -
          name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
  /api/v1/people/{slug}:
    get:
      operationId: getPerson
      responses:
        "200":
          description: A person as a schema.org Person JSON-LD node (public-safe identity; authored works).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      "@type":
                        type: string
                        const: Person
                      "@id":
                        type: string
                      name:
                        type: string
                      alternateName:
                        type: string
                      url:
                        type: string
                        format: uri
                      identifier:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: PropertyValue
                            propertyID:
                              type: string
                            value:
                              type: string
                            url:
                              type: string
                              format: uri
                          required:
                            - "@type"
                            - propertyID
                            - value
                          additionalProperties: false
                      sameAs:
                        type: array
                        items:
                          type: string
                          format: uri
                      lsc:
                        type: object
                        properties:
                          entityType:
                            type: string
                            const: person
                          roleTags:
                            type: array
                            items:
                              type: string
                          reason:
                            type: string
                        required:
                          - entityType
                          - roleTags
                          - reason
                        additionalProperties: false
                      lsc:authored:
                        type: array
                        items:
                          type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - book_contribution
                                - book_subject
                                - corroboration_quote
                                - show_recap
                                - forum_post
                            title:
                              type: string
                            url:
                              type: string
                            contextLabel:
                              type: string
                          required:
                            - kind
                            - title
                            - url
                            - contextLabel
                          additionalProperties: false
                      lsc:recordingCredits:
                        type: array
                        items:
                          type: object
                          properties:
                            show:
                              type: object
                              properties:
                                "@id":
                                  type: string
                              required:
                                - "@id"
                              additionalProperties: false
                            showName:
                              type: string
                            recordingIdentifier:
                              type: string
                            role:
                              type: string
                            lineage:
                              type:
                                - string
                                - "null"
                          required:
                            - show
                            - showName
                            - recordingIdentifier
                            - role
                            - lineage
                          additionalProperties: false
                      "@context":
                        type: object
                        properties:
                          "@vocab":
                            type: string
                          lsc:
                            type: string
                        required:
                          - "@vocab"
                          - lsc
                        additionalProperties: false
                    required:
                      - "@type"
                      - "@id"
                      - name
                      - lsc
                      - "@context"
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                    required:
                      - queryTimeMs
                      - generatedAt
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: A person as a schema.org Person JSON-LD node (public-safe identity; authored works).
      tags:
        - people
      parameters:
        -
          name: slug
          in: path
          required: true
          schema:
            type: string
  /api/v1/songs:
    get:
      operationId: listSongs
      responses:
        "200":
          description: List songs as a schema.org ItemList of MusicComposition nodes (paginated).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      "@context":
                        type: object
                        properties:
                          "@vocab":
                            type: string
                          lsc:
                            type: string
                        required:
                          - "@vocab"
                          - lsc
                        additionalProperties: false
                      "@type":
                        type: string
                        const: ItemList
                      numberOfItems:
                        type: integer
                        minimum: 0
                      itemListElement:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: ListItem
                            position:
                              type: integer
                              exclusiveMinimum: 0
                            item:
                              type: object
                              properties:
                                "@type":
                                  type: string
                                  const: MusicComposition
                                "@id":
                                  type: string
                                name:
                                  type: string
                                url:
                                  type: string
                                  format: uri
                                lsc:
                                  type: object
                                  properties:
                                    entityType:
                                      type: string
                                      const: song
                                    isSegment:
                                      type: boolean
                                    performanceCount:
                                      type: integer
                                      minimum: 0
                                    firstPerformedUtc:
                                      type:
                                        - string
                                        - "null"
                                    lastPerformedUtc:
                                      type:
                                        - string
                                        - "null"
                                  required:
                                    - entityType
                                    - isSegment
                                    - performanceCount
                                    - firstPerformedUtc
                                    - lastPerformedUtc
                                  additionalProperties: false
                              required:
                                - "@type"
                                - "@id"
                                - name
                                - lsc
                              additionalProperties: false
                          required:
                            - "@type"
                            - position
                            - item
                          additionalProperties: false
                    required:
                      - "@context"
                      - "@type"
                      - numberOfItems
                      - itemListElement
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                      total:
                        type: integer
                        minimum: 0
                      limit:
                        type: integer
                        exclusiveMinimum: 0
                      offset:
                        type: integer
                        minimum: 0
                    required:
                      - queryTimeMs
                      - generatedAt
                      - total
                      - limit
                      - offset
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: List songs as a schema.org ItemList of MusicComposition nodes (paginated).
      tags:
        - songs
      parameters:
        -
          name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 200
        -
          name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
  /api/v1/songs/{slug}:
    get:
      operationId: getSong
      responses:
        "200":
          description: A song as a schema.org MusicComposition JSON-LD node (performances, segues).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      "@type":
                        type: string
                        const: MusicComposition
                      "@id":
                        type: string
                      name:
                        type: string
                      url:
                        type: string
                        format: uri
                      lsc:
                        type: object
                        properties:
                          entityType:
                            type: string
                            const: song
                          isSegment:
                            type: boolean
                          performanceCount:
                            type: integer
                            minimum: 0
                          firstPerformedUtc:
                            type:
                              - string
                              - "null"
                          lastPerformedUtc:
                            type:
                              - string
                              - "null"
                        required:
                          - entityType
                          - isSegment
                          - performanceCount
                          - firstPerformedUtc
                          - lastPerformedUtc
                        additionalProperties: false
                      lsc:performances:
                        type: array
                        items:
                          type: object
                          properties:
                            show:
                              type: object
                              properties:
                                "@id":
                                  type: string
                              required:
                                - "@id"
                              additionalProperties: false
                            showDate:
                              type: string
                            venueLabel:
                              type: string
                            setName:
                              type: string
                            position:
                              type: integer
                            segue:
                              type: boolean
                            videoCount:
                              type: integer
                              minimum: 0
                          required:
                            - show
                            - showDate
                            - venueLabel
                            - setName
                            - position
                            - segue
                            - videoCount
                          additionalProperties: false
                      lsc:segue:
                        type: object
                        properties:
                          into:
                            type: array
                            items:
                              type: object
                              properties:
                                song:
                                  $ref: "#/properties/data/properties/lsc:performances/items/properties/show"
                                name:
                                  type: string
                                count:
                                  type: integer
                              required:
                                - song
                                - name
                                - count
                              additionalProperties: false
                          outOf:
                            type: array
                            items:
                              type: object
                              properties:
                                song:
                                  $ref: "#/properties/data/properties/lsc:performances/items/properties/show"
                                name:
                                  type: string
                                count:
                                  type: integer
                              required:
                                - song
                                - name
                                - count
                              additionalProperties: false
                        required:
                          - into
                          - outOf
                        additionalProperties: false
                      "@context":
                        type: object
                        properties:
                          "@vocab":
                            type: string
                          lsc:
                            type: string
                        required:
                          - "@vocab"
                          - lsc
                        additionalProperties: false
                    required:
                      - "@type"
                      - "@id"
                      - name
                      - lsc
                      - "@context"
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                    required:
                      - queryTimeMs
                      - generatedAt
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: A song as a schema.org MusicComposition JSON-LD node (performances, segues).
      tags:
        - songs
      parameters:
        -
          name: slug
          in: path
          required: true
          schema:
            type: string
  /api/v1/venues:
    get:
      operationId: listVenues
      responses:
        "200":
          description: List venues as a schema.org ItemList of MusicVenue nodes (paginated).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      "@context":
                        type: object
                        properties:
                          "@vocab":
                            type: string
                          lsc:
                            type: string
                        required:
                          - "@vocab"
                          - lsc
                        additionalProperties: false
                      "@type":
                        type: string
                        const: ItemList
                      numberOfItems:
                        type: integer
                        minimum: 0
                      itemListElement:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: ListItem
                            position:
                              type: integer
                              exclusiveMinimum: 0
                            item:
                              type: object
                              properties:
                                "@type":
                                  type: string
                                  const: MusicVenue
                                "@id":
                                  type: string
                                name:
                                  type: string
                                alternateName:
                                  type: array
                                  items:
                                    type: string
                                url:
                                  type: string
                                  format: uri
                                address:
                                  type: object
                                  properties:
                                    "@type":
                                      type: string
                                      const: PostalAddress
                                    addressLocality:
                                      type: string
                                    addressRegion:
                                      type: string
                                    addressCountry:
                                      type: string
                                  required:
                                    - "@type"
                                  additionalProperties: false
                                identifier:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      "@type":
                                        type: string
                                        const: PropertyValue
                                      propertyID:
                                        type: string
                                      value:
                                        type: string
                                      url:
                                        type: string
                                        format: uri
                                    required:
                                      - "@type"
                                      - propertyID
                                      - value
                                    additionalProperties: false
                                lsc:
                                  type: object
                                  properties:
                                    entityType:
                                      type: string
                                      const: venue
                                    showCount:
                                      type: integer
                                      minimum: 0
                                  required:
                                    - entityType
                                    - showCount
                                  additionalProperties: false
                              required:
                                - "@type"
                                - "@id"
                                - name
                                - lsc
                              additionalProperties: false
                          required:
                            - "@type"
                            - position
                            - item
                          additionalProperties: false
                    required:
                      - "@context"
                      - "@type"
                      - numberOfItems
                      - itemListElement
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                      total:
                        type: integer
                        minimum: 0
                      limit:
                        type: integer
                        exclusiveMinimum: 0
                      offset:
                        type: integer
                        minimum: 0
                    required:
                      - queryTimeMs
                      - generatedAt
                      - total
                      - limit
                      - offset
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: List venues as a schema.org ItemList of MusicVenue nodes (paginated).
      tags:
        - venues
      parameters:
        -
          name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 200
        -
          name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
        -
          name: country
          in: query
          required: false
          schema:
            type: string
  /api/v1/venues/{slug}:
    get:
      operationId: getVenue
      responses:
        "200":
          description: A venue as a schema.org MusicVenue JSON-LD node (address, shows hosted).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      "@type":
                        type: string
                        const: MusicVenue
                      "@id":
                        type: string
                      name:
                        type: string
                      alternateName:
                        type: array
                        items:
                          type: string
                      url:
                        type: string
                        format: uri
                      address:
                        type: object
                        properties:
                          "@type":
                            type: string
                            const: PostalAddress
                          addressLocality:
                            type: string
                          addressRegion:
                            type: string
                          addressCountry:
                            type: string
                        required:
                          - "@type"
                        additionalProperties: false
                      identifier:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: PropertyValue
                            propertyID:
                              type: string
                            value:
                              type: string
                            url:
                              type: string
                              format: uri
                          required:
                            - "@type"
                            - propertyID
                            - value
                          additionalProperties: false
                      lsc:
                        type: object
                        properties:
                          entityType:
                            type: string
                            const: venue
                          showCount:
                            type: integer
                            minimum: 0
                        required:
                          - entityType
                          - showCount
                        additionalProperties: false
                      event:
                        type: array
                        items:
                          type: object
                          properties:
                            show:
                              type: object
                              properties:
                                "@id":
                                  type: string
                              required:
                                - "@id"
                              additionalProperties: false
                            name:
                              type: string
                            startDate:
                              type: string
                            sequence:
                              anyOf:
                                -
                                  type: string
                                  enum:
                                    - early
                                    - late
                                -
                                  type: "null"
                          required:
                            - show
                            - name
                            - startDate
                            - sequence
                          additionalProperties: false
                      "@context":
                        type: object
                        properties:
                          "@vocab":
                            type: string
                          lsc:
                            type: string
                        required:
                          - "@vocab"
                          - lsc
                        additionalProperties: false
                    required:
                      - "@type"
                      - "@id"
                      - name
                      - lsc
                      - "@context"
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                    required:
                      - queryTimeMs
                      - generatedAt
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: A venue as a schema.org MusicVenue JSON-LD node (address, shows hosted).
      tags:
        - venues
      parameters:
        -
          name: slug
          in: path
          required: true
          schema:
            type: string
  /api/v1/releases:
    get:
      operationId: listReleases
      responses:
        "200":
          description: List releases as a schema.org ItemList of MusicAlbum or MusicRelease nodes (paginated).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      "@context":
                        type: object
                        properties:
                          "@vocab":
                            type: string
                          lsc:
                            type: string
                        required:
                          - "@vocab"
                          - lsc
                        additionalProperties: false
                      "@type":
                        type: string
                        const: ItemList
                      numberOfItems:
                        type: integer
                        minimum: 0
                      itemListElement:
                        type: array
                        items:
                          type: object
                          properties:
                            "@type":
                              type: string
                              const: ListItem
                            position:
                              type: integer
                              exclusiveMinimum: 0
                            item:
                              anyOf:
                                -
                                  type: object
                                  properties:
                                    "@type":
                                      type: string
                                      const: MusicAlbum
                                    "@id":
                                      type: string
                                    name:
                                      type: string
                                    url:
                                      type: string
                                      format: uri
                                    description:
                                      type: string
                                    datePublished:
                                      type: string
                                    byArtist:
                                      type: object
                                      properties:
                                        "@type":
                                          type: string
                                          const: MusicGroup
                                        "@id":
                                          type: string
                                        name:
                                          type: string
                                        identifier:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              "@type":
                                                type: string
                                                const: PropertyValue
                                              propertyID:
                                                type: string
                                              value:
                                                type: string
                                              url:
                                                type: string
                                                format: uri
                                            required:
                                              - "@type"
                                              - propertyID
                                              - value
                                            additionalProperties: false
                                      required:
                                        - "@type"
                                        - "@id"
                                        - name
                                      additionalProperties: false
                                    image:
                                      type: object
                                      properties:
                                        "@type":
                                          type: string
                                          const: ImageObject
                                        contentUrl:
                                          type: string
                                          format: uri
                                        width:
                                          type: integer
                                          exclusiveMinimum: 0
                                        height:
                                          type: integer
                                          exclusiveMinimum: 0
                                      required:
                                        - "@type"
                                        - contentUrl
                                      additionalProperties: false
                                    sameAs:
                                      type: array
                                      items:
                                        type: string
                                        format: uri
                                    identifier:
                                      type: array
                                      items:
                                        $ref: "#/properties/data/properties/itemListElement/items/properties/item/anyOf/0/properties/byArtist/properties/identifier/items"
                                    lsc:
                                      type: object
                                      properties:
                                        entityType:
                                          type: string
                                          const: release
                                        kind:
                                          anyOf:
                                            -
                                              type: string
                                              enum:
                                                - single_show
                                                - multi_show
                                                - compilation
                                                - box_set
                                            -
                                              type: "null"
                                        mediaFormat:
                                          type: string
                                          enum:
                                            - audio
                                            - video
                                            - mixed
                                        mediaKinds:
                                          type: array
                                          items:
                                            type: string
                                            enum:
                                              - audio
                                              - video
                                        mediaCarriers:
                                          type: array
                                          items:
                                            type: string
                                            enum:
                                              - vinyl
                                              - cd
                                              - cassette
                                              - eight_track
                                              - reel_to_reel
                                              - file
                                              - dvd
                                              - vhs
                                              - laserdisc
                                        showCount:
                                          type: integer
                                          minimum: 0
                                        completeness:
                                          type: string
                                          enum:
                                            - complete_show
                                            - complete_plus_bonus
                                            - selection
                                      required:
                                        - entityType
                                        - kind
                                        - mediaFormat
                                        - mediaKinds
                                        - showCount
                                      additionalProperties: false
                                  required:
                                    - "@type"
                                    - "@id"
                                    - name
                                    - lsc
                                  additionalProperties: false
                                -
                                  type: object
                                  properties:
                                    "@type":
                                      type: string
                                      const: MusicRelease
                                    "@id":
                                      type: string
                                    name:
                                      type: string
                                    url:
                                      type: string
                                      format: uri
                                    description:
                                      type: string
                                    datePublished:
                                      type: string
                                    byArtist:
                                      $ref: "#/properties/data/properties/itemListElement/items/properties/item/anyOf/0/properties/byArtist"
                                    image:
                                      $ref: "#/properties/data/properties/itemListElement/items/properties/item/anyOf/0/properties/image"
                                    sameAs:
                                      type: array
                                      items:
                                        type: string
                                        format: uri
                                    identifier:
                                      type: array
                                      items:
                                        $ref: "#/properties/data/properties/itemListElement/items/properties/item/anyOf/0/properties/byArtist/properties/identifier/items"
                                    catalogNumber:
                                      type: string
                                    musicReleaseFormat:
                                      anyOf:
                                        -
                                          type: string
                                          format: uri
                                        -
                                          type: array
                                          items:
                                            type: string
                                            format: uri
                                    additionalProperty:
                                      type: array
                                      items:
                                        $ref: "#/properties/data/properties/itemListElement/items/properties/item/anyOf/0/properties/byArtist/properties/identifier/items"
                                    isVariantOf:
                                      type: object
                                      properties:
                                        "@id":
                                          type: string
                                      required:
                                        - "@id"
                                      additionalProperties: false
                                    lsc:
                                      $ref: "#/properties/data/properties/itemListElement/items/properties/item/anyOf/0/properties/lsc"
                                  required:
                                    - "@type"
                                    - "@id"
                                    - name
                                    - lsc
                                  additionalProperties: false
                          required:
                            - "@type"
                            - position
                            - item
                          additionalProperties: false
                    required:
                      - "@context"
                      - "@type"
                      - numberOfItems
                      - itemListElement
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                      total:
                        type: integer
                        minimum: 0
                      limit:
                        type: integer
                        exclusiveMinimum: 0
                      offset:
                        type: integer
                        minimum: 0
                    required:
                      - queryTimeMs
                      - generatedAt
                      - total
                      - limit
                      - offset
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: List releases as a schema.org ItemList of MusicAlbum or MusicRelease nodes (paginated).
      tags:
        - releases
      parameters:
        -
          name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 200
        -
          name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
        -
          name: kind
          in: query
          required: false
          schema:
            type: string
            enum:
              - single_show
              - multi_show
              - compilation
              - box_set
  /api/v1/releases/{slug}:
    get:
      operationId: getRelease
      responses:
        "200":
          description: A release as a schema.org MusicAlbum or MusicRelease JSON-LD node (cover, links, shows captured).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    anyOf:
                      -
                        type: object
                        properties:
                          "@type":
                            type: string
                            const: MusicAlbum
                          "@id":
                            type: string
                          name:
                            type: string
                          url:
                            type: string
                            format: uri
                          description:
                            type: string
                          datePublished:
                            type: string
                          byArtist:
                            type: object
                            properties:
                              "@type":
                                type: string
                                const: MusicGroup
                              "@id":
                                type: string
                              name:
                                type: string
                              identifier:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    "@type":
                                      type: string
                                      const: PropertyValue
                                    propertyID:
                                      type: string
                                    value:
                                      type: string
                                    url:
                                      type: string
                                      format: uri
                                  required:
                                    - "@type"
                                    - propertyID
                                    - value
                                  additionalProperties: false
                            required:
                              - "@type"
                              - "@id"
                              - name
                            additionalProperties: false
                          image:
                            type: object
                            properties:
                              "@type":
                                type: string
                                const: ImageObject
                              contentUrl:
                                type: string
                                format: uri
                              width:
                                type: integer
                                exclusiveMinimum: 0
                              height:
                                type: integer
                                exclusiveMinimum: 0
                            required:
                              - "@type"
                              - contentUrl
                            additionalProperties: false
                          sameAs:
                            type: array
                            items:
                              type: string
                              format: uri
                          identifier:
                            type: array
                            items:
                              $ref: "#/properties/data/anyOf/0/properties/byArtist/properties/identifier/items"
                          lsc:
                            type: object
                            properties:
                              entityType:
                                type: string
                                const: release
                              kind:
                                anyOf:
                                  -
                                    type: string
                                    enum:
                                      - single_show
                                      - multi_show
                                      - compilation
                                      - box_set
                                  -
                                    type: "null"
                              mediaFormat:
                                type: string
                                enum:
                                  - audio
                                  - video
                                  - mixed
                              mediaKinds:
                                type: array
                                items:
                                  type: string
                                  enum:
                                    - audio
                                    - video
                              mediaCarriers:
                                type: array
                                items:
                                  type: string
                                  enum:
                                    - vinyl
                                    - cd
                                    - cassette
                                    - eight_track
                                    - reel_to_reel
                                    - file
                                    - dvd
                                    - vhs
                                    - laserdisc
                              showCount:
                                type: integer
                                minimum: 0
                              completeness:
                                type: string
                                enum:
                                  - complete_show
                                  - complete_plus_bonus
                                  - selection
                              series:
                                anyOf:
                                  -
                                    type: object
                                    properties:
                                      slug:
                                        type: string
                                      name:
                                        type: string
                                      volumePosition:
                                        anyOf:
                                          -
                                            type: integer
                                            exclusiveMinimum: 0
                                          -
                                            type: "null"
                                    required:
                                      - slug
                                      - name
                                      - volumePosition
                                    additionalProperties: false
                                  -
                                    type: "null"
                              captures:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    show:
                                      type: object
                                      properties:
                                        "@id":
                                          type: string
                                      required:
                                        - "@id"
                                      additionalProperties: false
                                    name:
                                      type: string
                                    startDate:
                                      type: string
                                    role:
                                      type: string
                                      enum:
                                        - primary
                                        - bonus
                                  required:
                                    - show
                                    - name
                                    - startDate
                                    - role
                                  additionalProperties: false
                            required:
                              - entityType
                              - kind
                              - mediaFormat
                              - mediaKinds
                              - showCount
                              - series
                              - captures
                            additionalProperties: false
                          hasVariant:
                            type: array
                            items:
                              type: object
                              properties:
                                "@type":
                                  type: string
                                  const: MusicRelease
                                "@id":
                                  type: string
                                name:
                                  type: string
                                url:
                                  type: string
                                  format: uri
                                description:
                                  type: string
                                datePublished:
                                  type: string
                                byArtist:
                                  $ref: "#/properties/data/anyOf/0/properties/byArtist"
                                image:
                                  $ref: "#/properties/data/anyOf/0/properties/image"
                                sameAs:
                                  type: array
                                  items:
                                    type: string
                                    format: uri
                                identifier:
                                  type: array
                                  items:
                                    $ref: "#/properties/data/anyOf/0/properties/byArtist/properties/identifier/items"
                                catalogNumber:
                                  type: string
                                musicReleaseFormat:
                                  anyOf:
                                    -
                                      type: string
                                      format: uri
                                    -
                                      type: array
                                      items:
                                        type: string
                                        format: uri
                                additionalProperty:
                                  type: array
                                  items:
                                    $ref: "#/properties/data/anyOf/0/properties/byArtist/properties/identifier/items"
                                isVariantOf:
                                  $ref: "#/properties/data/anyOf/0/properties/lsc/properties/captures/items/properties/show"
                              required:
                                - "@type"
                                - "@id"
                                - name
                              additionalProperties: false
                          "@context":
                            type: object
                            properties:
                              "@vocab":
                                type: string
                              lsc:
                                type: string
                            required:
                              - "@vocab"
                              - lsc
                            additionalProperties: false
                        required:
                          - "@type"
                          - "@id"
                          - name
                          - lsc
                          - "@context"
                        additionalProperties: false
                      -
                        type: object
                        properties:
                          "@type":
                            $ref: "#/properties/data/anyOf/0/properties/hasVariant/items/properties/@type"
                          "@id":
                            $ref: "#/properties/data/anyOf/0/properties/hasVariant/items/properties/@id"
                          name:
                            $ref: "#/properties/data/anyOf/0/properties/hasVariant/items/properties/name"
                          url:
                            $ref: "#/properties/data/anyOf/0/properties/hasVariant/items/properties/url"
                          description:
                            $ref: "#/properties/data/anyOf/0/properties/hasVariant/items/properties/description"
                          datePublished:
                            $ref: "#/properties/data/anyOf/0/properties/hasVariant/items/properties/datePublished"
                          byArtist:
                            $ref: "#/properties/data/anyOf/0/properties/hasVariant/items/properties/byArtist"
                          image:
                            $ref: "#/properties/data/anyOf/0/properties/hasVariant/items/properties/image"
                          sameAs:
                            $ref: "#/properties/data/anyOf/0/properties/hasVariant/items/properties/sameAs"
                          identifier:
                            $ref: "#/properties/data/anyOf/0/properties/hasVariant/items/properties/identifier"
                          catalogNumber:
                            $ref: "#/properties/data/anyOf/0/properties/hasVariant/items/properties/catalogNumber"
                          musicReleaseFormat:
                            $ref: "#/properties/data/anyOf/0/properties/hasVariant/items/properties/musicReleaseFormat"
                          additionalProperty:
                            $ref: "#/properties/data/anyOf/0/properties/hasVariant/items/properties/additionalProperty"
                          isVariantOf:
                            $ref: "#/properties/data/anyOf/0/properties/hasVariant/items/properties/isVariantOf"
                          lsc:
                            $ref: "#/properties/data/anyOf/0/properties/lsc"
                          hasVariant:
                            $ref: "#/properties/data/anyOf/0/properties/hasVariant"
                          "@context":
                            $ref: "#/properties/data/anyOf/0/properties/@context"
                        required:
                          - "@type"
                          - "@id"
                          - name
                          - lsc
                          - "@context"
                        additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                    required:
                      - queryTimeMs
                      - generatedAt
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: A release as a schema.org MusicAlbum or MusicRelease JSON-LD node (cover, links, shows captured).
      tags:
        - releases
      parameters:
        -
          name: slug
          in: path
          required: true
          schema:
            type: string
  /api/v1/sources:
    get:
      operationId: listSources
      responses:
        "200":
          description: The credited-source registry, provenance-derived from the changelog.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      rows:
                        type: array
                        items:
                          type: object
                          properties:
                            key:
                              type: string
                            touchCount:
                              type: integer
                              minimum: 0
                          required:
                            - key
                            - touchCount
                          additionalProperties: false
                    required:
                      - rows
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                    required:
                      - queryTimeMs
                      - generatedAt
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: The credited-source registry, provenance-derived from the changelog.
      tags:
        - sources
  /api/v1/resolve-url:
    get:
      operationId: resolveUrl
      responses:
        "200":
          description: Resolve a pasted Grateful Dead URL to the canonical show (or honest candidates / no-match).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      status:
                        type: string
                        enum:
                          - resolved
                          - candidates
                          - no_match
                          - not_relevant
                      matches:
                        type: array
                        items:
                          type: object
                          properties:
                            entityId:
                              type: string
                            entitySlug:
                              type: string
                            entityDisplayName:
                              type: string
                            entityDate:
                              type: string
                            entityCity:
                              type: string
                            entityCountry:
                              type: string
                            tier:
                              type: string
                              enum:
                                - exact_link
                                - url_date
                                - url_release
                                - page_signal
                            matchReason:
                              type: string
                            confidence:
                              type: string
                              enum:
                                - exact
                                - high
                                - medium
                                - low
                          required:
                            - entityId
                            - entitySlug
                            - entityDisplayName
                            - tier
                            - matchReason
                            - confidence
                          additionalProperties: false
                      message:
                        type: string
                      gateReasons:
                        type: array
                        items:
                          type: string
                    required:
                      - status
                      - matches
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      queryTimeMs:
                        type: number
                        minimum: 0
                      generatedAt:
                        type: string
                        format: date-time
                    required:
                      - queryTimeMs
                      - generatedAt
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
                $schema: http://json-schema.org/draft-07/schema#
      summary: Resolve a pasted Grateful Dead URL to the canonical show (or honest candidates / no-match).
      tags:
        - resolve
      parameters:
        -
          name: url
          in: query
          required: true
          schema:
            type: string
            minLength: 1
