Tracks
Tracks are individual audio files within collections. Manage track metadata, uploads, playback information, and deletion.
Responses include two read-only companions to player_color: player_color_light (adjusted to stay legible on a light background) and player_color_dark (adjusted for a dark background). They are derived from player_color by shifting brightness until each meets a minimum contrast, so you can always render the player color on either theme. They cannot be set directly.
Track responses include read-only transcription and transcription_language (both null until a transcription output preset succeeds). Do not send these fields on create or update.
GET /v1/track/:id does not include downloadable output URLs — use a play session, URL signing, or webhooks for file access. For per-output processing state, use GET /v1/track/:id/processing.
Walkthrough: Voice & transcription.
/v1/track/:track_id Returns details about a specific track
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
track_id | uuid | Obligatorio | The ID of the track to retrieve (path parameter) |
Ejemplo de solicitud
curl -X GET "https://api.audiodelivery.net/v1/track/TRACK_ID" \
-H "Authorization: Bearer YOUR_API_KEY" Track
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
transcription | string | null | Opcional | Read-only. Plain-text paragraphs of the spoken audio. Populated when a transcription output preset has been applied; otherwise null. |
transcription_language | string | null | Opcional | Read-only. BCP-47 language of transcription (for example en). Otherwise null. |
files_completed_at | string | null | Opcional | Timestamp when every configured output preset has been attempted. Null while optional outputs may still be running. |
Response
{
"ok": true,
"api_request_id": "uuid",
"track_id": "uuid",
"track": {
"id": "uuid",
"organization_id": "uuid",
"collection_id": "uuid",
"creator_id": "uuid | null",
"index": "string",
"duration": 0,
"file_name": "string",
"file_name_original": "string | null",
"info": {},
"organization_index": "string | null",
"order": 0,
"metadata": {},
"player_title": "string | null",
"player_subtitle": "string | null",
"player_color": "string | null",
"player_color_light": "string | null",
"player_color_dark": "string | null",
"theme": [],
"transcription": "string | null",
"transcription_language": "string | null",
"track_status_id": "string",
"files_completed_at": "string | null"
}
} /v1/track/:track_id/processing Uncached processing snapshot — track status and per-output state (no downloadable URLs)
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
track_id | uuid | Obligatorio | The ID of the track (path parameter) |
Ejemplo de solicitud
curl -X GET "https://api.audiodelivery.net/v1/track/TRACK_ID/processing" \
-H "Authorization: Bearer YOUR_API_KEY" Response fields
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
track_status_id | string | Obligatorio | Current track status (for example ready, incomplete, processing). |
files_completed_at | string | null | Opcional | When every configured preset has been attempted. |
upload_accepted | boolean | Obligatorio | Whether the upload has been accepted for processing. |
playable | boolean | Obligatorio | True when a ready transcode or original output exists. |
outputs | array | Obligatorio | Per-output rows with index, output_type_id, variant_id, state, is_required, status_text, and file_id. No URL field. |
Response
{
"ok": true,
"api_request_id": "uuid",
"track_id": "uuid",
"track_status_id": "ready",
"files_completed_at": null,
"upload_accepted": true,
"playable": true,
"outputs": [
{
"index": "hq",
"output_type_id": "transcode",
"variant_id": "uuid",
"expected": true,
"state": "ready",
"is_required": true,
"status_text": null,
"file_id": "uuid"
}
]
} /v1/collection/:collection_id/track Returns a list of tracks in a collection
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
collection_id | uuid | Obligatorio | The ID of the collection (path parameter) |
limit | number | Opcional | Maximum number of tracks to return |
offset | number | Opcional | Number of tracks to skip |
Response
{
"ok": true,
"api_request_id": "uuid",
"count": 0,
"tracks": [
{
"id": "uuid",
"organization_id": "uuid",
"collection_id": "uuid",
"index": "string",
"duration": 0,
"file_name": "string",
"order": 0,
"metadata": {},
"player_title": "string | null",
"player_subtitle": "string | null",
"player_color": "string | null",
"player_color_light": "string | null",
"player_color_dark": "string | null",
"theme": [],
"transcription": "string | null",
"transcription_language": "string | null",
"track_status_id": "string"
}
]
} /v1/track Creates a new track
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
collection_id | uuid | Obligatorio | ID of the collection this track belongs to. Required unless the API key is scoped to a collection. |
file_name | string | Obligatorio | Original filename of the track |
creator_id | uuid | Opcional | ID of the creator |
organization_index | string | Opcional | Organization Identifier for the track |
metadata | object | Opcional | Organization metadata for the track |
is_cover_overridable | boolean | Opcional | Whether track cover can be overridden |
is_theme_overridable | boolean | Opcional | Whether track image colors can be overridden |
player_title | string | Opcional | Title to display in the player |
player_subtitle | string | Opcional | Subtitle to display in the player |
player_color | string | Opcional | Color to use in the player (hex) |
Ejemplo de solicitud
curl -X POST "https://api.audiodelivery.net/v1/track" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"collection_id": "COLLECTION_ID",
"file_name": "my-audio-track.mp3",
"player_title": "Track Title"
}' Response
{
"ok": true,
"api_request_id": "uuid",
"track_id": "uuid",
"track": {
"id": "uuid",
"organization_id": "uuid",
"collection_id": "uuid",
"index": "string",
"duration": 0,
"file_name": "string",
"order": 0,
"metadata": {},
"player_title": "string | null",
"player_subtitle": "string | null",
"player_color": "string | null",
"player_color_light": "string | null",
"player_color_dark": "string | null",
"theme": [],
"transcription": "string | null",
"transcription_language": "string | null",
"track_status_id": "string"
},
"track_upload": {
"method": "PUT",
"upload_url": "string",
"ttl": 3600,
"expires_at": "string"
},
"track_cover_upload": {
"method": "POST",
"upload_url": "string",
"ttl": 3600,
"expires_at": "string"
}
} /v1/track/:track_id Updates an existing track
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
track_id | uuid | Obligatorio | The ID of the track to update (path parameter) |
creator_id | uuid | Opcional | ID of the creator |
organization_index | string | Opcional | Organization Identifier for the track |
title | string | Opcional | Title of the track |
metadata | object | Opcional | Organization metadata |
is_cover_overridable | boolean | Opcional | Whether track cover can be overridden |
is_theme_overridable | boolean | Opcional | Whether track image colors can be overridden |
player_title | string | Opcional | Title to display in the player |
player_subtitle | string | Opcional | Subtitle to display in the player |
player_color | string | Opcional | Color to use in the player (hex) |
Response
{
"ok": true,
"api_request_id": "uuid",
"track_id": "uuid",
"track": {
"id": "uuid",
"organization_id": "uuid",
"collection_id": "uuid",
"index": "string",
"duration": 0,
"file_name": "string",
"order": 0,
"metadata": {},
"player_title": "string | null",
"player_subtitle": "string | null",
"player_color": "string | null",
"player_color_light": "string | null",
"player_color_dark": "string | null",
"theme": [],
"transcription": "string | null",
"transcription_language": "string | null",
"track_status_id": "string"
}
} /v1/track/:track_id Soft-deletes a track and cascades to its files and outputs
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
track_id | uuid | Obligatorio | The ID of the track to delete (path parameter) |
Deleting a track cascades: its output presets (track-scoped) and files are soft-deleted too, and the removed files are queued for deletion from object storage.
Ejemplo de solicitud
curl -X DELETE "https://api.audiodelivery.net/v1/track/TRACK_ID" \
-H "Authorization: Bearer YOUR_API_KEY" Response
{
"ok": true,
"api_request_id": "uuid",
"track_id": "uuid",
"deleted_track": {
"id": "uuid",
"organization_id": "uuid",
"collection_id": "uuid",
"index": "string",
"duration": 0,
"file_name": "string",
"order": 0,
"metadata": {},
"player_title": "string | null",
"player_subtitle": "string | null",
"player_color": "string | null",
"player_color_light": "string | null",
"player_color_dark": "string | null",
"theme": [],
"track_status_id": "string"
}
}