{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://data.jambase.com/json-schema/jambase-schemas.json", "title": "JamBase Concert Data API Schemas", "description": "JSON Schema definitions for the JamBase Concert Data API", "$defs": { "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` \u2014 permanently removed.\n- `trashed` \u2014 soft-deleted (events only; recoverable upstream). Treat the same as `deleted` in your cache.\n- `merged` \u2014 folded into another record; follow `mergedInto`.\n\\\nA tombstone row carries only `@type`, `identifier`, `deletionStatus`, `deletedAt`, `dateModified`, and (when `merged`) `mergedInto` \u2014 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" } } }