Create a library track and trigger analysis with signed upload URL
POST/library-tracks
Upload an audio file to Cyanite and trigger an analysis. This is the entrypoint of the Tagging workflow.
This endpoint facilitates audio file upload via two distinct mechanisms.
Direct Upload: use a multipart/form-data HTTP body to provide the audio
file and associated parameters.
Signed URL: provide only the parameters of the LibraryTrack, and then proceed to upload your audio file via the signed URL that you receive in response to this request.
Once this endpoint is called, a LibraryTrack is created to represent the
recording in your Cyanite library. The id of the new LibraryTrack is
provided in the response to this request. Once the audio file is uploaded to
the Cyanite service, our systems will be notified and start analyzing your
music. Once the analysis is finished, we will notify you via your configured
webhook.
We recommend implementing a webhook endpoint to be notified of track completion rather than polling, to avoid running into rate limits.
Request
Responses
- 200
- 401
- 403
- 422
- 429
Library track created. Analysis will be triggered by track upload
The request was not successful because it lacks valid authentication credentials for the requested resource. This error indicates that the client has not provided valid authentication details or the provided credentials are invalid.
This object implements RFC 9457 Problem Details for HTTP APIs.
The request associated with this error is refused because the client does not have the necessary permissions to access the requested resource. This could be due to exceeding a quota limit or other authorization issues.
This object implements RFC 9457 Problem Details for HTTP APIs
Response Headers
The maximum quota allowed for the current quota period, indicating the upper limit of resource usage.
The amount of quota still available for use in the current quota period.
The UTC epoch time (in seconds) when the current quota limit resets. If the quota does not reset, this value will be undefined.
The request associated with this error is refused because of an unprocessable request The server understands the content type of the request entity, but was unable to process the contained instructions.
The request associated with this error has exceeded the allowed rate limit for accessing the API. This error indicates that the client has sent too many requests in a given amount of time.
This object implements RFC 9457 Problem Details for HTTP APIs
Response Headers
The maximum number of requests allowed in the current rate limit window.
The number of requests remaining in the current rate limit window.
The UTC epoch time (in seconds) when the current rate limit window resets.
The delay in seconds to wait before retrying the request.
Callbacks
- POST analysisJob/finished
- POST analysisJob/failed
POSThttps://example.com/your-preconfigured-webhook-url
A POST request to your preconfigured webhook url that notifies you of a successful analysis
Callbacks Responses
- 200
- 404
You acknowledge receipt of the webhook. If you respond with any status code other than 200, the webhook will be retried until you do, or the webhook will be marked as failed, and no other messages will be delivered
Any non-200 status code in response to our webhook will be considered a delivery failure, and the webhook will continue to be retried until a timeout. Repeated delivery failures may cause your webhook url to be marked as undeliverable.
POSThttps://example.com/your-preconfigured-webhook-url
A POST to your preconfigured webhook notifying you when an analysis of a track fails
Callbacks Responses
- 200
- 404
You acknowledge receipt of the webhook. If you respond with any status code other than 200, the webhook will be retried until you do, or the webhook will be marked as failed, and no other messages will be delivered
Any non-200 status code in response to our webhook will be considered a delivery failure, and the webhook will continue to be retried until a timeout. Repeated delivery failures may cause your webhook url to be marked as undeliverable.