Oferta de lanzamiento: Los planes Creator y Business tienen descuento por tiempo limitado. Ver precios

Colecciones

Las colecciones son contenedores para organizar tus pistas de audio. Puedes crear, actualizar, recuperar y eliminar información de colecciones.

Las respuestas incluyen dos compañeros de solo lectura de player_color: player_color_light (ajustado para permanecer legible sobre un fondo claro) y player_color_dark (ajustado para un fondo oscuro). Se derivan de player_color desplazando el brillo hasta que cada uno cumple un contraste mínimo, y no se pueden establecer directamente.

GET /v1/collection

Devuelve una lista de colecciones de una organización

Parámetros

Nombre Tipo Obligatorio Descripción
limit number Opcional Número máximo de colecciones a devolver
offset number Opcional Número de colecciones a omitir

Ejemplo de solicitud

curl -X GET "https://api.audiodelivery.net/v1/collection" \
  -H "Authorization: Bearer YOUR_API_KEY"

Respuesta

{
"ok": true,
"api_request_id": "uuid",
"count": 0,
"collections": [
  {
    "id": "uuid",
    "organization_id": "uuid",
    "creator_id": "uuid | null",
    "title": "string",
    "organization_index": "string | null",
    "metadata": {},
    "theme": [],
    "player_color": "string | null",
    "player_color_light": "string | null",
    "player_color_dark": "string | null",
    "player_subtitle": "string | null",
    "is_cover_overridable": true,
    "is_theme_overridable": true
  }
]
}
GET /v1/collection/:collection_id

Devuelve detalles de una colección concreta

Parámetros

Nombre Tipo Obligatorio Descripción
collection_id uuid Obligatorio El ID de la colección a recuperar (parámetro de ruta)

Respuesta

{
"ok": true,
"api_request_id": "uuid",
"collection_id": "uuid",
"collection": {
  "id": "uuid",
  "organization_id": "uuid",
  "creator_id": "uuid | null",
  "title": "string",
  "organization_index": "string | null",
  "metadata": {},
  "theme": [],
  "player_color": "string | null",
  "player_color_light": "string | null",
  "player_color_dark": "string | null",
  "player_subtitle": "string | null",
  "is_cover_overridable": true,
  "is_theme_overridable": true
}
}
POST /v1/collection

Crea una nueva colección

Parámetros

Nombre Tipo Obligatorio Descripción
title string Obligatorio Título de la colección
creator_id uuid Opcional ID del creator propietario de la colección
organization_index string Opcional Identificador de organización
metadata object Opcional Metadatos de organización de la colección
theme array of objects Opcional Colores extraídos de las imágenes de portada
is_cover_overridable boolean Opcional Si la portada de la colección se puede sobrescribir a nivel de pista
is_theme_overridable boolean Opcional Si los colores de imagen de la colección se pueden sobrescribir a nivel de pista
player_color string Opcional Color del player (color hex)
player_subtitle string Opcional Subtítulo del player

Ejemplo de solicitud

curl -X POST "https://api.audiodelivery.net/v1/collection" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "My Collection",
  "player_subtitle": "Artist Name"
}'

Respuesta

{
"ok": true,
"api_request_id": "uuid",
"collection_id": "uuid",
"collection": {
  "id": "uuid",
  "organization_id": "uuid",
  "creator_id": "uuid | null",
  "title": "string",
  "organization_index": "string | null",
  "metadata": {},
  "theme": [],
  "player_color": "string | null",
  "player_color_light": "string | null",
  "player_color_dark": "string | null",
  "player_subtitle": "string | null",
  "is_cover_overridable": true,
  "is_theme_overridable": true
},
"collection_cover_upload": {
  "method": "POST",
  "upload_url": "string",
  "ttl": 3600,
  "expires_at": "string"
}
}
PUT /v1/collection/:collection_id

Actualiza una colección existente

Parámetros

Nombre Tipo Obligatorio Descripción
collection_id uuid Obligatorio El ID de la colección a actualizar (parámetro de ruta)
creator_id uuid Opcional ID del creator
organization_index string Opcional Identificador de organización
title string Opcional Título de la colección
metadata object Opcional Metadatos de organización
theme array of objects Opcional Colores extraídos de las imágenes de portada
is_cover_overridable boolean Opcional Si la portada de la colección se puede sobrescribir a nivel de pista
is_theme_overridable boolean Opcional Si los colores de imagen de la colección se pueden sobrescribir a nivel de pista
player_color string Opcional Color del player (color hex)
player_subtitle string Opcional Subtítulo del player

Respuesta

{
"ok": true,
"api_request_id": "uuid",
"collection_id": "uuid",
"collection": {
  "id": "uuid",
  "organization_id": "uuid",
  "creator_id": "uuid | null",
  "title": "string",
  "organization_index": "string | null",
  "metadata": {},
  "theme": [],
  "player_color": "string | null",
  "player_color_light": "string | null",
  "player_color_dark": "string | null",
  "player_subtitle": "string | null",
  "is_cover_overridable": true,
  "is_theme_overridable": true
}
}
DELETE /v1/collection/:collection_id

Elimina suavemente una colección y propaga a sus pistas

Parámetros

Nombre Tipo Obligatorio Descripción
collection_id uuid Obligatorio El ID de la colección a eliminar (parámetro de ruta)

Eliminar una colección propaga: cada pista de ella se elimina suavemente, junto con las variantes y archivos de cada pista. Los archivos eliminados se encolan para borrado del object storage.

Ejemplo de solicitud

curl -X DELETE "https://api.audiodelivery.net/v1/collection/COLLECTION_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"

Respuesta

{
"ok": true,
"api_request_id": "uuid",
"collection_id": "uuid",
"deleted_collection": {
  "id": "uuid",
  "organization_id": "uuid",
  "creator_id": "uuid | null",
  "title": "string",
  "organization_index": "string | null",
  "metadata": {},
  "theme": [],
  "player_color": "string | null",
  "player_color_light": "string | null",
  "player_color_dark": "string | null",
  "player_subtitle": "string | null"
}
}