{
  "info": {
    "description": "REST API for concerts, festivals, artists, and venues featuring normalized data from JamBase.",
    "version": "3.1.0",
    "title": "JamBase Concert Data API",
    "contact": {
      "email": "developer@jambase.com",
      "name": "Team JamBase",
      "url": "/contact"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "termsOfService": "https://www.jambase.com/terms",
    "summary": "REST API for live music data from JamBase"
  },
  "openapi": "3.1.0",
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "API key as Bearer token. Get your key from your account dashboard."
      }
    },
    "parameters": {
      "pageParam": {
        "in": "query",
        "name": "page",
        "description": "Page number of results to retrieve",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 1
        }
      },
      "perPageParam": {
        "in": "query",
        "name": "perPage",
        "description": "Number of events per page of results",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 40,
          "minimum": 1,
          "maximum": 100
        }
      },
      "eventTypeParam": {
        "in": "query",
        "name": "eventType",
        "description": "Used to isolate only concerts or only festivals(s)\\\nLeave blank to include both concerts and festivals\n- eventType=concert\n- eventType=festival\n",
        "schema": {
          "$ref": "#/components/schemas/enumEventType"
        }
      },
      "eventIdParam": {
        "in": "query",
        "name": "eventId",
        "description": "Restrict the result set to a specific list of Event IDs.\\\n\\\nFor example to fetch a single event:\n- eventId=jambase:16013248\n\nUse a pipe (|) to include multiple event IDs (recommended form, consistent with `artistId` and `venueId`):\n- eventId=jambase:16013248|jambase:14331594\n\nA URL-encoded JSON array of IDs is also accepted for compatibility with the v1 `eventId` parameter:\n- eventId=%5B%22jambase%3A16013248%22%2C%22jambase%3A14331594%22%5D\n\nTo use non-JamBase data sources, use the EventDataSource [[enum](#)] for the ID(s) you are using.\n",
        "schema": {
          "type": "string",
          "example": "jambase:16013248|jambase:14331594"
        }
      },
      "eventNameParam": {
        "in": "query",
        "name": "name",
        "description": "Keyword search that matches event and festival titles.\n- name=Bonnaroo\n- name=New%20Year%27s%20Eve\n\nCombines as AND with any other filters (`artistId`, `geoCityId`, dates, etc.). No match returns an empty list — never an error.\n",
        "example": "Bonnaroo",
        "schema": {
          "type": "string"
        }
      },
      "artistIdParam": {
        "in": "query",
        "name": "artistId",
        "description": "The source and unique identifier for the artist(s).\\\n\\\nFor example to search for LCD Soundsystem events:\n\n- artistId=jambase:228924\n\nUse a pipe (|) to include multiple artist IDs.\\\n\\\nFor example to search for LCD Soundsystem & Khalid events:\n- artistId=jambase:228924|jambase:3074545\n\nTo use non-JamBase data sources, use the ArtistDataSource [[enum](#)] for the ID(s) you are using.\\\n\\\nFor example to search for LCD Soundsystem events using their Ticketmaster ID:\n  - artistId=ticketmaster:K8vZ9175st0\n",
        "schema": {
          "type": "string",
          "example": "jambase:228924"
        }
      },
      "artistNameParam": {
        "in": "query",
        "name": "artistName",
        "description": "A keyword-based search for artist name(s).\n- artistName=Billie%20Eilish\n\nUse a pipe (|) to include multiple artist names.\n- artistName=Billie%20Eilish|Lucy%20Dacus\n\nKeywords should be URL Encoded.\\\nFor more precise artist-specific results try using `artistId` or `artist[slug]`.\n\nPlease note that `artistName` cannot be used togehter with `artistId` type searches and will be ignored if `artistId` is provided.\n",
        "example": "Billie Eilish",
        "schema": {
          "type": "string"
        }
      },
      "genreSlugParam": {
        "in": "query",
        "name": "genreSlug",
        "description": "Restrict results to a genre.\n- genreSlug=bluegrass\n\nUse a pipe (|) to include results from multiple genres.\n- genreSlug=bluegrass|blues\n",
        "schema": {
          "$ref": "#/components/schemas/enumGenres"
        }
      },
      "venueIdParam": {
        "in": "query",
        "name": "venueId",
        "description": "The source and unique identifier for the venue(s)\n- venueId=jambase:62108\n\nUse a pipe (|) to include multiple venue IDs\n- venueId=jambase:62108|jambase:7932731\n\nTo use non-JamBase IDs, use the <a href=\"https://apidocs.jambase.com/docs/jambase-api/vg16q2jczs7fg-enum-venue-data-source\">source slug</a> for the ID(s) you are using\n- venueId=ticketmaster:k7vGF99ORYpnS\n",
        "example": "jambase:62108",
        "schema": {
          "type": "string"
        }
      },
      "venueNameParam": {
        "in": "query",
        "name": "venueName",
        "description": "A keyword-based search for venue name(s).\n- venueName=Brooklyn%20Bowl\n\nUse a pipe (|) to include multiple venue IDs.\n- venueName=Brooklyn%20Bowl|House%20of%20Blues\n\nFor more precise venue-specific results try using `venueId` or `venue[slug]`.\n",
        "example": "Brooklyn%20Bowl",
        "schema": {
          "type": "string"
        }
      },
      "geoLatitudeParam": {
        "in": "query",
        "name": "geoLatitude",
        "description": "The latitude for geographic radius.\n- geoLatitude=40.7505\n",
        "schema": {
          "$ref": "#/components/schemas/propLatitude"
        }
      },
      "geoLongitudeParam": {
        "in": "query",
        "name": "geoLongitude",
        "description": "The longitude for geographic radius.\n- geoLongitude=-73.9934\n",
        "schema": {
          "$ref": "#/components/schemas/propLongitude"
        }
      },
      "geoStateIsoParam": {
        "in": "query",
        "name": "geoStateIso",
        "description": "The State code in ISO_3166-2 format [[docs](https://en.wikipedia.org/wiki/ISO_3166-2)].\n- geoStateIso=US-NY\n\nUse a pipe (|) to include multiple State codes.\n- geoStateIso=US-NY|=US-PA\n\nNote: Available for United States, Canada, and Australia only.\n",
        "schema": {
          "$ref": "#/components/schemas/enumState"
        }
      },
      "geoMetroIdParam": {
        "in": "query",
        "name": "geoMetroId",
        "description": "Use to retrieve events for specific <a href=\"https://apidocs.jambase.com/docs/jambase-api/5b89026bb2462-get-metros\">metro ID(s)</a>.\n- geoMetroId=jambase:1\n\nUse a pipe (|) to include multiple metro IDs.\n- geoMetroId=jambase:1|jambase:5\n",
        "example": "jambase:1",
        "schema": {
          "type": "string"
        }
      },
      "geoCityNameParam": {
        "in": "query",
        "name": "geoCityName",
        "description": "Use to retrieve events for city name(s).\n- geoCityName=Seattle\n\nUse a pipe (|) to include multiple city names.\n- geoCityName=Seattle|Tacoma\n\nFor more precise city-specific results try using `city[id]`\n",
        "schema": {
          "type": "string"
        }
      },
      "geoCityIdParam": {
        "in": "query",
        "name": "geoCityId",
        "description": "Use to retrieve events for specific <a href=\"https://apidocs.jambase.com/docs/jambase-api/5474ac2525de2-search-cities\">JamBase city ID(s)</a>   .     \n- geoCityId=jambase:4223296\n\nUse a pipe (|) to include multiple city IDs.\n- geoCityId=jambase:4223296|jambase:4224564\n\nWhen using the `geoCityId` parameter, you can omit the the `geoRadiusAmount` parameter (or) set it to `0` (or) leave it empty to include only results from the city. Else, you can use a radius amount to include events within a radius around the city-center.\n",
        "example": "jambase:4223296",
        "schema": {
          "type": "string"
        }
      },
      "geoIpParam": {
        "in": "query",
        "name": "geoIp",
        "description": "Use to retrieve events near an IP address.\\\nSupports IPv4 or IPv6 values.\n- geoIp=55.123.456.789\n",
        "schema": {
          "oneOf": [
            {
              "type": "string",
              "format": "ipv4"
            },
            {
              "type": "string",
              "format": "ipv6"
            }
          ]
        }
      },
      "geoRadiusAmountParam": {
        "in": "query",
        "name": "geoRadiusAmount",
        "description": "The search radius for lat/lng type searches.\n- geoRadiusAmount=60\n",
        "schema": {
          "type": "number",
          "format": "int32",
          "minimum": 1,
          "maximum": 5000,
          "default": 60
        }
      },
      "geoRadiusUnitsParam": {
        "in": "query",
        "name": "geoRadiusUnits",
        "description": "Whether to use miles (default) or kilometers for radius.\n- geoRadiusUnits=km\n",
        "schema": {
          "$ref": "#/components/schemas/enumRadiusUnits"
        }
      },
      "geoCountryIso2Param": {
        "in": "query",
        "name": "geoCountryIso2",
        "description": "The two-letter ISO 3166-1 alpha-2 code for a country.\n- geoCountryIso2=US\n\nUse a pipe (|) to include multiple countries.\n- geoCountryIso2=US|CA\n\nOn plans with geo + historical search (Enterprise baseline, or granted by request), this is the recommended filter for country-by-country historical backfills: pair it with a past `eventDateFrom` and no expand flag. Iterate only countries that actually have data for your target date range (ask support for the coverage list) rather than sweeping every ISO code. Note the code for the United Kingdom is `GB`, not `UK` — source data occasionally shows `UK`, but this filter expects `GB`.\n",
        "schema": {
          "$ref": "#/components/schemas/enumCountryIso2"
        }
      },
      "geoCountryIso3Param": {
        "in": "query",
        "name": "geoCountryIso3",
        "description": "The three-letter ISO code for a country.\n- geoCountryIso3=USA\n\nUse a pipe (|) to include multiple countries.\n- geoCountryIso3=USA|CAN\n",
        "schema": {
          "$ref": "#/components/schemas/enumCountryIso3"
        }
      },
      "datePresetParam": {
        "in": "query",
        "name": "eventDatePreset",
        "description": "Use a dynamic date preset.\n- eventDatePreset=tomorrow\n\nNotes: \n- The `eventDatePreset` will override `eventDateFrom` & `eventDateTo` if those are set as well.\n- The `halloween` preset returns events on 10/31 only. The `newYears` preset returns events on 12/31 only. The `july4th` preset returns events on or near July 4th.\n",
        "example": "tomorrow",
        "schema": {
          "$ref": "#/components/schemas/enumDatePresets"
        }
      },
      "dateFromParam": {
        "in": "query",
        "name": "eventDateFrom",
        "description": "For `concerts` must start on or after this date.\\\nFor `festivals`, must start on or after this date.\\\nIf left blank or omitted, will use the current date.\n\n- eventDateFrom=2023-10-31\n\nUsing a date before the current date requires historical access:\n- On plans with geo + historical search (Enterprise baseline, or granted by request), send a past `eventDateFrom` (and optionally `eventDateTo`) together with any geo parameter such as `geoCountryIso2`. No expand flag is needed; historical intent is inferred from the date range. Requests beyond the 5,000/day per-subscription allowance fall back to the standard search path and set the `X-JBD-Geo-Historical-Fallback` response header (check it during backfills).\n- On other plans with historical access, combine `expandPastEvents=true` with `artistId` or `venueId` for a single artist or venue timeline (window depends on plan).\n\nNote: Dates use <a href=\"https://www.rfc-editor.org/rfc/rfc3339#section-5.6\">RFC3339</a> format.\n",
        "example": "2023-10-01",
        "schema": {
          "type": "string",
          "format": "date"
        }
      },
      "dateToParam": {
        "in": "query",
        "name": "eventDateTo",
        "description": "For `concerts` must start on or before this date.\\\nFor `festivals` must end on or before this date.\\\nIf left blank or omitted, will return all events after `eventDateFrom`.\n\n- eventDateTo=2023-12-31\n\nFor historical queries, pair with a past `eventDateFrom` (see that parameter for the per-plan access patterns).\n\nNote: Dates use <a href=\"https://www.rfc-editor.org/rfc/rfc3339#section-5.6\">RFC3339</a> format.\n",
        "example": "2023-12-31",
        "schema": {
          "type": "string",
          "format": "date"
        }
      },
      "dateModifiedFromParam": {
        "in": "query",
        "name": "dateModifiedFrom",
        "description": "Must have been updated on or after this dateTime in GMT.\\\nIf left blank or omitted, will use all updated on dates\n\n- dateModifiedFrom=2022-10-31 00:00:00\n\nOn its own, a `dateModifiedFrom` sweep only returns events whose dates have not yet passed — modifications to past-dated events never appear in a plain delta sweep. To catch changes to past shows, plans with geo + historical search (Enterprise baseline, or granted by request) can combine `dateModifiedFrom` with a geo parameter (such as `geoCountryIso2`) and an explicit past `eventDateFrom`/`eventDateTo` range. Two caveats: the historical index refreshes on a delay (up to about a day), so overlap historical watermarks by 24-48 hours; and a response carrying the `X-JBD-Geo-Historical-Fallback` header was served without past events and should be re-run after the UTC day resets.\n\nNote: Use <a href=\"https://www.rfc-editor.org/rfc/rfc3339#section-5.6\">RFC3339</a> format for parameter values.\n",
        "example": "2022-10-31 00:00:00",
        "schema": {
          "type": "string",
          "format": "rfc3339"
        }
      },
      "datePublishedFromParam": {
        "in": "query",
        "name": "datePublishedFrom",
        "description": "Must have been first published on or after this dateTime in GMT.\\\n\\\nIf left blank or omitted, will use all first published on dates.\n\n- datePublishedFrom=2022-01-01 00:00:00\n\nNote: Use <a href=\"https://www.rfc-editor.org/rfc/rfc3339#section-5.6\">RFC3339</a> format for parameter values.\n",
        "example": "2022-01-01 00:00:00",
        "schema": {
          "type": "string",
          "format": "rfc3339"
        }
      },
      "streamDataSourceParam": {
        "in": "query",
        "name": "streamDataSource",
        "description": "Filter streams to those sourced from a specific stream platform.\n\nv3 currently exposes a single source slug — `jambase` — which represents JamBase's normalized stream catalog. Pipe-delimited values are supported for forward compatibility:\n\n- streamDataSource=jambase\n",
        "schema": {
          "$ref": "#/components/schemas/enumStreamDataSource"
        }
      },
      "excludeEventPerformersParam": {
        "in": "query",
        "name": "excludeEventPerformers",
        "description": "Use `true` to suppress the `performer` node in `Concert` and `Festival` objects.\n",
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "expandPastEventsParam": {
        "in": "query",
        "name": "expandPastEvents",
        "description": "Use `true` to include past/historical `Concert` and `Festival` objects.\n\\\nOn entity-scoped historical access, including standard Pro, combine it with one of the six accepted scope selectors: `artistId`, `artistSlug`, `artistName`, `venueId`, `venueSlug`, or `venueName`. Requests without a scope selector are denied with a 403 explaining how to correct the request. An explicit all-scope entitlement removes that gateway scope requirement, but the request remains subject to endpoint validation and its independent historical window.\n\\\nNote: `dateModifiedFrom` is a modification-date filter, not an entity scope, and cannot substitute for a scope selector.\n\\\nAvailability is tiered by plan: Trial and the free MCP plan get a rolling 1-year window, Pro a rolling 3-year window (artist/venue lookups only), and Pro+ and Enterprise include all-scope access with the full archive. Scope and time window are independent contract dimensions: a per-subscription all-scope grant widens which queries may use history but does not change that subscription's historical window.\n\\\nDo NOT use this flag for broad geographic historical queries. On plans with geo + historical search (Enterprise baseline, or granted by request), omit it and send a past `eventDateFrom` together with any geo parameter such as `geoCountryIso2` instead.\n",
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "sortEventsParam": {
        "in": "query",
        "name": "sort",
        "description": "Sort order for the returned events.\n\\\n- `eventDate` — ascending by event date (oldest first). This is the default.\n\\\n- `-eventDate` — descending by event date (most recent first).\n\\\nThe leading `-` indicates descending order, following the [JSON:API](https://jsonapi.org/format/#fetching-sorting) convention.\n\\\nMost useful when combined with `expandPastEvents=true` to retrieve an artist's or venue's most recent shows first without paginating through their full history.\n",
        "schema": {
          "type": "string",
          "enum": ["eventDate", "-eventDate"],
          "default": "eventDate"
        }
      },
      "expandExternalIdentifiersParam": {
        "in": "query",
        "name": "expandExternalIdentifiers",
        "description": "Use `true` to include external IDs for `Concert`, `Artist`, and `Venue` objects.\n\\\nNote: The `expandExternalIdentifiers` parameter requires that your apikey has the `expandExternalIdentifiers` enhancement turned on. Please contact JamBase to request access to this feature.\n",
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "expandArtistSameAsParam": {
        "in": "query",
        "name": "expandArtistSameAs",
        "description": "Use `true` to include `sameAs` (i.e. links) for `Artist` responses.\n",
        "schema": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "schemas": {
      "enumArtistDataSource": {
        "type": "string",
        "description": "Data source slugs to use for Artist IDs",
        "enum": [
          "axs",
          "dice",
          "etix",
          "eventbrite",
          "eventim-de",
          "jambase",
          "seated",
          "seatgeek",
          "spotify",
          "ticketmaster",
          "viagogo",
          "musicbrainz"
        ],
        "default": "jambase",
        "x-stoplight": {
          "id": "m7pyhha21d3n6"
        },
        "x-tags": ["Enums"]
      },
      "enumVenueDataSource": {
        "type": "string",
        "description": "Data source slugs to use for Venue IDs",
        "enum": [
          "axs",
          "dice",
          "etix",
          "eventbrite",
          "eventim-de",
          "jambase",
          "seated",
          "seatgeek",
          "suitehop",
          "ticketmaster",
          "viagogo"
        ],
        "x-stoplight": {
          "id": "vg16q2jczs7fg"
        },
        "x-tags": ["Enums"]
      },
      "enumEventDataSource": {
        "type": "string",
        "description": "Data source slugs to use for Event IDs",
        "enum": [
          "axs",
          "dice",
          "etix",
          "eventbrite",
          "eventim-de",
          "jambase",
          "seated",
          "see-tickets",
          "see-tickets-uk",
          "sofar-sounds",
          "seatgeek",
          "suitehop",
          "ticketmaster",
          "tixr",
          "viagogo"
        ],
        "x-tags": ["Enums"]
      },
      "enumStreamDataSource": {
        "type": "string",
        "description": "Data source slugs to use for Stream IDs",
        "enum": ["jambase"],
        "x-tags": ["Enums"]
      },
      "enumEventType": {
        "type": "string",
        "description": "The type of event being requested",
        "enum": ["concerts", "festivals"],
        "x-tags": ["Enums"]
      },
      "enumEventStatus": {
        "type": "string",
        "description": "The scheduling status for the event",
        "enum": ["scheduled", "postponed", "rescheduled", "cancelled"],
        "x-tags": ["Enums"]
      },
      "enumRadiusUnits": {
        "type": "string",
        "description": "The units of measure for a geo search radius",
        "enum": ["mi", "km"],
        "x-tags": ["Enums"]
      },
      "enumDatePresets": {
        "type": "string",
        "description": "Presets for frequently used date ranges.\n",
        "enum": [
          "today",
          "tomorrow",
          "thisWeekend",
          "nextWeekend",
          "halloween",
          "newYears",
          "july4th"
        ],
        "x-tags": ["Enums"]
      },
      "enumUrlType": {
        "type": "string",
        "x-stoplight": {
          "id": "cf4040b56ddd2"
        },
        "description": "The type of the external URL",
        "enum": [
          "officialSite",
          "facebook",
          "twitter",
          "instagram",
          "youtube",
          "musicbrainz",
          "spotify",
          "androidApp",
          "iosApp"
        ],
        "x-tags": ["Enums"]
      },
      "enumAttendanceMode": {
        "type": "string",
        "default": "offline",
        "description": "Indicates whether it occurs online, offline, or a mix.",
        "enum": ["mixed", "offline", "online"],
        "x-tags": ["Enums"]
      },
      "enumFestivalLineupDisplayOption": {
        "type": "string",
        "default": "full",
        "description": "Whether to display the `full` lineup or a `daybyday` breakdown",
        "enum": ["full", "daybyday"],
        "x-stoplight": {
          "id": "hfetwdodwtcz5"
        },
        "x-tags": ["Enums"]
      },
      "enumState": {
        "type": "string",
        "format": "iso-3166-2",
        "description": "A State code in ISO 3166-2 format [[docs](https://en.wikipedia.org/wiki/ISO_3166-2)].\n",
        "example": "US-AZ",
        "enum": [
          "US-AL",
          "US-AK",
          "US-AZ",
          "US-AR",
          "US-CA",
          "US-CO",
          "US-CT",
          "US-DE",
          "US-FL",
          "US-GA",
          "US-HI",
          "US-ID",
          "US-IL",
          "US-IN",
          "US-IA",
          "US-KS",
          "US-KY",
          "US-LA",
          "US-ME",
          "US-MD",
          "US-MA",
          "US-MI",
          "US-MN",
          "US-MS",
          "US-MO",
          "US-MT",
          "US-NE",
          "US-NV",
          "US-NH",
          "US-NJ",
          "US-NM",
          "US-NY",
          "US-NC",
          "US-ND",
          "US-OH",
          "US-OK",
          "US-OR",
          "US-PA",
          "US-RI",
          "US-SC",
          "US-SD",
          "US-TN",
          "US-TX",
          "US-UT",
          "US-VT",
          "US-VA",
          "US-WA",
          "US-WV",
          "US-WI",
          "US-WY",
          "US-DC",
          "US-AS",
          "US-GU",
          "US-MP",
          "US-PR",
          "US-UM",
          "US-VI",
          "AU-ACT",
          "AU-NSW",
          "AU-NT",
          "AU-QLD",
          "AU-SA",
          "AU-TAS",
          "AU-VIC",
          "AU-WA",
          "CA-AB",
          "CA-BC",
          "CA-MB",
          "CA-NB",
          "CA-NL",
          "CA-NS",
          "CA-NT",
          "CA-NU",
          "CA-ON",
          "CA-PE",
          "CA-QC",
          "CA-SK",
          "CA-YT"
        ],
        "x-tags": ["Enums"]
      },
      "enumCountryIso2": {
        "type": "string",
        "format": "iso-3166-alpha-2",
        "example": "US",
        "description": "The Country code in ISO 3166-1 alpha-2 format [[docs](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)].\n",
        "enum": [
          "AD",
          "AE",
          "AF",
          "AG",
          "AI",
          "AL",
          "AM",
          "AO",
          "AR",
          "AS",
          "AT",
          "AU",
          "AW",
          "AZ",
          "BA",
          "BB",
          "BD",
          "BE",
          "BF",
          "BG",
          "BH",
          "BI",
          "BJ",
          "BL",
          "BM",
          "BN",
          "BO",
          "BR",
          "BS",
          "BT",
          "BW",
          "BY",
          "BZ",
          "CA",
          "CC",
          "CD",
          "CF",
          "CG",
          "CH",
          "CI",
          "CK",
          "CL",
          "CM",
          "CN",
          "CO",
          "CR",
          "CU",
          "CV",
          "CW",
          "CX",
          "CY",
          "CZ",
          "DE",
          "DJ",
          "DK",
          "DM",
          "DO",
          "DZ",
          "EC",
          "EE",
          "EG",
          "EH",
          "ER",
          "ES",
          "ET",
          "FI",
          "FJ",
          "FK",
          "FM",
          "FO",
          "FR",
          "GA",
          "GB",
          "GD",
          "GE",
          "GF",
          "GG",
          "GH",
          "GI",
          "GL",
          "GM",
          "GN",
          "GP",
          "GQ",
          "GR",
          "GS",
          "GT",
          "GU",
          "GW",
          "GY",
          "HK",
          "HN",
          "HR",
          "HT",
          "HU",
          "ID",
          "IE",
          "IL",
          "IM",
          "IN",
          "IO",
          "IQ",
          "IR",
          "IS",
          "IT",
          "JE",
          "JM",
          "JO",
          "JP",
          "KE",
          "KG",
          "KH",
          "KI",
          "KM",
          "KN",
          "KP",
          "KR",
          "KW",
          "KY",
          "KZ",
          "LA",
          "LB",
          "LC",
          "LI",
          "LK",
          "LR",
          "LS",
          "LT",
          "LU",
          "LV",
          "LY",
          "MA",
          "MC",
          "MD",
          "ME",
          "MF",
          "MG",
          "MH",
          "MK",
          "ML",
          "MM",
          "MN",
          "MO",
          "MP",
          "MQ",
          "MR",
          "MS",
          "MT",
          "MU",
          "MV",
          "MW",
          "MX",
          "MY",
          "MZ",
          "NA",
          "NC",
          "NE",
          "NF",
          "NG",
          "NI",
          "NL",
          "NO",
          "NP",
          "NR",
          "NU",
          "NZ",
          "OM",
          "PA",
          "PE",
          "PF",
          "PG",
          "PH",
          "PK",
          "PL",
          "PM",
          "PN",
          "PR",
          "PT",
          "PW",
          "PY",
          "QA",
          "RE",
          "RO",
          "RS",
          "RU",
          "RW",
          "SA",
          "SB",
          "SC",
          "SD",
          "SE",
          "SG",
          "SH",
          "SI",
          "SK",
          "SL",
          "SM",
          "SN",
          "SO",
          "SR",
          "SS",
          "ST",
          "SV",
          "SX",
          "SY",
          "SZ",
          "TC",
          "TD",
          "TF",
          "TG",
          "TH",
          "TJ",
          "TK",
          "TL",
          "TM",
          "TN",
          "TO",
          "TR",
          "TT",
          "TV",
          "TW",
          "TZ",
          "UA",
          "UG",
          "US",
          "UY",
          "UZ",
          "VC",
          "VE",
          "VG",
          "VI",
          "VN",
          "VU",
          "WF",
          "WS",
          "XD",
          "XG",
          "XK",
          "XP",
          "XR",
          "XS",
          "XW",
          "YE",
          "YT",
          "ZA",
          "ZM",
          "ZW"
        ],
        "x-stoplight": {
          "id": "1ef0ob0u4hu6w"
        },
        "x-tags": ["Enums"]
      },
      "enumCountryIso3": {
        "type": "string",
        "format": "iso-3166-alpha-3",
        "example": "USA",
        "description": "The Country code in ISO 3166-1 alpha-3 format [[docs](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)].\n",
        "enum": [
          "ABW",
          "AFG",
          "AGO",
          "AIA",
          "ALB",
          "AND",
          "ARE",
          "ARG",
          "ARM",
          "ASM",
          "ATF",
          "ATG",
          "AUS",
          "AZE",
          "BDI",
          "BEL",
          "BEN",
          "BFA",
          "BGD",
          "BGR",
          "BHR",
          "BHS",
          "BIH",
          "BLM",
          "BLR",
          "BLZ",
          "BMU",
          "BOL",
          "BRA",
          "BRB",
          "BRN",
          "BTN",
          "BWA",
          "CAF",
          "CAN",
          "CCK",
          "CHE",
          "CHL",
          "CHN",
          "CIV",
          "CMR",
          "COD",
          "COG",
          "COK",
          "COL",
          "COM",
          "CPV",
          "CRI",
          "CUB",
          "CUW",
          "CXR",
          "CYM",
          "CYP",
          "CZE",
          "DEU",
          "DJI",
          "DMA",
          "DNK",
          "DOM",
          "DZA",
          "ECU",
          "EGY",
          "ERI",
          "ESH",
          "ESP",
          "EST",
          "ETH",
          "FIN",
          "FJI",
          "FLK",
          "FRA",
          "FRO",
          "FSM",
          "GAB",
          "GBR",
          "GEO",
          "GGY",
          "GHA",
          "GIB",
          "GIN",
          "GLP",
          "GMB",
          "GNB",
          "GNQ",
          "GRC",
          "GRD",
          "GRL",
          "GTM",
          "GUF",
          "GUM",
          "GUY",
          "HKG",
          "HND",
          "HRV",
          "HTI",
          "HUN",
          "IDN",
          "IMN",
          "IND",
          "IOT",
          "IRL",
          "IRN",
          "IRQ",
          "ISL",
          "ISR",
          "ITA",
          "JAM",
          "JEY",
          "JOR",
          "JPN",
          "KAZ",
          "KEN",
          "KGZ",
          "KHM",
          "KIR",
          "KNA",
          "KOR",
          "KWT",
          "LAO",
          "LBN",
          "LBR",
          "LBY",
          "LCA",
          "LIE",
          "LKA",
          "LSO",
          "LTU",
          "LUX",
          "LVA",
          "MAC",
          "MAF",
          "MAR",
          "MCO",
          "MDA",
          "MDG",
          "MDV",
          "MEX",
          "MHL",
          "MKD",
          "MLI",
          "MLT",
          "MMR",
          "MNE",
          "MNG",
          "MNP",
          "MOZ",
          "MRT",
          "MSR",
          "MTQ",
          "MUS",
          "MWI",
          "MYS",
          "MYT",
          "NAM",
          "NCL",
          "NER",
          "NFK",
          "NGA",
          "NIC",
          "NIU",
          "NLD",
          "NOR",
          "NPL",
          "NRU",
          "NZL",
          "OMN",
          "PAK",
          "PAN",
          "PCN",
          "PER",
          "PHL",
          "PLW",
          "PNG",
          "POL",
          "PRI",
          "PRK",
          "PRT",
          "PRY",
          "PYF",
          "QAT",
          "REU",
          "ROU",
          "RUS",
          "RWA",
          "SAU",
          "SDN",
          "SEN",
          "SGP",
          "SGS",
          "SHN",
          "SLB",
          "SLE",
          "SLV",
          "SMR",
          "SOM",
          "SPM",
          "SRB",
          "SSD",
          "STP",
          "SUR",
          "SVK",
          "SVN",
          "SWE",
          "SWZ",
          "SXM",
          "SYC",
          "SYR",
          "TCA",
          "TCD",
          "TGO",
          "THA",
          "TJK",
          "TKL",
          "TKM",
          "TLS",
          "TON",
          "TTO",
          "TUN",
          "TUR",
          "TUV",
          "TWN",
          "TZA",
          "UGA",
          "UKR",
          "URY",
          "USA",
          "UZB",
          "VCT",
          "VEN",
          "VGB",
          "VIR",
          "VNM",
          "VUT",
          "WLF",
          "WSM",
          "XGZ",
          "XKS",
          "XPR",
          "XQZ",
          "XSP",
          "XSV",
          "XWB",
          "XXD",
          "YEM",
          "ZAF",
          "ZMB",
          "ZWE"
        ],
        "x-tags": ["Enums"]
      },
      "enumGenres": {
        "type": "string",
        "description": "Music genres",
        "summary": "Multiple genres",
        "enum": [
          "bluegrass",
          "blues",
          "christian",
          "classical",
          "country-music",
          "edm",
          "folk",
          "hip-hop-rap",
          "indie",
          "jamband",
          "jazz",
          "kpop",
          "latin",
          "metal",
          "pop",
          "punk",
          "reggae",
          "rhythm-and-blues-soul",
          "rock",
          "tribute"
        ],
        "x-tags": ["Enums"]
      },
      "AdministrativeArea": {
        "title": "AdministrativeArea",
        "description": "A Metro Area comprised of multiple cities.",
        "type": "object",
        "properties": {
          "@type": {
            "type": "string",
            "enum": ["AdministrativeArea"]
          },
          "identifier": {
            "type": "string",
            "example": "jambase:13412",
            "description": "The unique JamBase identifier for the Metro Area."
          },
          "name": {
            "type": "string",
            "example": "New York Area",
            "description": "The name of the Metro Area"
          },
          "geo": {
            "$ref": "#/components/schemas/GeoCoordinates",
            "description": "The lat/lng for the centroid of the Metro Area"
          },
          "address": {
            "type": "object",
            "properties": {
              "addressRegion": {
                "$ref": "#/components/schemas/enumState",
                "description": "The primary State/Region for Metro Area."
              },
              "addressCountry": {
                "$ref": "#/components/schemas/enumCountryIso2"
              }
            }
          },
          "containsPlace": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/City"
            }
          },
          "x-primaryCityId": {
            "type": "number",
            "format": "int32",
            "example": 12,
            "description": "The unique identifier for the primary City for Metro Area."
          },
          "x-numUpcomingEvents": {
            "type": "number",
            "format": "int32",
            "example": 12,
            "description": "The number of upcoming events across all Cities in this Metro."
          }
        },
        "x-stoplight": {
          "id": "xyb6dq20xkoa2"
        }
      },
      "City": {
        "title": "City",
        "description": "A city or locality",
        "type": "object",
        "properties": {
          "@type": {
            "type": "string",
            "enum": ["City"]
          },
          "identifier": {
            "type": "string",
            "example": "jambase:13412",
            "description": "The unique identifier for the City/Locality."
          },
          "name": {
            "type": "string",
            "example": "New York",
            "description": "The name of the City/Locality"
          },
          "geo": {
            "$ref": "#/components/schemas/GeoCoordinates",
            "description": "The lat/lng for the centroid of the City/Locality."
          },
          "address": {
            "type": "object",
            "properties": {
              "addressRegion": {
                "$ref": "#/components/schemas/enumState"
              },
              "addressCountry": {
                "type": "string",
                "description": "The two-letter ISO code for the Country.\n",
                "example": "US"
              }
            }
          },
          "x-timezone": {
            "type": "string",
            "description": "A \"tz database\" timezone [[docs](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)].\n",
            "example": "America/New_York"
          },
          "containedInPlace": {
            "$ref": "#/components/schemas/AdministrativeArea",
            "description": "When using the `/cities` endpoint, this will include the Metro Area if the city is part of one."
          },
          "x-numUpcomingEvents": {
            "type": "number",
            "format": "int32",
            "example": 12,
            "description": "The number of upcoming events in this City."
          }
        }
      },
      "Concert": {
        "title": "Concert",
        "description": "A concert / show",
        "type": "object",
        "required": [
          "@type",
          "name",
          "identifier",
          "url",
          "eventStatus",
          "startDate",
          "location",
          "performer"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          },
          {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string",
                "enum": ["Concert"]
              },
              "deletionStatus": {
                "$ref": "#/components/schemas/propDeletionStatus"
              },
              "deletedAt": {
                "$ref": "#/components/schemas/propDeletedAt"
              },
              "mergedInto": {
                "$ref": "#/components/schemas/propMergedInto"
              },
              "x-externalIdentifiers": {
                "type": "array",
                "items": [
                  {
                    "$ref": "#/components/schemas/ExternalIdentifier"
                  }
                ]
              },
              "x-customTitle": {
                "type": "string",
                "description": "To replace the default `event[name]` property"
              },
              "x-subtitle": {
                "type": "string",
                "description": "To supplement the title to help describe the event (e.g. Album Release Party)"
              },
              "x-headlinerInSupport": {
                "type": "boolean",
                "default": false,
                "description": "if headlining performers should be listed with support acts (typically used with `x-customTitle`)"
              },
              "x-streamIds": {
                "type": "array",
                "items": {
                  "type": "string",
                  "example": "jambase:12345"
                },
                "description": "An array of one or more IDs for Streams associated with a Concert"
              }
            }
          }
        ],
        "x-stoplight": {
          "id": "d7j9iw8g683w2"
        }
      },
      "Country": {
        "title": "Country",
        "description": "A Country.",
        "type": "object",
        "properties": {
          "@type": {
            "type": "string",
            "enum": ["Country"]
          },
          "identifier": {
            "$ref": "#/components/schemas/enumCountryIso2"
          },
          "name": {
            "type": "string",
            "example": "United States",
            "description": "The name of the Country Area"
          },
          "alternateName": {
            "$ref": "#/components/schemas/enumCountryIso3"
          },
          "x-numUpcomingEvents": {
            "type": "number",
            "format": "int32",
            "example": 12,
            "description": "The number of upcoming events in this Country.\n\\\nNote: this is only provided in the Geography lookup endpoints, not as part of a location within a Concert, Festival, or Stream.\n"
          }
        }
      },
      "ErrorsList": {
        "description": "A list of errors",
        "x-stoplight": {
          "id": "1253ab38a345c"
        },
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "errorCode": {
              "type": "string",
              "enum": [
                "no_lookup_results",
                "lookup_error",
                "parameter_missing",
                "parameter_invalid",
                "identifier_missing",
                "identifier_invalid",
                "parameter_out_of_range",
                "general_error"
              ]
            },
            "errorMessage": {
              "type": "string",
              "example": "The identifier `jambase:87121` is invalid."
            }
          }
        }
      },
      "Event": {
        "title": "Event",
        "description": "A generic event.Please note that `startDate`,`endDate`,`previousStartDate`, and `doorTime` are all returned based on the venue's local time but without an offset. You can find the timezone at `event > location > address > x-timezone` if you need to do any conversions.\n",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Thing",
            "properties": {
              "sameAs": {
                "description": "Only available for `Festival` type events, not `Concert`"
              }
            }
          },
          {
            "type": "object",
            "properties": {
              "eventStatus": {
                "$ref": "#/components/schemas/enumEventStatus"
              },
              "startDate": {
                "type": "string",
                "format": "iso-8601",
                "description": "The start date and time of the item using ISO 8601 date format [[docs](https://en.wikipedia.org/wiki/ISO_8601)]\n\\\nPlease note that `startDate` is returned based on the venue's local time but without an offset. You can find the timezone at `event > location > address > x-timezone` if you need to do any conversions.\n"
              },
              "endDate": {
                "type": "string",
                "format": "iso-8601",
                "description": "The end date of the item using ISO 8601 date format [[docs](https://en.wikipedia.org/wiki/ISO_8601)]\n\\\nPlease note that `endDate` is returned based on the venue's local time but without an offset. You can find the timezone at `event > location > address > x-timezone` if you need to do any conversions.\n"
              },
              "previousStartDate": {
                "type": "string",
                "format": "iso-8601",
                "description": "For rescheduled events, the previously scheduled start date using ISO 8601 date format [[docs](https://en.wikipedia.org/wiki/ISO_8601)]\n\\\nPlease note that `previousStartDate` is returned based on the venue's local time but without an offset. You can find the timezone at `event > location > address > x-timezone` if you need to do any conversions.\n"
              },
              "doorTime": {
                "type": "string",
                "format": "iso-8601",
                "description": "The time admission will commence in local time using ISO 8601 date format [[docs](https://en.wikipedia.org/wiki/ISO_8601)]\n\\\nPlease note that `doorTime` is returned based on the venue's local time but without an offset. You can find the timezone at `event > location > address > x-timezone` if you need to do any conversions.\n"
              },
              "location": {
                "$ref": "#/components/schemas/MusicVenue"
              },
              "offers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Offer"
                }
              },
              "performer": {
                "type": "array",
                "items": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MusicGroup"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "x-performanceDate": {
                          "type": "string",
                          "format": "iso-8601",
                          "description": "The date of the performance using ISO 8601 date format [[docs](https://en.wikipedia.org/wiki/ISO_8601)]\n"
                        },
                        "x-performanceRank": {
                          "type": "number",
                          "format": "int32",
                          "require": true,
                          "description": "The \"rank\" for this performance whithin the event"
                        },
                        "x-isHeadliner": {
                          "type": "boolean",
                          "default": false,
                          "require": true,
                          "description": "If this performer is a headliner"
                        },
                        "x-dateIsConfirmed": {
                          "type": "boolean",
                          "default": false,
                          "description": "Required for Festivals.\nIf a Festival performance date is confirmed or not.\\\nIf not, it will appear on the first day of the Festival.\n"
                        }
                      }
                    }
                  ]
                }
              },
              "eventAttendanceMode": {
                "$ref": "#/components/schemas/enumAttendanceMode"
              },
              "isAccessibleForFree": {
                "type": "boolean",
                "default": false
              },
              "x-promoImage": {
                "type": "string",
                "format": "uri",
                "description": "A secondary promotional image for the event (e.g. admat)"
              }
            }
          }
        ]
      },
      "ExternalIdentifier": {
        "title": "ExternalIdentifier",
        "description": "A third-party non-JamBase ID for an artist, venue, or event.",
        "type": "object",
        "properties": {
          "@type": {
            "type": "string",
            "enum": ["ExternalIdentifier"]
          },
          "source": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/enumEventDataSource"
              },
              {
                "$ref": "#/components/schemas/enumArtistDataSource"
              },
              {
                "$ref": "#/components/schemas/enumVenueDataSource"
              }
            ]
          },
          "identifier": {
            "type": "string",
            "description": "The unique identifier of the item from the third-party source."
          }
        },
        "examples": [
          {
            "@type": "ExternalIdentifier",
            "source": "ticketmaster",
            "identifier": "e3asdf3ad"
          },
          {
            "@type": "ExternalIdentifier",
            "source": "axs",
            "identifier": "123423"
          }
        ]
      },
      "Festival": {
        "title": "Festival",
        "description": "A music festival",
        "type": "object",
        "required": [
          "@type",
          "name",
          "identifier",
          "url",
          "eventStatus",
          "startDate",
          "endDate",
          "location",
          "performer",
          "x-lineupDisplayOption"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          },
          {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string",
                "enum": ["Festival"]
              },
              "deletionStatus": {
                "$ref": "#/components/schemas/propDeletionStatus"
              },
              "deletedAt": {
                "$ref": "#/components/schemas/propDeletedAt"
              },
              "mergedInto": {
                "$ref": "#/components/schemas/propMergedInto"
              },
              "x-lineupDisplayOption": {
                "$ref": "#/components/schemas/enumFestivalLineupDisplayOption"
              }
            }
          }
        ]
      },
      "Genre": {
        "title": "Genre",
        "description": "A music genre",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The display name for the genre."
          },
          "identifier": {
            "$ref": "#/components/schemas/enumGenres"
          }
        }
      },
      "GeoCoordinates": {
        "title": "GeoCoordinates",
        "description": "The latitude and longitude for a place",
        "type": "object",
        "properties": {
          "@type": {
            "type": "string",
            "enum": ["GeoCoordinates"]
          },
          "latitude": {
            "$ref": "#/components/schemas/propLatitude"
          },
          "longitude": {
            "$ref": "#/components/schemas/propLongitude"
          }
        }
      },
      "MusicGroup": {
        "title": "MusicGroup",
        "description": "A band or musician",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Thing"
          },
          {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string",
                "enum": ["MusicGroup"]
              },
              "deletionStatus": {
                "$ref": "#/components/schemas/propDeletionStatus"
              },
              "deletedAt": {
                "$ref": "#/components/schemas/propDeletedAt"
              },
              "mergedInto": {
                "$ref": "#/components/schemas/propMergedInto"
              },
              "member": {
                "type": "array",
                "description": "For bands, an array of the band's members",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": ["MusicGroup"]
                    },
                    "name": {
                      "type": "string",
                      "description": "The name of the item"
                    },
                    "identifier": {
                      "type": "string",
                      "example": "jambase:12345",
                      "description": "A unique identifier of the item"
                    },
                    "image": {
                      "type": "string",
                      "format": "uri",
                      "description": "An image of the item"
                    },
                    "url": {
                      "type": "string",
                      "format": "uri",
                      "description": "URL of the item"
                    }
                  }
                }
              },
              "memberOf": {
                "type": "array",
                "description": "For musicians, an array of the band's the musician is a member of",
                "items": {
                  "type": "object",
                  "properties": {
                    "@type": {
                      "type": "string",
                      "enum": ["MusicGroup"]
                    },
                    "name": {
                      "type": "string",
                      "description": "The name of the item"
                    },
                    "identifier": {
                      "type": "string",
                      "example": "jambase:98765",
                      "description": "A unique identifier of the item"
                    },
                    "image": {
                      "type": "string",
                      "format": "uri",
                      "description": "An image of the item"
                    },
                    "url": {
                      "type": "string",
                      "format": "uri",
                      "description": "URL of the item"
                    }
                  }
                }
              },
              "foundingLocation": {
                "type": "object",
                "properties": {
                  "@type": {
                    "type": "string",
                    "enum": ["Place"]
                  },
                  "name": {
                    "type": "string",
                    "example": "Chicago, IL"
                  }
                },
                "description": "The hometown of the artist"
              },
              "foundingDate": {
                "type": "string",
                "format": "iso-8601",
                "example": "1983",
                "description": "The year the artist first performed"
              },
              "genre": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/enumGenres"
                }
              },
              "events": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Concert"
                    },
                    {
                      "$ref": "#/components/schemas/Festival"
                    },
                    {
                      "$ref": "#/components/schemas/Stream"
                    }
                  ]
                },
                "description": "Only available when using `expandUpcomingEvents=true` and/or `expandUpcomingStreams=true` URL param.\n"
              },
              "x-bandOrMusician": {
                "type": "string",
                "enum": ["band", "musician"]
              },
              "x-numUpcomingEvents": {
                "type": "number",
                "format": "int32",
                "example": 12,
                "description": "The number of upcoming events for this artist.\n"
              },
              "x-externalIdentifiers": {
                "type": "array",
                "items": [
                  {
                    "$ref": "#/components/schemas/ExternalIdentifier"
                  }
                ]
              }
            }
          }
        ]
      },
      "MusicVenue": {
        "title": "MusicVenue",
        "description": "A place to Go See Live Music",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Thing"
          },
          {
            "type": "object",
            "properties": {
              "deletionStatus": {
                "$ref": "#/components/schemas/propDeletionStatus"
              },
              "deletedAt": {
                "$ref": "#/components/schemas/propDeletedAt"
              },
              "mergedInto": {
                "$ref": "#/components/schemas/propMergedInto"
              },
              "maximumAttendeeCapacity": {
                "type": "number",
                "format": "int32",
                "example": 20789,
                "description": "The total number of individuals that may attend an event or venue."
              },
              "address": {
                "$ref": "#/components/schemas/PostalAddress"
              },
              "geo": {
                "$ref": "#/components/schemas/GeoCoordinates"
              },
              "events": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Concert"
                    },
                    {
                      "$ref": "#/components/schemas/Festival"
                    }
                  ]
                }
              },
              "x-isPermanentlyClosed": {
                "type": "boolean",
                "default": false,
                "description": "If the venue is permanently closed."
              },
              "x-numUpcomingEvents": {
                "type": "number",
                "format": "int32",
                "example": 12,
                "description": "The number of upcoming events at this venue."
              },
              "x-externalIdentifiers": {
                "type": "array",
                "items": [
                  {
                    "$ref": "#/components/schemas/ExternalIdentifier"
                  }
                ]
              }
            }
          }
        ]
      },
      "Offer": {
        "title": "Offer",
        "description": "Something for sale, typically a concert ticket",
        "type": "object",
        "required": ["identifier", "url", "category", "seller", "validFrom"],
        "allOf": [
          {
            "$ref": "#/components/schemas/Thing"
          },
          {
            "type": "object",
            "properties": {
              "identifier": {
                "type": "string",
                "description": "A unique identifier of the item",
                "example": "jambase:194164"
              },
              "url": {
                "type": "string",
                "format": "uri",
                "description": "URL of the item"
              },
              "category": {
                "type": "string",
                "description": "The category of the Offer, typically used to identify a primary or secondary ticketing link",
                "examples": ["ticketingLinkPrimary", "ticketingLinkSecondary"]
              },
              "priceSpecification": {
                "$ref": "#/components/schemas/PriceSpecification"
              },
              "seller": {
                "$ref": "#/components/schemas/Organization",
                "required": true
              },
              "validFrom": {
                "example": "2022-12-07T12:42:00",
                "schema": {
                  "type": "string",
                  "format": "dateTime"
                }
              }
            }
          }
        ]
      },
      "Organization": {
        "title": "Organization",
        "description": "An organization or business.\\\nTypically a ticket vendor or data source in this API.\\\nThe `identifier` or \"slug\" can also be used as `ticket[vendor][id]` in `/events` and `/livestreams` search endpoints.\n",
        "type": "object",
        "required": [
          "name",
          "identifier",
          "disambiguatingDescription",
          "datePublished",
          "dateModified"
        ],
        "allOf": [
          {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string",
                "enum": ["Organization"]
              },
              "identifier": {
                "type": "string",
                "description": "A unique identifier of the item",
                "example": "ticketmaster"
              },
              "disambiguatingDescription": {
                "type": "string",
                "examples": [
                  "eventTicketVendorPrimary",
                  "eventTicketVendorSecondary",
                  "streamTicketVendorPrimary",
                  "streamDataSource",
                  "eventDataSource",
                  "artistDataSource",
                  "venueDataSource"
                ]
              }
            }
          },
          {
            "$ref": "#/components/schemas/Thing"
          }
        ]
      },
      "Pagination": {
        "title": "Pagination",
        "description": "Enclosure for pagination values.",
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "The current page of results.",
            "example": 1,
            "minimum": 0
          },
          "perPage": {
            "type": "integer",
            "description": "Number of events per page of results.",
            "example": 10,
            "minimum": 1
          },
          "totalItems": {
            "type": "integer",
            "description": "Total results for the request.",
            "example": 50,
            "minimum": 0
          },
          "totalPages": {
            "type": "integer",
            "description": "Total pages for the request.",
            "example": 5,
            "minimum": 0
          },
          "nextPage": {
            "type": "string",
            "format": "url",
            "description": "The absolute URL for the next page of results, if available (e.g. `https://api.data.jambase.com/v3/events?page=2`)."
          },
          "previousPage": {
            "type": "string",
            "format": "url",
            "description": "The absolute URL for the previous page of results, if available (e.g. `https://api.data.jambase.com/v3/events?page=1`)."
          }
        }
      },
      "PriceSpecification": {
        "title": "PriceSpecification",
        "description": "The price or price range for the thing",
        "type": "object",
        "required": ["price", "priceCurrency"],
        "properties": {
          "@type": {
            "type": "string",
            "enum": ["PriceSpecification"]
          },
          "minPrice": {
            "description": "The lowest price if the price is a range",
            "type": "number",
            "format": "decimal",
            "min": 0,
            "example": 15.99
          },
          "maxPrice": {
            "description": "The highest price if the price is a range",
            "type": "number",
            "format": "decimal",
            "min": 0,
            "example": 35.99
          },
          "price": {
            "description": "The singular price if not a range, same as `minPrice` if a range",
            "type": "number",
            "format": "decimal",
            "min": 0,
            "example": 35.99
          },
          "priceCurrency": {
            "type": "string",
            "format": "iso-4217",
            "description": "The currency of the price in ISO 4217 format [[docs](https://en.wikipedia.org/wiki/ISO_4217)]",
            "example": "USD"
          }
        }
      },
      "PostalAddress": {
        "title": "PostalAddress",
        "description": "A postal address, typically for a MusicVenue",
        "type": "object",
        "properties": {
          "@type": {
            "type": "string",
            "enum": ["PostalAddress"]
          },
          "streetAddress": {
            "type": "string",
            "example": "4 Pennsylvania Plaza",
            "description": "The street address"
          },
          "addressLocality": {
            "type": "string",
            "example": "New York",
            "description": "The city/locality in which the place is in"
          },
          "postalCode": {
            "type": "string",
            "example": "10001",
            "description": "The postal code"
          },
          "addressRegion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/State"
              }
            ]
          },
          "addressCountry": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Country"
              }
            ]
          },
          "x-streetAddress2": {
            "type": "string",
            "example": "Second Floor",
            "description": "An optional second line for street address."
          },
          "x-timezone": {
            "type": "string",
            "description": "A \"tz database\" timezone [[see list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)].\n",
            "example": "America/New_York"
          },
          "x-jamBaseMetroId": {
            "type": "number",
            "format": "int32",
            "example": 1,
            "description": "A unique identifier to the JamBase metro."
          },
          "x-jamBaseCityId": {
            "type": "number",
            "format": "int32",
            "example": 4223296,
            "description": "A unique identifier to the JamBase city."
          }
        }
      },
      "Request": {
        "title": "Request",
        "description": "Enclosure for request details.",
        "type": "object",
        "properties": {
          "endpoint": {
            "type": "string",
            "format": "url",
            "description": "The base endpoint requested"
          },
          "method": {
            "type": "string",
            "description": "The request method (e.g. GET, POST)"
          },
          "params": {
            "type": "array",
            "items": {},
            "format": "string",
            "description": "The parameters for the request"
          },
          "ip": {
            "oneOf": [
              {
                "type": "string",
                "format": "ipv4"
              },
              {
                "type": "string",
                "format": "ipv6"
              }
            ],
            "description": "The requesting IP address, IPv4 or IPv6"
          },
          "userAgent": {
            "type": "string",
            "format": "string",
            "description": "The requesting UserAgent"
          }
        }
      },
      "State": {
        "title": "State",
        "description": "A State, Region, or Province.\n\\\nNote 1: Available for United States, Canada, and Australia only.\n\\\nNote 2: The `country` and `x-numUpcomingEvents` nodes are only provided in the Geography lookup endpoints, not as part of `addressRegion` within a Concert, Festival, or Stream.\n",
        "type": "object",
        "x-stoplight": {
          "id": "rbp08k99t5o7m"
        },
        "properties": {
          "@type": {
            "type": "string",
            "enum": ["State"]
          },
          "identifier": {
            "$ref": "#/components/schemas/enumState"
          },
          "name": {
            "type": "string",
            "example": "Arizona",
            "description": "The name of the State"
          },
          "alternateName": {
            "type": "string",
            "example": "AZ",
            "description": "The indentifier without the Country code prefix"
          },
          "country": {
            "$ref": "#/components/schemas/Country",
            "description": "The country in which the state belongs.\n\\\nNote: this is only provided in the Geography lookup endpoints, not as part of a location's `addressCountry` within a Concert, Festival, or Stream.\n"
          },
          "x-numUpcomingEvents": {
            "type": "number",
            "format": "int32",
            "example": 12,
            "description": "The number of upcoming events in this State.\n\\\nNote: this is only provided in the Geography lookup endpoints, not as part of a location within a Concert, Festival, or Stream.\n"
          }
        }
      },
      "Stream": {
        "title": "Stream",
        "description": "A stream",
        "type": "object",
        "required": [
          "@type",
          "name",
          "identifier",
          "url",
          "eventStatus",
          "startDate",
          "location",
          "performer"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/Event"
          },
          {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string",
                "enum": ["Stream"]
              },
              "deletionStatus": {
                "$ref": "#/components/schemas/propDeletionStatus"
              },
              "deletedAt": {
                "$ref": "#/components/schemas/propDeletedAt"
              },
              "mergedInto": {
                "$ref": "#/components/schemas/propMergedInto"
              },
              "isLiveBroadcast": {
                "type": "boolean",
                "description": "True if the broadcast is of a live event"
              },
              "broadcastOfEvent": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Concert"
                    },
                    {
                      "$ref": "#/components/schemas/Festival"
                    }
                  ]
                }
              },
              "x-customTitle": {
                "type": "string",
                "description": "To replace the default `event[name]` property"
              }
            }
          }
        ],
        "x-stoplight": {
          "id": "fijmf4s5a9h9x"
        }
      },
      "Success": {
        "name": "success",
        "description": "A successful response.",
        "type": "boolean",
        "default": true
      },
      "Thing": {
        "title": "Thing",
        "description": "A generic thing",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the item"
          },
          "identifier": {
            "type": "string",
            "example": "jambase:194164",
            "description": "A unique identifier of the item"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "URL of the item"
          },
          "image": {
            "type": "string",
            "format": "uri",
            "description": "An image of the item.\\\n\\\nPlease note that 'image' may not be provided for all Schemas that include `Thing` (e.g. `Organization`)\n"
          },
          "sameAs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/URL"
            },
            "description": "URL of a reference Web page that unambiguously indicates the item's identity"
          },
          "datePublished": {
            "type": "string",
            "format": "iso-8601",
            "example": "2022-12-14T15:35:48Z",
            "description": "The date the Event first appeared in ISO 8601 date format [[docs](https://en.wikipedia.org/wiki/ISO_8601)]\n\\\nPlease note that 'datePublished' may not be provided for all Schemas that include `Thing` (e.g. `Organization`)\n"
          },
          "dateModified": {
            "type": "string",
            "format": "iso-8601",
            "example": "2022-12-14T03:41:20Z",
            "description": "The date the Event was last updated in ISO 8601 date format [[docs](https://en.wikipedia.org/wiki/ISO_8601)]\n\\\nPlease note that 'dateModified' may not be provided for all Schemas that include `Thing` (e.g. `Organization`).\n\\\nIndexing timestamps for Concert / Festival / Stream / MusicGroup / MusicVenue live on `datePublished` and `dateModified`. The sibling `x-createdOnDate` and `x-updatedOnDate` fields are scoped to data-source / `Organization` responses (e.g. ticket vendors, performance-rights organizations) and are not present on Event-derived schemas.\n"
          }
        }
      },
      "URL": {
        "title": "URL",
        "x-stoplight": {
          "id": "ac90d6bc4bf17"
        },
        "description": "A third-party link.",
        "type": "object",
        "properties": {
          "@type": {
            "type": "string",
            "enum": ["URL"]
          },
          "identifier": {
            "$ref": "#/components/schemas/enumUrlType"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "The URL of the external link."
          }
        }
      },
      "propLatitude": {
        "title": "propLatitude",
        "type": "number",
        "format": "float",
        "minimum": -90,
        "maximum": 90,
        "example": 40.7505,
        "description": "The latitude of a location",
        "x-stoplight": {
          "id": "0gf3yu2lypo1r"
        }
      },
      "propLongitude": {
        "title": "propLongitude",
        "type": "number",
        "format": "float",
        "minimum": -180,
        "maximum": 180,
        "example": -73.9934,
        "description": "The longitude of a location",
        "x-stoplight": {
          "id": "udrk05v1mvsv9"
        }
      },
      "propDeletionStatus": {
        "title": "propDeletionStatus",
        "type": "string",
        "enum": ["deleted", "trashed", "merged"],
        "example": "deleted",
        "description": "Present ONLY on tombstone rows returned by delta polls of the core feeds (i.e. requests that include `dateModifiedFrom`). Marks a record that has left the catalog so a long-lived mirror can drop or redirect it:\n- `deleted` — permanently removed.\n- `trashed` — soft-deleted (events only; recoverable upstream). Treat the same as `deleted` in your cache.\n- `merged` — folded into another record; follow `mergedInto`.\n\\\nA tombstone row carries only `@type`, `identifier`, `deletionStatus`, `deletedAt`, `dateModified`, and (when `merged`) `mergedInto` — no other fields. Tombstones count toward `perPage` and `pagination.totalItems` and are appended after the live rows in the merged result sequence. Retention: `deleted` / `trashed` tombstones are emitted for 90 days after `deletedAt`; `merged` tombstones never expire. Queries WITHOUT `dateModifiedFrom` never return tombstones.\n"
      },
      "propDeletedAt": {
        "title": "propDeletedAt",
        "type": "string",
        "format": "iso-8601",
        "example": "2026-04-12T18:01:00Z",
        "description": "The moment the record left the catalog, in ISO 8601. Present only on tombstone rows (see `deletionStatus`). Equals the row's `dateModified` so the same `dateModifiedFrom` watermark that catches updates also catches the removal.\n"
      },
      "propMergedInto": {
        "title": "propMergedInto",
        "type": "string",
        "example": "jambase:5632389",
        "description": "On a `merged` tombstone (see `deletionStatus`), the `identifier` of the surviving record this one was folded into. Repoint cached references from `identifier` to `mergedInto`.\n"
      }
    },
    "responses": {
      "searchEventsResponse": {
        "description": "A list of Events",
        "content": {
          "application/json": {
            "schema": {
              "title": "searchEventsResponseSchema",
              "description": "An array of `Concerts` and `Festivals`.",
              "type": "object",
              "properties": {
                "success": {
                  "$ref": "#/components/schemas/Success"
                },
                "pagination": {
                  "$ref": "#/components/schemas/Pagination"
                },
                "events": {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/Concert"
                      },
                      {
                        "$ref": "#/components/schemas/Festival"
                      }
                    ]
                  }
                },
                "request": {
                  "$ref": "#/components/schemas/Request"
                }
              }
            }
          }
        }
      },
      "getSingleUpcomingEventResponse": {
        "description": "A single Event",
        "content": {
          "application/json": {
            "schema": {
              "title": "getSingleUpcomingEventResponseSchema",
              "description": "A single `Concert` or `Festival`.",
              "type": "object",
              "properties": {
                "success": {
                  "$ref": "#/components/schemas/Success"
                },
                "event": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Concert"
                    },
                    {
                      "$ref": "#/components/schemas/Festival"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "searchUpcomingStreamsResponse": {
        "description": "A list of Streams",
        "content": {
          "application/json": {
            "schema": {
              "title": "searchUpcomingStreamsResponseSchema",
              "description": "An array of `Stream` objects.",
              "type": "object",
              "properties": {
                "success": {
                  "$ref": "#/components/schemas/Success"
                },
                "pagination": {
                  "$ref": "#/components/schemas/Pagination"
                },
                "streams": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Stream"
                  }
                },
                "request": {
                  "$ref": "#/components/schemas/Request"
                }
              }
            }
          }
        }
      },
      "getSingleUpcomingStreamResponse": {
        "description": "A single Stream (`Stream`).",
        "content": {
          "application/json": {
            "schema": {
              "title": "getSingleUpcomingStreamResponseSchema",
              "description": "A single stream response",
              "properties": {
                "success": {
                  "$ref": "#/components/schemas/Success"
                },
                "stream": {
                  "$ref": "#/components/schemas/Stream"
                }
              }
            }
          }
        }
      },
      "searchArtistsResponse": {
        "description": "A list of Artists",
        "content": {
          "application/json": {
            "schema": {
              "title": "searchArtistsResponseSchema",
              "description": "An array of `MusicGroup` objects",
              "type": "object",
              "properties": {
                "success": {
                  "$ref": "#/components/schemas/Success"
                },
                "pagination": {
                  "$ref": "#/components/schemas/Pagination"
                },
                "artists": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MusicGroup"
                  }
                },
                "request": {
                  "$ref": "#/components/schemas/Request"
                }
              }
            }
          }
        }
      },
      "getSingleArtistResponse": {
        "description": "A single Artist",
        "content": {
          "application/json": {
            "schema": {
              "title": "getSingleArtistResponseSchema",
              "description": "A single Artist response",
              "properties": {
                "success": {
                  "$ref": "#/components/schemas/Success"
                },
                "artist": {
                  "$ref": "#/components/schemas/MusicGroup"
                }
              }
            }
          }
        }
      },
      "searchVenuesResponse": {
        "description": "A list of Venues",
        "content": {
          "application/json": {
            "schema": {
              "title": "searchVenuesResponseSchema",
              "description": "An array of `MusicVenue` objects",
              "type": "object",
              "properties": {
                "success": {
                  "$ref": "#/components/schemas/Success"
                },
                "pagination": {
                  "$ref": "#/components/schemas/Pagination"
                },
                "venues": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MusicVenue"
                  }
                },
                "request": {
                  "$ref": "#/components/schemas/Request"
                }
              }
            }
          }
        }
      },
      "getSingleVenueResponse": {
        "description": "A single Venue",
        "content": {
          "application/json": {
            "schema": {
              "title": "getSingleVenueResponseSchema",
              "description": "A single Venue response",
              "properties": {
                "success": {
                  "$ref": "#/components/schemas/Success"
                },
                "venue": {
                  "$ref": "#/components/schemas/MusicVenue"
                }
              }
            }
          }
        }
      },
      "BadRequest": {
        "description": "Invalid input parameter",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "success": {
                  "type": "boolean",
                  "default": false
                },
                "errors": {
                  "$ref": "#/components/schemas/ErrorsList"
                }
              }
            }
          }
        }
      },
      "UnauthorizedError": {
        "description": "API key is missing or invalid",
        "headers": {
          "WWW_Authenticate": {
            "schema": {
              "type": "string"
            }
          }
        }
      }
    }
  },
  "servers": [
    {
      "url": "https://api.data.jambase.com/v3",
      "description": "JamBase Concert Data API"
    }
  ],
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "Events",
      "description": "Search Events"
    },
    {
      "name": "Streams",
      "description": "Search Streams"
    },
    {
      "name": "Artists",
      "description": "Search Artists"
    },
    {
      "name": "Venues",
      "description": "Search Venues"
    },
    {
      "name": "Geographies",
      "description": "Lookup Countries, Cities, Etc"
    },
    {
      "name": "Genres",
      "description": "Lookup Genres"
    },
    {
      "name": "Lookups",
      "description": "Lookup Identifiers"
    },
    {
      "name": "Enums",
      "description": "Enumerators for filters"
    }
  ],
  "paths": {
    "/events": {
      "get": {
        "tags": ["Events"],
        "summary": "Search Events",
        "operationId": "searchEvents",
        "description": "Search events by location, date, artist, genre, and more.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/pageParam"
          },
          {
            "$ref": "#/components/parameters/perPageParam"
          },
          {
            "$ref": "#/components/parameters/eventTypeParam"
          },
          {
            "$ref": "#/components/parameters/eventIdParam"
          },
          {
            "$ref": "#/components/parameters/eventNameParam"
          },
          {
            "$ref": "#/components/parameters/artistIdParam"
          },
          {
            "$ref": "#/components/parameters/artistNameParam"
          },
          {
            "$ref": "#/components/parameters/genreSlugParam"
          },
          {
            "$ref": "#/components/parameters/venueIdParam"
          },
          {
            "$ref": "#/components/parameters/venueNameParam"
          },
          {
            "$ref": "#/components/parameters/geoCityIdParam"
          },
          {
            "$ref": "#/components/parameters/geoCountryIso2Param"
          },
          {
            "$ref": "#/components/parameters/geoCountryIso3Param"
          },
          {
            "$ref": "#/components/parameters/geoIpParam"
          },
          {
            "$ref": "#/components/parameters/geoLatitudeParam"
          },
          {
            "$ref": "#/components/parameters/geoLongitudeParam"
          },
          {
            "$ref": "#/components/parameters/geoMetroIdParam"
          },
          {
            "$ref": "#/components/parameters/geoRadiusAmountParam"
          },
          {
            "$ref": "#/components/parameters/geoRadiusUnitsParam"
          },
          {
            "$ref": "#/components/parameters/geoStateIsoParam"
          },
          {
            "$ref": "#/components/parameters/datePresetParam"
          },
          {
            "$ref": "#/components/parameters/dateFromParam"
          },
          {
            "$ref": "#/components/parameters/dateToParam"
          },
          {
            "in": "query",
            "name": "eventDataSource",
            "description": "The EventDataSource of for the Event.",
            "schema": {
              "$ref": "#/components/schemas/enumEventDataSource"
            }
          },
          {
            "$ref": "#/components/parameters/dateModifiedFromParam"
          },
          {
            "$ref": "#/components/parameters/datePublishedFromParam"
          },
          {
            "$ref": "#/components/parameters/expandExternalIdentifiersParam"
          },
          {
            "$ref": "#/components/parameters/expandArtistSameAsParam"
          },
          {
            "$ref": "#/components/parameters/expandPastEventsParam"
          },
          {
            "$ref": "#/components/parameters/sortEventsParam"
          },
          {
            "$ref": "#/components/parameters/excludeEventPerformersParam"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/searchEventsResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        }
      }
    },
    "/events/id/{eventDataSource}:{eventId}": {
      "get": {
        "tags": ["Events"],
        "summary": "Look up an event by ID",
        "operationId": "getUpcomingEvent",
        "description": "Retrieve a single event by its JamBase ID — or directly by a third-party ID (Ticketmaster, SeatGeek, AXS, and more) with no ID-mapping step.\n",
        "parameters": [
          {
            "in": "path",
            "name": "eventDataSource",
            "description": "The eventDataSource of the ID for the Event.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/enumEventDataSource"
            }
          },
          {
            "in": "path",
            "name": "eventId",
            "description": "The unique ID for the Event.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/expandExternalIdentifiersParam"
          },
          {
            "$ref": "#/components/parameters/expandArtistSameAsParam"
          },
          {
            "$ref": "#/components/parameters/excludeEventPerformersParam"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/getSingleUpcomingEventResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        }
      }
    },
    "/streams": {
      "get": {
        "tags": ["Streams"],
        "summary": "Search Upcoming Streams",
        "operationId": "searchUpcomingStreams",
        "description": "Search upcoming streams by date, artist, genre, and more.\nPast streams are not available via the API.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/pageParam"
          },
          {
            "$ref": "#/components/parameters/perPageParam"
          },
          {
            "$ref": "#/components/parameters/datePresetParam"
          },
          {
            "$ref": "#/components/parameters/dateFromParam"
          },
          {
            "$ref": "#/components/parameters/dateToParam"
          },
          {
            "$ref": "#/components/parameters/streamDataSourceParam"
          },
          {
            "$ref": "#/components/parameters/dateModifiedFromParam"
          },
          {
            "$ref": "#/components/parameters/datePublishedFromParam"
          },
          {
            "$ref": "#/components/parameters/expandExternalIdentifiersParam"
          },
          {
            "$ref": "#/components/parameters/expandArtistSameAsParam"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/searchUpcomingStreamsResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        }
      }
    },
    "/streams/id/{streamDataSource}:{streamId}": {
      "get": {
        "tags": ["Streams"],
        "summary": "Look up a stream by ID",
        "operationId": "getStream",
        "description": "Retrieve a single livestream by its JamBase ID — or directly by a supported third-party ID with no ID-mapping step.\n",
        "parameters": [
          {
            "in": "path",
            "name": "streamDataSource",
            "description": "The StreamDataSource of the ID for the Stream.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/enumStreamDataSource"
            }
          },
          {
            "in": "path",
            "name": "streamId",
            "description": "The unique ID for the Stream.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/expandExternalIdentifiersParam"
          },
          {
            "$ref": "#/components/parameters/expandArtistSameAsParam"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/getSingleUpcomingStreamResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        }
      }
    },
    "/artists": {
      "get": {
        "tags": ["Artists"],
        "summary": "Search Artists",
        "operationId": "searchArtists",
        "description": "Search artists by name and genre. \n<!-- theme: info -->\n> #### Requirement\n> Your request must include at least one of the `artistName` or `genreSlug` parameters.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/pageParam"
          },
          {
            "$ref": "#/components/parameters/perPageParam"
          },
          {
            "$ref": "#/components/parameters/artistIdParam"
          },
          {
            "$ref": "#/components/parameters/artistNameParam"
          },
          {
            "$ref": "#/components/parameters/genreSlugParam"
          },
          {
            "in": "query",
            "name": "artistHasUpcomingEvents",
            "description": "Set to true to only return artists that have at least one upcoming Concert or Festival",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "$ref": "#/components/parameters/dateModifiedFromParam"
          },
          {
            "$ref": "#/components/parameters/datePublishedFromParam"
          },
          {
            "$ref": "#/components/parameters/expandExternalIdentifiersParam"
          },
          {
            "$ref": "#/components/parameters/expandArtistSameAsParam"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/searchArtistsResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        }
      }
    },
    "/artists/id/{artistDataSource}:{artistId}": {
      "get": {
        "tags": ["Artists"],
        "summary": "Look up an artist by ID",
        "operationId": "getSingleArtist",
        "description": "Retrieve a single artist by JamBase ID — or directly by a third-party ID (MusicBrainz, Spotify, Ticketmaster, and more) with no ID-mapping step.\n",
        "parameters": [
          {
            "in": "path",
            "name": "artistDataSource",
            "description": "the ArtistDataSource of the ID for the artist",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/enumArtistDataSource"
            }
          },
          {
            "in": "path",
            "name": "artistId",
            "description": "the unique ID for the artist",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "expandUpcomingEvents",
            "description": "Use `true` to include the `event` node with any upcoming events for the artist.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "in": "query",
            "name": "expandUpcomingStreams",
            "description": "Use `true` to include the `event` node with any upcoming Streams for the venue.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "$ref": "#/components/parameters/excludeEventPerformersParam"
          },
          {
            "$ref": "#/components/parameters/expandExternalIdentifiersParam"
          },
          {
            "$ref": "#/components/parameters/expandArtistSameAsParam"
          },
          {
            "$ref": "#/components/parameters/expandPastEventsParam"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/getSingleArtistResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        }
      }
    },
    "/venues": {
      "get": {
        "tags": ["Venues"],
        "summary": "Search Venues",
        "operationId": "searchVenues",
        "description": "Search venues by id, location, and more.\n\n<!-- theme: info  -->\n> #### Requirement\n>\n> Your request must include the `venueId` or `venueName` or at least one of the geo parameters such as `geoCityId`, `geoCountryIso2`, `geoCountryIso3`, `geoIp`, `geoMetroId`, `geoStateIso`, or , `geoLatitude` and `geoLongitude`.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/pageParam"
          },
          {
            "$ref": "#/components/parameters/perPageParam"
          },
          {
            "$ref": "#/components/parameters/venueIdParam"
          },
          {
            "$ref": "#/components/parameters/venueNameParam"
          },
          {
            "$ref": "#/components/parameters/geoCityIdParam"
          },
          {
            "$ref": "#/components/parameters/geoCityNameParam"
          },
          {
            "$ref": "#/components/parameters/geoCountryIso2Param"
          },
          {
            "$ref": "#/components/parameters/geoCountryIso3Param"
          },
          {
            "$ref": "#/components/parameters/geoIpParam"
          },
          {
            "$ref": "#/components/parameters/geoLatitudeParam"
          },
          {
            "$ref": "#/components/parameters/geoLongitudeParam"
          },
          {
            "$ref": "#/components/parameters/geoMetroIdParam"
          },
          {
            "$ref": "#/components/parameters/geoRadiusAmountParam"
          },
          {
            "$ref": "#/components/parameters/geoRadiusUnitsParam"
          },
          {
            "$ref": "#/components/parameters/geoStateIsoParam"
          },
          {
            "$ref": "#/components/parameters/dateModifiedFromParam"
          },
          {
            "$ref": "#/components/parameters/datePublishedFromParam"
          },
          {
            "in": "query",
            "name": "venueHasUpcomingEvents",
            "description": "Set to true to only return venues that have at least one upcoming event",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "$ref": "#/components/parameters/expandExternalIdentifiersParam"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/searchVenuesResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        }
      }
    },
    "/venues/id/{venueDataSource}:{venueId}": {
      "get": {
        "tags": ["Venues"],
        "summary": "Look up a venue by ID",
        "operationId": "getSingleVenue",
        "description": "Retrieve a single venue by JamBase ID — or directly by a third-party ID (Ticketmaster, SeatGeek, and more) with no ID-mapping step.\n",
        "parameters": [
          {
            "in": "path",
            "name": "venueDataSource",
            "description": "the VenueDataSource of the ID for the artist",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/enumVenueDataSource"
            }
          },
          {
            "in": "path",
            "name": "venueId",
            "description": "the unique ID for the Venue",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "expandUpcomingEvents",
            "description": "Use `true` to include the `event` node with any upcoming Concerts and Festivals for the venue.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "$ref": "#/components/parameters/excludeEventPerformersParam"
          },
          {
            "$ref": "#/components/parameters/expandExternalIdentifiersParam"
          },
          {
            "$ref": "#/components/parameters/expandArtistSameAsParam"
          },
          {
            "$ref": "#/components/parameters/expandPastEventsParam"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/getSingleVenueResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        }
      }
    },
    "/geographies/cities": {
      "get": {
        "tags": ["Geographies"],
        "summary": "Search Cities",
        "operationId": "searchCities",
        "description": "Search for cities. Results will be returned in order of most to least upcoming events in the city, and then alphabetically city name in the case of a tie.\n\n<!-- theme: info  -->\n> #### Requirement\n> Your request must include at least one of the geo parameters such as `geoCityName`, `geoCountryIso2`, `geoCountryIso3`, `geoIp`, `geoMetroId`, `geoStateIso`, or `geoLatitude` and `geoLongitude`.\n\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/pageParam"
          },
          {
            "$ref": "#/components/parameters/perPageParam"
          },
          {
            "$ref": "#/components/parameters/geoCityNameParam"
          },
          {
            "$ref": "#/components/parameters/geoCountryIso2Param"
          },
          {
            "$ref": "#/components/parameters/geoCountryIso3Param"
          },
          {
            "$ref": "#/components/parameters/geoIpParam"
          },
          {
            "$ref": "#/components/parameters/geoLatitudeParam"
          },
          {
            "$ref": "#/components/parameters/geoLongitudeParam"
          },
          {
            "$ref": "#/components/parameters/geoMetroIdParam"
          },
          {
            "$ref": "#/components/parameters/geoRadiusAmountParam"
          },
          {
            "$ref": "#/components/parameters/geoRadiusUnitsParam"
          },
          {
            "$ref": "#/components/parameters/geoStateIsoParam"
          },
          {
            "schema": {
              "type": "boolean"
            },
            "in": "query",
            "name": "cityHasUpcomingEvents",
            "description": "Only include Cities with / without upcoming events. Omit for both."
          }
        ],
        "responses": {
          "200": {
            "description": "A list of Cities",
            "content": {
              "application/json": {
                "schema": {
                  "title": "searchCitiesResponseSchema",
                  "description": "An array of `City` objects",
                  "type": "object",
                  "properties": {
                    "success": {
                      "$ref": "#/components/schemas/Success"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "cities": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/City"
                      }
                    },
                    "request": {
                      "$ref": "#/components/schemas/Request"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        }
      }
    },
    "/geographies/metros": {
      "get": {
        "tags": ["Geographies"],
        "summary": "Get Metros",
        "operationId": "getMetros",
        "description": "A Metro is a group of Cities, such as the Los Angeles area which includes LA, Hollywood, Anaheim, and more that can be used to filter Events.\\\n\\\nReturns all Metros in Alphabetical order by identifier.\n",
        "responses": {
          "200": {
            "description": "A list of Metros",
            "content": {
              "application/json": {
                "schema": {
                  "description": "An array of `Metro` objects with member `City` objects",
                  "type": "object",
                  "properties": {
                    "success": {
                      "$ref": "#/components/schemas/Success"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination",
                      "x-stoplight": {
                        "id": "w8jf412psm43g"
                      }
                    },
                    "metros": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AdministrativeArea"
                      }
                    },
                    "request": {
                      "$ref": "#/components/schemas/Request"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "403": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        },
        "parameters": [
          {
            "in": "query",
            "name": "metroHasUpcomingEvents",
            "description": "Only include Metros with / without upcoming events. Omit for both.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "cityHasUpcomingEvents",
            "description": "Only include Cities with / without upcoming events. Omit for both.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "expandMetroCities",
            "description": "Use `true` to include the `containsPlace` node with the cities for each metro.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ]
      }
    },
    "/geographies/states": {
      "get": {
        "tags": ["Geographies"],
        "summary": "Get States / Regions / Provinces",
        "operationId": "getStates",
        "description": "A States (or Region / Province) is a group of Cities, such as California (USA) or Quebec (Canada) that can be used to filter Events.\\\n\\\nReturns all States/Regions in Alphabetical order by identifier.\n\\\nNote: Available for United States, Canada, and Australia only.\n",
        "responses": {
          "200": {
            "description": "A list of States",
            "content": {
              "application/json": {
                "schema": {
                  "title": "getStatesResponseSchema",
                  "description": "An array of `States` objects",
                  "type": "object",
                  "properties": {
                    "success": {
                      "$ref": "#/components/schemas/Success"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination",
                      "x-stoplight": {
                        "id": "pwzyvj1odd8es"
                      }
                    },
                    "states": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/State"
                      }
                    },
                    "request": {
                      "$ref": "#/components/schemas/Request"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "403": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "boolean"
            },
            "in": "query",
            "name": "stateHasUpcomingEvents",
            "description": "Only include States with / without upcoming events. Omit for both."
          },
          {
            "$ref": "#/components/parameters/geoCountryIso2Param"
          },
          {
            "$ref": "#/components/parameters/geoCountryIso3Param"
          }
        ]
      }
    },
    "/geographies/countries": {
      "get": {
        "tags": ["Geographies"],
        "summary": "Get Countries",
        "operationId": "getCountries",
        "description": "Returns all Countries in alphabetical order by ISO2.\n",
        "responses": {
          "200": {
            "description": "A list of Countries",
            "content": {
              "application/json": {
                "schema": {
                  "description": "An array of `Country` objects",
                  "type": "object",
                  "properties": {
                    "success": {
                      "$ref": "#/components/schemas/Success"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination",
                      "x-stoplight": {
                        "id": "nkhefgyd1zwbq"
                      }
                    },
                    "countries": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Country"
                      }
                    },
                    "request": {
                      "$ref": "#/components/schemas/Request"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "403": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "boolean"
            },
            "in": "query",
            "name": "countryHasUpcomingEvents",
            "description": "Only include Countries with / without upcoming events. Omit for both."
          }
        ]
      }
    },
    "/lookups/event-data-sources": {
      "get": {
        "tags": ["Lookups"],
        "summary": "Get Event Data Sources",
        "operationId": "getEventDataSources",
        "description": "These can be used to filter events by Event IDs from third-party Data Sources.\\\n\\\nReturns all Event Data Sources in Alphabetical order.\n",
        "responses": {
          "200": {
            "description": "A list of Event Data Sources",
            "content": {
              "application/json": {
                "schema": {
                  "description": "An array of `DataSource` objects representing Event Data Sources\\\n\\\nResults are sorted alphabed\n",
                  "type": "object",
                  "properties": {
                    "success": {
                      "$ref": "#/components/schemas/Success"
                    },
                    "dataSources": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Organization"
                      }
                    }
                  },
                  "examples": [
                    {
                      "success": true,
                      "pagination": {
                        "page": 1,
                        "perPage": -1,
                        "totalItems": 10,
                        "totalPages": 1
                      },
                      "dataSources": [
                        {
                          "@type": "Organization",
                          "name": "AXS",
                          "identifier": "axs",
                          "disambiguatingDescription": "eventDataSource"
                        },
                        {
                          "@type": "Organization",
                          "name": "DICE",
                          "identifier": "dice",
                          "disambiguatingDescription": "eventDataSource"
                        },
                        {
                          "@type": "Organization",
                          "name": "Etix",
                          "identifier": "etix",
                          "disambiguatingDescription": "eventDataSource"
                        },
                        {
                          "@type": "Organization",
                          "name": "Eventbrite",
                          "identifier": "eventbrite",
                          "disambiguatingDescription": "eventDataSource"
                        },
                        {
                          "@type": "Organization",
                          "name": "Eventim DE",
                          "identifier": "eventim-de",
                          "disambiguatingDescription": "eventDataSource"
                        },
                        {
                          "@type": "Organization",
                          "name": "JamBase",
                          "identifier": "jambase",
                          "disambiguatingDescription": "eventDataSource"
                        },
                        {
                          "@type": "Organization",
                          "name": "Seated",
                          "identifier": "seated",
                          "disambiguatingDescription": "eventDataSource"
                        },
                        {
                          "@type": "Organization",
                          "name": "SeatGeek",
                          "identifier": "seatgeek",
                          "disambiguatingDescription": "eventDataSource"
                        },
                        {
                          "@type": "Organization",
                          "name": "See Tickets",
                          "identifier": "see-tickets",
                          "disambiguatingDescription": "eventDataSource"
                        },
                        {
                          "@type": "Organization",
                          "name": "See Tickets UK",
                          "identifier": "see-tickets-uk",
                          "disambiguatingDescription": "eventDataSource"
                        },
                        {
                          "@type": "Organization",
                          "name": "Sofar Sounds",
                          "identifier": "sofar-sounds",
                          "disambiguatingDescription": "eventDataSource"
                        },
                        {
                          "@type": "Organization",
                          "name": "SuiteHop",
                          "identifier": "suitehop",
                          "disambiguatingDescription": "eventDataSource"
                        },
                        {
                          "@type": "Organization",
                          "name": "Ticketmaster",
                          "identifier": "ticketmaster",
                          "disambiguatingDescription": "eventDataSource"
                        },
                        {
                          "@type": "Organization",
                          "name": "Tixr",
                          "identifier": "tixr",
                          "disambiguatingDescription": "eventDataSource"
                        },
                        {
                          "@type": "Organization",
                          "name": "Viagogo",
                          "identifier": "viagogo",
                          "disambiguatingDescription": "eventDataSource"
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "x-internal": true
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        }
      }
    },
    "/lookups/stream-data-sources": {
      "get": {
        "tags": ["Lookups"],
        "summary": "Get Stream Data Sources",
        "operationId": "getstreamDataSources",
        "description": "These can be used to filter Streams from a specific Streaming platform.\\\n\\\nReturns all Stream Data Sources in Alphabetical order.\n",
        "responses": {
          "200": {
            "description": "A list of Stream Ticket Vendors",
            "content": {
              "application/json": {
                "schema": {
                  "description": "An array of `Organization` objects representing Stream Ticket Vendors\\\n\\\nResults are sorted alphabetically by identifier\n",
                  "type": "object",
                  "properties": {
                    "success": {
                      "$ref": "#/components/schemas/Success"
                    },
                    "ticketVendors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Organization"
                      }
                    }
                  },
                  "examples": [
                    {
                      "success": true,
                      "pagination": {
                        "page": 1,
                        "perPage": -1,
                        "totalItems": 10,
                        "totalPages": 1
                      },
                      "ticketVendors": [
                        {
                          "name": "LivePhish",
                          "identifier": "livephish.com",
                          "@type": "Organization",
                          "disambiguatingDescription": "eventTicketVendorPrimary",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Mandolin",
                          "identifier": "mandolin.com",
                          "@type": "Organization",
                          "disambiguatingDescription": "eventDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "x-internal": true
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        }
      }
    },
    "/lookups/artist-data-sources": {
      "get": {
        "tags": ["Lookups"],
        "summary": "Get Artist Data Sources",
        "operationId": "getArtistDataSources",
        "description": "These can be used to filter events by Artist IDs from third-party Data Sources.\\\n\\\nReturns all Artist Data Sources in Alphabetical order.\n",
        "responses": {
          "200": {
            "description": "A list of Artist Data Sources",
            "content": {
              "application/json": {
                "schema": {
                  "description": "An array of `DataSource` objects representing Artist Data Sources\\\n\\\nResults are sorted alphabed\n",
                  "type": "object",
                  "properties": {
                    "success": {
                      "$ref": "#/components/schemas/Success"
                    },
                    "dataSources": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Organization"
                      }
                    }
                  },
                  "examples": [
                    {
                      "success": true,
                      "pagination": {
                        "page": 1,
                        "perPage": -1,
                        "totalItems": 12,
                        "totalPages": 1
                      },
                      "dataSources": [
                        {
                          "name": "AXS",
                          "identifier": "axs",
                          "@type": "Organization",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "DICE",
                          "identifier": "dice",
                          "@type": "Organization",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Etix",
                          "identifier": "etix",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Eventbrite",
                          "identifier": "eventbrite",
                          "@type": "Organization",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Eventim DE",
                          "identifier": "eventim-de",
                          "@type": "Organization",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "JamBase",
                          "identifier": "jambase",
                          "disambiguatingDescription": "eventDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Musicbrainz",
                          "identifier": "musicbrainz",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Seated",
                          "identifier": "seated",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "SeatGeek",
                          "identifier": "seatgeek",
                          "@type": "Organization",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "See Tickets",
                          "identifier": "see-tickets",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "See Tickets UK",
                          "identifier": "see-tickets-uk",
                          "@type": "Organization",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Sofar Sounds",
                          "identifier": "sofar-sounds",
                          "@type": "Organization",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Spotify",
                          "identifier": "spotify",
                          "@type": "Organization",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "SuiteHop",
                          "identifier": "suitehop",
                          "@type": "Organization",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Ticketmaster",
                          "identifier": "ticketmaster",
                          "@type": "Organization",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Tixr",
                          "identifier": "tixr",
                          "@type": "Organization",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Viagogo",
                          "identifier": "viagogo",
                          "@type": "Organization",
                          "disambiguatingDescription": "artistDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "x-internal": true
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        }
      }
    },
    "/lookups/venue-data-sources": {
      "get": {
        "tags": ["Lookups"],
        "summary": "Get Venue Data Sources",
        "operationId": "getVenueDataSources",
        "description": "These can be used to filter events by Venue IDs from third-party Data Sources.\\\n\\\nThis endpoint returns all Venue Data Sources in Alphabetical order.\n",
        "responses": {
          "200": {
            "description": "A list of Venue Data Sources",
            "content": {
              "application/json": {
                "schema": {
                  "description": "An array of `DataSource` objects representing Venue Data Sources\\\n\\\nResults are sorted alphabed\n",
                  "type": "object",
                  "properties": {
                    "success": {
                      "$ref": "#/components/schemas/Success"
                    },
                    "dataSources": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Organization"
                      }
                    }
                  },
                  "examples": [
                    {
                      "success": true,
                      "pagination": {
                        "page": 1,
                        "perPage": -1,
                        "totalItems": 10,
                        "totalPages": 1
                      },
                      "dataSources": [
                        {
                          "name": "AXS",
                          "identifier": "axs",
                          "@type": "Organization",
                          "disambiguatingDescription": "venueDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "DICE",
                          "identifier": "dice",
                          "@type": "Organization",
                          "disambiguatingDescription": "venueDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Etix",
                          "identifier": "etix",
                          "disambiguatingDescription": "venueDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Eventbrite",
                          "identifier": "eventbrite",
                          "disambiguatingDescription": "venueDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Eventim DE",
                          "identifier": "eventim-de",
                          "disambiguatingDescription": "venueDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "JamBase",
                          "identifier": "jambase",
                          "disambiguatingDescription": "eventDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Seated",
                          "identifier": "seated",
                          "disambiguatingDescription": "venueDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "SeatGeek",
                          "identifier": "seatgeek",
                          "@type": "Organization",
                          "disambiguatingDescription": "venueDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "See Tickets",
                          "identifier": "see-tickets",
                          "@type": "Organization",
                          "disambiguatingDescription": "venueDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "See Tickets UK",
                          "identifier": "see-tickets-uk",
                          "@type": "Organization",
                          "disambiguatingDescription": "venueDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Sofar Sounds",
                          "identifier": "sofar-sounds",
                          "@type": "Organization",
                          "disambiguatingDescription": "venueDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "SuiteHop",
                          "identifier": "suitehop",
                          "@type": "Organization",
                          "disambiguatingDescription": "venueDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Ticketmaster",
                          "identifier": "ticketmaster",
                          "@type": "Organization",
                          "disambiguatingDescription": "venueDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Tixr",
                          "identifier": "tixr",
                          "@type": "Organization",
                          "disambiguatingDescription": "venueDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        },
                        {
                          "name": "Viagogo",
                          "identifier": "viagogo",
                          "@type": "Organization",
                          "disambiguatingDescription": "venueDataSource",
                          "x-createdOnDate": "2022-12-14T03:41:20+00:00",
                          "x-updatedOnDate": "2022-12-14T03:41:20+00:00"
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "x-internal": true
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        }
      }
    },
    "/genres": {
      "get": {
        "tags": ["Genres"],
        "summary": "Get Genres",
        "operationId": "getGenres",
        "description": "These can be used to filter Artists and Events.\\\n\\\nReturns all Genres in Alphabetical order.\n",
        "responses": {
          "200": {
            "description": "A list of Genres",
            "content": {
              "application/json": {
                "schema": {
                  "description": "An array of Genres\n\\\nResults are sorted alphabetically by name\n",
                  "type": "object",
                  "properties": {
                    "success": {
                      "$ref": "#/components/schemas/Success"
                    },
                    "genres": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Genre"
                      }
                    }
                  },
                  "examples": [
                    {
                      "success": true,
                      "pagination": {
                        "page": 1,
                        "perPage": -1,
                        "totalItems": 20,
                        "totalPages": 1
                      },
                      "genres": [
                        {
                          "identifier": "bluegrass",
                          "name": "Bluegrass"
                        },
                        {
                          "identifier": "blues",
                          "name": "Blues"
                        },
                        {
                          "identifier": "christian",
                          "name": "Christian"
                        },
                        {
                          "identifier": "classical",
                          "name": "Classical"
                        },
                        {
                          "identifier": "country-music",
                          "name": "Country Music"
                        },
                        {
                          "identifier": "edm",
                          "name": "EDM"
                        },
                        {
                          "identifier": "folk",
                          "name": "Folk"
                        },
                        {
                          "identifier": "hip-hop-rap",
                          "name": "Hip Hop & Rap"
                        },
                        {
                          "identifier": "indie",
                          "name": "Indie"
                        },
                        {
                          "identifier": "jamband",
                          "name": "Jamband"
                        },
                        {
                          "identifier": "jazz",
                          "name": "Jazz"
                        },
                        {
                          "identifier": "kpop",
                          "name": "K-pop"
                        },
                        {
                          "identifier": "latin",
                          "name": "Latin"
                        },
                        {
                          "identifier": "metal",
                          "name": "Metal"
                        },
                        {
                          "identifier": "pop",
                          "name": "Pop"
                        },
                        {
                          "identifier": "punk",
                          "name": "Punk"
                        },
                        {
                          "identifier": "reggae",
                          "name": "Reggae"
                        },
                        {
                          "identifier": "rhythm-and-blues-soul",
                          "name": "Rhythm & Blues / Soul"
                        },
                        {
                          "identifier": "rock",
                          "name": "Rock"
                        },
                        {
                          "identifier": "tribute",
                          "name": "Tribute"
                        }
                      ],
                      "request": {
                        "endpoint": "https://api.data.jambase.com/v3/genres",
                        "method": "GET",
                        "params": {}
                      }
                    }
                  ]
                }
              }
            },
            "x-internal": true
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          }
        }
      }
    },
    "/festivals": {
      "get": {
        "tags": ["FestivalSeries"],
        "summary": "Search Festival Series",
        "operationId": "searchFestivalSeries",
        "x-internal": true,
        "description": "Search festival series (e.g. Outside Lands - the parent that ties every edition of a festival together) by name. Each hit includes the stable series id used by the detail and archive endpoints, plus edition count and most recent edition year/city.\n\nNote: `GET /v3/festivals` without `name`/`festivalSeriesName` is the festival events feed (geo/date filters, etc.); providing a series name switches to series search.\n",
        "parameters": [
          {
            "in": "query",
            "name": "name",
            "description": "Festival series name to search for (min 2 characters).\n- name=Outside Lands\n",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "festivalSeriesName",
            "description": "Alias of `name`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "perPage",
            "description": "Results per page (1-50, default 20).",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page",
            "description": "Page of results.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Matching festival series",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "festivalSeries": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "@type": {
                            "type": "string",
                            "example": "FestivalSeries"
                          },
                          "identifier": {
                            "type": "string",
                            "example": "jambase:13969984"
                          },
                          "name": {
                            "type": "string",
                            "example": "Outside Lands"
                          },
                          "url": {
                            "type": "string",
                            "format": "url",
                            "description": "JamBase page for the series."
                          },
                          "image": {
                            "type": "string",
                            "format": "url"
                          },
                          "x-editionCount": {
                            "type": "integer"
                          },
                          "x-latestYear": {
                            "type": "integer"
                          },
                          "x-latestCity": {
                            "type": "string"
                          },
                          "x-apiUrl": {
                            "type": "string",
                            "example": "/v3/festivals/13969984"
                          }
                        }
                      }
                    },
                    "request": {
                      "$ref": "#/components/schemas/Request"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/festivals/{festivalSeriesId}": {
      "get": {
        "tags": ["FestivalSeries"],
        "summary": "Get Festival Series",
        "operationId": "getFestivalSeries",
        "x-internal": true,
        "description": "Festival series detail plus its editions timeline as slim event stubs (event id, year, dates, venue, headliners). Historical editions require festival archive history access on your plan (implied by `allow_past_events`); non-entitled keys see upcoming editions plus a `historyLocked` notice.\n",
        "parameters": [
          {
            "in": "path",
            "name": "festivalSeriesId",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^(jambase:)?[0-9]+$",
              "example": "13969984"
            },
            "description": "Stable festival series id from the search endpoint (`GET /v3/festivals?name=`). The bare numeric form (e.g. `13969984`) is canonical; the `jambase:`-prefixed identifier form returned in response bodies (e.g. `jambase:13969984`) is also accepted."
          }
        ],
        "responses": {
          "200": {
            "description": "Festival series detail with edition stubs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "festivalSeries": {
                      "type": "object",
                      "properties": {
                        "@type": {
                          "type": "string",
                          "example": "FestivalSeries"
                        },
                        "identifier": {
                          "type": "string",
                          "example": "jambase:13969984"
                        },
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "url"
                        },
                        "image": {
                          "type": "string",
                          "format": "url"
                        },
                        "x-officialSite": {
                          "type": "string",
                          "format": "url"
                        },
                        "x-editionCount": {
                          "type": "integer"
                        },
                        "x-firstYear": {
                          "type": "integer"
                        },
                        "x-latestYear": {
                          "type": "integer"
                        },
                        "x-nextEditionDate": {
                          "type": "string",
                          "format": "date"
                        },
                        "x-distinctArtists": {
                          "type": "integer"
                        },
                        "location": {
                          "type": "object",
                          "properties": {
                            "@type": {
                              "type": "string",
                              "example": "Place"
                            },
                            "address": {
                              "type": "object",
                              "properties": {
                                "@type": {
                                  "type": "string",
                                  "example": "PostalAddress"
                                },
                                "addressLocality": {
                                  "type": "string"
                                },
                                "addressRegion": {
                                  "type": "string"
                                },
                                "addressCountry": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        },
                        "x-archiveUrl": {
                          "type": "string",
                          "example": "/v3/festivals/13969984/events"
                        }
                      }
                    },
                    "events": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "description": "Slim edition stub; the archive endpoint serves the full events.",
                        "properties": {
                          "@type": {
                            "type": "string",
                            "example": "Festival"
                          },
                          "identifier": {
                            "type": "string",
                            "example": "jambase:15738826"
                          },
                          "name": {
                            "type": "string",
                            "example": "Outside Lands 2026"
                          },
                          "startDate": {
                            "type": "string",
                            "format": "date"
                          },
                          "location": {
                            "type": "object",
                            "properties": {
                              "@type": {
                                "type": "string",
                                "example": "MusicVenue"
                              },
                              "name": {
                                "type": "string"
                              },
                              "address": {
                                "type": "object",
                                "properties": {
                                  "@type": {
                                    "type": "string",
                                    "example": "PostalAddress"
                                  },
                                  "addressLocality": {
                                    "type": "string"
                                  },
                                  "addressRegion": {
                                    "type": "string"
                                  },
                                  "addressCountry": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "x-isUpcoming": {
                            "type": "boolean"
                          },
                          "x-lineupCount": {
                            "type": "integer"
                          },
                          "x-headliners": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "historyLocked": {
                      "type": "boolean"
                    },
                    "historyInfo": {
                      "type": "string"
                    },
                    "request": {
                      "$ref": "#/components/schemas/Request"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/festivals/{festivalSeriesId}/events": {
      "get": {
        "tags": ["FestivalSeries"],
        "summary": "Get Festival Series Archive",
        "operationId": "getFestivalSeriesEvents",
        "x-internal": true,
        "description": "The full archive: every edition as a core-spec `Festival` event with a flat `performer` array carrying `x-performanceDate` / `x-performanceRank` / `x-isHeadliner` per artist (billing rank resets per day), plus per-artist JamBase id, genres and image URL. `expandExternalIdentifiers=true` adds MusicBrainz + Spotify ids per performer. Series context rides once at the top level as `x-festivalSeries`. Requires festival archive history access on your plan (implied by `allow_past_events`).\n",
        "parameters": [
          {
            "in": "path",
            "name": "festivalSeriesId",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^(jambase:)?[0-9]+$",
              "example": "13969984"
            },
            "description": "Stable festival series id from the search endpoint (`GET /v3/festivals?name=`). The bare numeric form (e.g. `13969984`) is canonical; the `jambase:`-prefixed identifier form returned in response bodies (e.g. `jambase:13969984`) is also accepted."
          },
          {
            "in": "query",
            "name": "expandExternalIdentifiers",
            "description": "Include MusicBrainz + Spotify ids per performer.\n- expandExternalIdentifiers=true\n",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "perPage",
            "description": "Editions per page (1-100, default 50).",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page",
            "description": "Page of results.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Full edition-by-edition archive as events",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "x-festivalSeries": {
                      "type": "object",
                      "properties": {
                        "@type": {
                          "type": "string",
                          "example": "FestivalSeries"
                        },
                        "identifier": {
                          "type": "string",
                          "example": "jambase:13969984"
                        },
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string",
                          "format": "url"
                        },
                        "image": {
                          "type": "string",
                          "format": "url"
                        }
                      }
                    },
                    "events": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "description": "A festival edition as a core-spec event.",
                        "properties": {
                          "@type": {
                            "type": "string",
                            "example": "Festival"
                          },
                          "identifier": {
                            "type": "string",
                            "example": "jambase:15738826"
                          },
                          "name": {
                            "type": "string",
                            "example": "Outside Lands 2026"
                          },
                          "startDate": {
                            "type": "string",
                            "format": "date"
                          },
                          "endDate": {
                            "type": "string",
                            "format": "date"
                          },
                          "eventStatus": {
                            "type": "string",
                            "example": "scheduled"
                          },
                          "location": {
                            "type": "object",
                            "properties": {
                              "@type": {
                                "type": "string",
                                "example": "MusicVenue"
                              },
                              "name": {
                                "type": "string"
                              },
                              "address": {
                                "type": "object",
                                "properties": {
                                  "@type": {
                                    "type": "string",
                                    "example": "PostalAddress"
                                  },
                                  "addressLocality": {
                                    "type": "string"
                                  },
                                  "addressRegion": {
                                    "type": "string"
                                  },
                                  "addressCountry": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "x-isUpcoming": {
                            "type": "boolean"
                          },
                          "x-performerCount": {
                            "type": "integer"
                          },
                          "performer": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "@type": {
                                  "type": "string",
                                  "example": "MusicGroup"
                                },
                                "name": {
                                  "type": "string"
                                },
                                "identifier": {
                                  "type": "string",
                                  "example": "jambase:52143"
                                },
                                "image": {
                                  "type": "string",
                                  "format": "url"
                                },
                                "genre": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "x-performanceDate": {
                                  "type": "string",
                                  "format": "date",
                                  "description": "Performance day; billing rank resets per day."
                                },
                                "x-performanceRank": {
                                  "type": "integer",
                                  "description": "Billing rank within the performance day (1 = top of the bill)."
                                },
                                "x-isHeadliner": {
                                  "type": "boolean"
                                },
                                "x-externalIdentifiers": {
                                  "type": "array",
                                  "description": "Present when `expandExternalIdentifiers=true`.",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "source": {
                                        "type": "string",
                                        "example": "musicbrainz"
                                      },
                                      "identifier": {
                                        "type": "array",
                                        "items": {
                                          "type": "string"
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "request": {
                      "$ref": "#/components/schemas/Request"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Caller lacks festival archive history access"
          }
        }
      }
    }
  }
}
