@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api setlist.fm API
@version 1.0
@auth ApiKey (inferred from docs)
@endpoints 15
@toc 1.0(15)

@endpoint GET /1.0/artist/{mbid}
@desc .
@required {mbid: any # a Musicbrainz MBID, e.g. 0bfba3d3-6a04-4779-bb0a-df07df5b0558}
@returns(200) Success

@endpoint GET /1.0/artist/{mbid}/setlists
@desc .
@required {mbid: any # the Musicbrainz MBID of the artist}
@optional {p: any # the number of the result page}
@returns(200) Success

@endpoint GET /1.0/city/{geoId}
@desc Get a city by its unique geoId.
@required {geoId: any # the city's geoId}
@returns(200) Success

@endpoint GET /1.0/search/artists
@desc Search for artists.
@optional {artistMbid: any # the artist's Musicbrainz Identifier (mbid), artistName: any # the artist's name, artistTmid: any # the artist's Ticketmaster Identifier (tmid) (deprecated), p: any # the number of the result page you'd like to have, sort: any # the sort of the result, either sortName (default) or relevance}
@returns(200) Success

@endpoint GET /1.0/search/cities
@desc Search for a city.
@optional {country: any # the city's country, name: any # name of the city, p: any # the number of the result page you'd like to have, state: any # state the city lies in, stateCode: any # state code the city lies in}
@returns(200) Success

@endpoint GET /1.0/search/countries
@desc Get a complete list of all supported countries.
@returns(200) Success

@endpoint GET /1.0/search/setlists
@desc Search for setlists.
@optional {artistMbid: any # the artist's Musicbrainz Identifier (mbid), artistName: any # the artist's name, artistTmid: any # the artist's Ticketmaster Identifier (tmid) (deprecated), cityId: any # the city's geoId, cityName: any # the name of the city, countryCode: any # the country code, date: any # the date of the event (format dd-MM-yyyy), lastFm: any # the event's Last.fm Event ID (deprecated), lastUpdated: any # the date and time (UTC) when this setlist was last updated (format yyyyMMddHHmmss) - either edited or reverted. search will return setlists that were updated on or after this date, p: any # the number of the result page, state: any # the state, stateCode: any # the state code, tourName: any, venueId: any # the venue id, venueName: any # the name of the venue, year: any # the year of the event}
@returns(200) Success

@endpoint GET /1.0/search/venues
@desc Search for venues.
@optional {cityId: any # the city's geoId, cityName: any # name of the city where the venue is located, country: any # the city's country, name: any # name of the venue, p: any # the number of the result page you'd like to have, state: any # the city's state, stateCode: any # the city's state code}
@returns(200) Success

@endpoint GET /1.0/setlist/version/{versionId}
@desc .
@required {versionId: any # the version id}
@returns(200) Success

@endpoint GET /1.0/setlist/{setlistId}
@desc .
@required {setlistId: any # the setlist id}
@returns(200) Success

@endpoint GET /1.0/user/{userId}
@desc Get a user by userId.
@required {userId: any # the user's userId}
@returns(200) Success

@endpoint GET /1.0/user/{userId}/attended
@desc .
@required {userId: any # the user's userId}
@optional {p: any # the number of the result page}
@returns(200) Success

@endpoint GET /1.0/user/{userId}/edited
@desc .
@required {userId: any # the user's userId}
@optional {p: any # the number of the result page}
@returns(200) Success

@endpoint GET /1.0/venue/{venueId}
@desc Get a venue by its unique id.
@required {venueId: any # the venue's id}
@returns(200) Success

@endpoint GET /1.0/venue/{venueId}/setlists
@desc .
@required {venueId: any # the id of the venue}
@optional {p: any # the number of the result page}
@returns(200) Success

@end
