Concertify API (beta) API Reference
The Concertify API (beta) grants third-party developers and applications access to internal Concertify resources such as performances, works, venues, organizers, etc. through an easy-to-use RESTful API.
The current beta version grants access to a limited amount of resources. If you are a beta user and would like to request a specific feature, you can reach us at
support@concertify.io.
API Endpoint
https://beta.api.concertify.io/v1
Terms of Service: https://beta.concertify.io/terms-and-conditions
Schemes: https
Version: 1.1.0
Authentication
api_key
All requests must be authenticated with the API key supplied to your organization or application. The key should be included in a x-api-key
header.
Please contact us at
support@concertify.io if you would like to request an API key.
Performances
Any live performance of a Setlist
comprised of Musical Work
s at a physical location is considered an individual Performance
. Please note that at Concertify, the concept of a Performance
is a single interpretation of a particular Setlist
. Therefore, a music festival would be a group of Performance
s.
Fetching a known performance
Get the full details of a single performance.
UUID of the performance to be fetched
Successful operation
Resource not found
Response Example (200 OK)
{
"Date": "string (date)",
"OriginMetaData": {
"SubmitterCMOCode": "string",
"SubmissionDateTime": "string (date-time)",
"SubmitterName": "string",
"SubmitterId": "string",
"IdAtOrigin": "string",
"SubmitterLastName": "string",
"OriginName": "string"
},
"License": {
"PaymentDate": "string (date)",
"BoxOffice": "number",
"EstimatedValue": "number",
"NetDistributable": "number",
"SocietyAdminFeePercentage": "number",
"SocietyAdminFeeValue": "number",
"OtherDeductions": "number",
"LicenseFee": "number",
"DeductionsDesc": "string",
"Currency": "string",
"SocietyTariffValue": "number",
"SocietyTariffPercentage": "number",
"EstimatedValueDate": "string (date)",
"Collections": "number"
},
"PerformingArtist": {
"Contact": {
"SocialMedia": {
"Twitter": "string",
"Facebook": "string"
},
"Website": "string",
"Email": "string (email)"
},
"IdAtOrigin": "string",
"Name": "string"
},
"CMOCode": "string",
"Organizer": {
"IdAtOrigin": "string",
"Name": "string",
"Address": {
"Line1": "string",
"ZipCode": "string",
"Line2": "string",
"State": "string",
"Phone": "string",
"CountryCode": "string",
"City": "string"
}
},
"Setlist": {
"SubmissionDateTime": "string",
"SubmitterId": "string",
"LastModificationTimeStamp": "string",
"Works": [
{
"WorkId": "string",
"WorkIdAtOrigin": "string",
"Performers": [
"string"
],
"Title": "string",
"ISWC": "string",
"OriginName": "string",
"OriginalDuration": "integer",
"PerformanceDuration": "integer",
"WorkKey": "string",
"RightsOwners": [
{
"CAERole": "string",
"PerformingRightsSocietyId": "string",
"FirstName": "string",
"LastName": "string",
"IPINumber": "string"
}
],
"LastModificationDateTime": "string"
}
],
"Title": "string",
"Status": "string"
},
"PerformanceId": "string",
"Venue": {
"IdAtOrigin": "string",
"Name": "string",
"Address": {
"Line1": "string",
"ZipCode": "string",
"Line2": "string",
"State": "string",
"Phone": "string",
"CountryCode": "string",
"City": "string"
}
},
"StartTime": "string",
"EndTime": "string",
"Status": "string",
"LastModificationDateTime": "string"
}
Response Example (404 Not Found)
Updating existing performances
This operation updates an existing performance. Currently, partial updates are supported only on root attributes representing objects. This can be summarized in two important points:
- Updating a root attribute that represents an object (such as
PerformingArtist
,Setlist
,Venue
,License
,OriginMetaData
, orOrganizer
) will completely replace the corresponding value and delete any sub-attributes not present in the updated body. - In order to update a deeply-nested attribute (such as
Venue.Address.CountryCode
), the update body should contain aVenue
attribute containing all original values plus the updated value.
Updated attributes of the performance. For this operation, attributes marked as required
in the schema may be omitted. A 400 Bad Request
(validation error) is only returned for invalid value types.
Request Example
{
"Date": "string (date)",
"OriginMetaData": {
"SubmitterCMOCode": "string",
"SubmissionDateTime": "string (date-time)",
"SubmitterName": "string",
"SubmitterId": "string",
"IdAtOrigin": "string",
"SubmitterLastName": "string",
"OriginName": "string"
},
"License": {
"PaymentDate": "string (date)",
"BoxOffice": "number",
"EstimatedValue": "number",
"NetDistributable": "number",
"SocietyAdminFeePercentage": "number",
"SocietyAdminFeeValue": "number",
"OtherDeductions": "number",
"LicenseFee": "number",
"DeductionsDesc": "string",
"Currency": "string",
"SocietyTariffValue": "number",
"SocietyTariffPercentage": "number",
"EstimatedValueDate": "string (date)",
"Collections": "number"
},
"PerformingArtist": {
"Contact": {
"SocialMedia": {
"Twitter": "string",
"Facebook": "string"
},
"Website": "string",
"Email": "string (email)"
},
"IdAtOrigin": "string",
"Name": "string"
},
"CMOCode": "string",
"Organizer": {
"IdAtOrigin": "string",
"Name": "string",
"Address": {
"Line1": "string",
"ZipCode": "string",
"Line2": "string",
"State": "string",
"Phone": "string",
"CountryCode": "string",
"City": "string"
}
},
"Setlist": {
"SubmissionDateTime": "string",
"SubmitterId": "string",
"LastModificationTimeStamp": "string",
"Works": [
{
"WorkId": "string",
"WorkIdAtOrigin": "string",
"Performers": [
"string"
],
"Title": "string",
"ISWC": "string",
"OriginName": "string",
"OriginalDuration": "integer",
"PerformanceDuration": "integer",
"WorkKey": "string",
"RightsOwners": [
{
"CAERole": "string",
"PerformingRightsSocietyId": "string",
"FirstName": "string",
"LastName": "string",
"IPINumber": "string"
}
],
"LastModificationDateTime": "string"
}
],
"Title": "string",
"Status": "string"
},
"PerformanceId": "string",
"Venue": {
"IdAtOrigin": "string",
"Name": "string",
"Address": {
"Line1": "string",
"ZipCode": "string",
"Line2": "string",
"State": "string",
"Phone": "string",
"CountryCode": "string",
"City": "string"
}
},
"StartTime": "string",
"EndTime": "string",
"Status": "string",
"LastModificationDateTime": "string"
}
OK
Validation error
Resource not found
Response Example (200 OK)
{
"Date": "string (date)",
"OriginMetaData": {
"SubmitterCMOCode": "string",
"SubmissionDateTime": "string (date-time)",
"SubmitterName": "string",
"SubmitterId": "string",
"IdAtOrigin": "string",
"SubmitterLastName": "string",
"OriginName": "string"
},
"License": {
"PaymentDate": "string (date)",
"BoxOffice": "number",
"EstimatedValue": "number",
"NetDistributable": "number",
"SocietyAdminFeePercentage": "number",
"SocietyAdminFeeValue": "number",
"OtherDeductions": "number",
"LicenseFee": "number",
"DeductionsDesc": "string",
"Currency": "string",
"SocietyTariffValue": "number",
"SocietyTariffPercentage": "number",
"EstimatedValueDate": "string (date)",
"Collections": "number"
},
"PerformingArtist": {
"Contact": {
"SocialMedia": {
"Twitter": "string",
"Facebook": "string"
},
"Website": "string",
"Email": "string (email)"
},
"IdAtOrigin": "string",
"Name": "string"
},
"CMOCode": "string",
"Organizer": {
"IdAtOrigin": "string",
"Name": "string",
"Address": {
"Line1": "string",
"ZipCode": "string",
"Line2": "string",
"State": "string",
"Phone": "string",
"CountryCode": "string",
"City": "string"
}
},
"Setlist": {
"SubmissionDateTime": "string",
"SubmitterId": "string",
"LastModificationTimeStamp": "string",
"Works": [
{
"WorkId": "string",
"WorkIdAtOrigin": "string",
"Performers": [
"string"
],
"Title": "string",
"ISWC": "string",
"OriginName": "string",
"OriginalDuration": "integer",
"PerformanceDuration": "integer",
"WorkKey": "string",
"RightsOwners": [
{
"CAERole": "string",
"PerformingRightsSocietyId": "string",
"FirstName": "string",
"LastName": "string",
"IPINumber": "string"
}
],
"LastModificationDateTime": "string"
}
],
"Title": "string",
"Status": "string"
},
"PerformanceId": "string",
"Venue": {
"IdAtOrigin": "string",
"Name": "string",
"Address": {
"Line1": "string",
"ZipCode": "string",
"Line2": "string",
"State": "string",
"Phone": "string",
"CountryCode": "string",
"City": "string"
}
},
"StartTime": "string",
"EndTime": "string",
"Status": "string",
"LastModificationDateTime": "string"
}
Response Example (400 Bad Request)
Response Example (404 Not Found)
Deleting performances
Remove a performance from Concertify. This is a soft delete operation, meaning that the performance is not permanently removed. However, the deleted performance will not appear any search results and trying to GET the deleted performance will result in a ResourceNotFoundError
A reason as to why the Performance
is being deleted must be provided in the request body.
Reason for deleting the Performance
Request Example
{
"ReasonForDeletion": "string"
}
OK
Validation error
Resource not found
Response Example (200 OK)
{
"Deleted": true,
"ReasonForDeletion": "Cancelled",
"LastModificationDateTime": "2019-08-30T12:48:37.294113"
}
Response Example (400 Bad Request)
Response Example (404 Not Found)
Adding performances
This operation adds one or more Performance
s to Concertify. Currently, there is no check for duplicates, meaning that the caller is responsible for making sure that no duplicate entries are being entered.
This is an atomic operation. If the request contains more than one Performance
and there is any validation error, none of the Performance
will be created. The maximum amount of allowed Performance
s per request is 20.
Performance to add
Request Example
{
"Date": "string (date)",
"OriginMetaData": {
"SubmitterCMOCode": "string",
"SubmissionDateTime": "string (date-time)",
"SubmitterName": "string",
"SubmitterId": "string",
"IdAtOrigin": "string",
"SubmitterLastName": "string",
"OriginName": "string"
},
"License": {
"PaymentDate": "string (date)",
"BoxOffice": "number",
"EstimatedValue": "number",
"NetDistributable": "number",
"SocietyAdminFeePercentage": "number",
"SocietyAdminFeeValue": "number",
"OtherDeductions": "number",
"LicenseFee": "number",
"DeductionsDesc": "string",
"Currency": "string",
"SocietyTariffValue": "number",
"SocietyTariffPercentage": "number",
"EstimatedValueDate": "string (date)",
"Collections": "number"
},
"PerformingArtist": {
"Contact": {
"SocialMedia": {
"Twitter": "string",
"Facebook": "string"
},
"Website": "string",
"Email": "string (email)"
},
"IdAtOrigin": "string",
"Name": "string"
},
"CMOCode": "string",
"Organizer": {
"IdAtOrigin": "string",
"Name": "string",
"Address": {
"Line1": "string",
"ZipCode": "string",
"Line2": "string",
"State": "string",
"Phone": "string",
"CountryCode": "string",
"City": "string"
}
},
"Setlist": {
"SubmissionDateTime": "string",
"SubmitterId": "string",
"LastModificationTimeStamp": "string",
"Works": [
{
"WorkId": "string",
"WorkIdAtOrigin": "string",
"Performers": [
"string"
],
"Title": "string",
"ISWC": "string",
"OriginName": "string",
"OriginalDuration": "integer",
"PerformanceDuration": "integer",
"WorkKey": "string",
"RightsOwners": [
{
"CAERole": "string",
"PerformingRightsSocietyId": "string",
"FirstName": "string",
"LastName": "string",
"IPINumber": "string"
}
],
"LastModificationDateTime": "string"
}
],
"Title": "string",
"Status": "string"
},
"PerformanceId": "string",
"Venue": {
"IdAtOrigin": "string",
"Name": "string",
"Address": {
"Line1": "string",
"ZipCode": "string",
"Line2": "string",
"State": "string",
"Phone": "string",
"CountryCode": "string",
"City": "string"
}
},
"StartTime": "string",
"EndTime": "string",
"Status": "string",
"LastModificationDateTime": "string"
}
OK
Validation error
Response Example (200 OK)
{
"Summary": [
{
"PerformanceId": "string",
"Date": "string (date)",
"VenueName": "string",
"City": "string",
"CountryCode": "string"
}
]
}
Response Example (400 Bad Request)
Musical Works
Song, composition, arrangement, translation, or any other form of musical work
Searching musical works
Search for musical works available in Concertify. This performs a BEGINS_WITH operation under the hood, meaning that a query for the title "enter" will return all musical works beginning with the word "enter".
Title of the musical work to query (e.g. 'Fade To Black', 'Bad Medicine'). The title must be URL-encoded (e.g. Fade To Black -> fade%20to%20black)
Search results
Response Example (200 OK)
{
"Works": [
{
"WorkId": "string",
"WorkIdAtOrigin": "string",
"Performers": [
"string"
],
"Title": "string",
"ISWC": "string",
"OriginName": "string",
"OriginalDuration": "integer",
"PerformanceDuration": "integer",
"WorkKey": "string",
"RightsOwners": [
{
"CAERole": "string",
"PerformingRightsSocietyId": "string",
"FirstName": "string",
"LastName": "string",
"IPINumber": "string"
}
],
"LastModificationDateTime": "string"
}
]
}
Schema Definitions
OriginMetaData: object
- SubmitterCMOCode: string | null
- SubmissionDateTime: string | null (date-time)
- SubmitterName: string | null
- SubmitterId: string | null
- IdAtOrigin: string | null
- SubmitterLastName: string | null
- OriginName: string | null
Example
{
"SubmitterCMOCode": "string",
"SubmissionDateTime": "string (date-time)",
"SubmitterName": "string",
"SubmitterId": "string",
"IdAtOrigin": "string",
"SubmitterLastName": "string",
"OriginName": "string"
}
License: object
- PaymentDate: string | null (date)
- BoxOffice: number | null x ≥ 0
- EstimatedValue: number | null x ≥ 0
- NetDistributable: number | null x ≥ 0
- SocietyAdminFeePercentage: number | null 0 ≤ x ≤ 100
- SocietyAdminFeeValue: number | null x ≥ 0
- OtherDeductions: number | null x ≥ 0
- LicenseFee: number | null x ≥ 0
- DeductionsDesc: string | null
- Currency: string | null
- SocietyTariffValue: number | null x ≥ 0
- SocietyTariffPercentage: number | null 0 ≤ x ≤ 100
- EstimatedValueDate: string | null (date)
- Collections: number | null x ≥ 0
Example
{
"PaymentDate": "string (date)",
"BoxOffice": "number",
"EstimatedValue": "number",
"NetDistributable": "number",
"SocietyAdminFeePercentage": "number",
"SocietyAdminFeeValue": "number",
"OtherDeductions": "number",
"LicenseFee": "number",
"DeductionsDesc": "string",
"Currency": "string",
"SocietyTariffValue": "number",
"SocietyTariffPercentage": "number",
"EstimatedValueDate": "string (date)",
"Collections": "number"
}
SocialMedia: object
- Twitter: string | null
- Facebook: string | null
Example
{
"Twitter": "string",
"Facebook": "string"
}
Contact: object
- SocialMedia: | null
- Website: string | null
- Email: string | null (email)
Example
{
"SocialMedia": {
"Twitter": "string",
"Facebook": "string"
},
"Website": "string",
"Email": "string (email)"
}
PerformingArtist: object
- Contact: | null
- IdAtOrigin: string | null
- Name: string
Example
{
"Contact": {
"SocialMedia": {
"Twitter": "string",
"Facebook": "string"
},
"Website": "string",
"Email": "string (email)"
},
"IdAtOrigin": "string",
"Name": "string"
}
Address: object
- Line1: string | null
- ZipCode: string | null
- Line2: string | null
- State: string | null
- Phone: string | null
- CountryCode: string
- City: string
Example
{
"Line1": "string",
"ZipCode": "string",
"Line2": "string",
"State": "string",
"Phone": "string",
"CountryCode": "string",
"City": "string"
}
Organizer: object
- IdAtOrigin: string | null
- Name: string
- Address: Address
Example
{
"IdAtOrigin": "string",
"Name": "string",
"Address": {
"Line1": "string",
"ZipCode": "string",
"Line2": "string",
"State": "string",
"Phone": "string",
"CountryCode": "string",
"City": "string"
}
}
RightsOwner: object
- CAERole: string | null
- PerformingRightsSocietyId: string | null
- FirstName: string | null
- LastName: string
- IPINumber: string | null
Example
{
"CAERole": "string",
"PerformingRightsSocietyId": "string",
"FirstName": "string",
"LastName": "string",
"IPINumber": "string"
}
Work: object
- WorkId: string | null
- WorkIdAtOrigin: string | null
- Performers: string[] | null
-
string - Title: string
- ISWC: string | null
- OriginName: string | null
- OriginalDuration: integer
- PerformanceDuration: integer | null
- WorkKey: string | null
- RightsOwners: RightsOwner | null
-
RightsOwner - LastModificationDateTime: string | null
Example
{
"WorkId": "string",
"WorkIdAtOrigin": "string",
"Performers": [
"string"
],
"Title": "string",
"ISWC": "string",
"OriginName": "string",
"OriginalDuration": "integer",
"PerformanceDuration": "integer",
"WorkKey": "string",
"RightsOwners": [
{
"CAERole": "string",
"PerformingRightsSocietyId": "string",
"FirstName": "string",
"LastName": "string",
"IPINumber": "string"
}
],
"LastModificationDateTime": "string"
}
Setlist: object
Example
{
"SubmissionDateTime": "string",
"SubmitterId": "string",
"LastModificationTimeStamp": "string",
"Works": [
{
"WorkId": "string",
"WorkIdAtOrigin": "string",
"Performers": [
"string"
],
"Title": "string",
"ISWC": "string",
"OriginName": "string",
"OriginalDuration": "integer",
"PerformanceDuration": "integer",
"WorkKey": "string",
"RightsOwners": [
{
"CAERole": "string",
"PerformingRightsSocietyId": "string",
"FirstName": "string",
"LastName": "string",
"IPINumber": "string"
}
],
"LastModificationDateTime": "string"
}
],
"Title": "string",
"Status": "string"
}
Venue: object
- IdAtOrigin: string | null
- Name: string
- Address: Address
Example
{
"IdAtOrigin": "string",
"Name": "string",
"Address": {
"Line1": "string",
"ZipCode": "string",
"Line2": "string",
"State": "string",
"Phone": "string",
"CountryCode": "string",
"City": "string"
}
}
Performance: object
- Date: string (date)
- OriginMetaData: | null
- License: | null
- PerformingArtist: PerformingArtist
- CMOCode: string
- Organizer: | null
- Setlist: | null
- PerformanceId: string | null
- Venue: Venue
- StartTime: string | null
- EndTime: string | null
- Status: string | null new, scheduled, invoiced, collected, distributed
- LastModificationDateTime: string | null
Example
{
"Date": "string (date)",
"OriginMetaData": {
"SubmitterCMOCode": "string",
"SubmissionDateTime": "string (date-time)",
"SubmitterName": "string",
"SubmitterId": "string",
"IdAtOrigin": "string",
"SubmitterLastName": "string",
"OriginName": "string"
},
"License": {
"PaymentDate": "string (date)",
"BoxOffice": "number",
"EstimatedValue": "number",
"NetDistributable": "number",
"SocietyAdminFeePercentage": "number",
"SocietyAdminFeeValue": "number",
"OtherDeductions": "number",
"LicenseFee": "number",
"DeductionsDesc": "string",
"Currency": "string",
"SocietyTariffValue": "number",
"SocietyTariffPercentage": "number",
"EstimatedValueDate": "string (date)",
"Collections": "number"
},
"PerformingArtist": {
"Contact": {
"SocialMedia": {
"Twitter": "string",
"Facebook": "string"
},
"Website": "string",
"Email": "string (email)"
},
"IdAtOrigin": "string",
"Name": "string"
},
"CMOCode": "string",
"Organizer": {
"IdAtOrigin": "string",
"Name": "string",
"Address": {
"Line1": "string",
"ZipCode": "string",
"Line2": "string",
"State": "string",
"Phone": "string",
"CountryCode": "string",
"City": "string"
}
},
"Setlist": {
"SubmissionDateTime": "string",
"SubmitterId": "string",
"LastModificationTimeStamp": "string",
"Works": [
{
"WorkId": "string",
"WorkIdAtOrigin": "string",
"Performers": [
"string"
],
"Title": "string",
"ISWC": "string",
"OriginName": "string",
"OriginalDuration": "integer",
"PerformanceDuration": "integer",
"WorkKey": "string",
"RightsOwners": [
{
"CAERole": "string",
"PerformingRightsSocietyId": "string",
"FirstName": "string",
"LastName": "string",
"IPINumber": "string"
}
],
"LastModificationDateTime": "string"
}
],
"Title": "string",
"Status": "string"
},
"PerformanceId": "string",
"Venue": {
"IdAtOrigin": "string",
"Name": "string",
"Address": {
"Line1": "string",
"ZipCode": "string",
"Line2": "string",
"State": "string",
"Phone": "string",
"CountryCode": "string",
"City": "string"
}
},
"StartTime": "string",
"EndTime": "string",
"Status": "string",
"LastModificationDateTime": "string"
}