# Lanzamientos > Tu catálogo: lanzamientos con su estado, sus pistas y su entrega plataforma por plataforma. Tu catálogo: lanzamientos con su estado, sus pistas y su entrega plataforma por plataforma. URL base `https://api.hillsmusic.com/v1`. Cada solicitud envía una clave de API: `Authorization: Bearer hm_live_…`. - Listar lanzamientos - Obtener un lanzamiento ## Listar lanzamientos `GET /v1/releases` · Ámbito: `catalog:read` Los lanzamientos de tus artistas y sellos, del más reciente al más antiguo, 50 por página. Devuelve next_cursor como cursor para obtener la página siguiente; en la última página es null. > **Obsoleto:** los campos de estado con los términos antiguos (status en los lanzamientos, stores[key].state en cada plataforma, status y previous_status en las respuestas de simulate) se eliminan el 30 de abril de 2027. Usa en su lugar release_status y delivery_state para el lanzamiento, stores[key].status para cada plataforma y, en las respuestas de simulate, release_status, delivery_state y previous_release_status. Hasta entonces, las respuestas llevan las cabeceras `Deprecation` y `Sunset`. [Qué cambia](https://developer.hillsmusic.com/es/changelog/#2026-10-11-status-fields-sunset) > **Obsoleto:** los valores antiguos del filtro status= (pending, rejected y distributed) dejan de aceptarse el 30 de abril de 2027. Usa en su lugar status=in_review, status=changes_requested y status=approved con delivery_state live o partially_live en la respuesta. Hasta entonces, las respuestas en las que la solicitud filtra por uno de los valores antiguos llevan las cabeceras `Deprecation` y `Sunset`. [Qué cambia](https://developer.hillsmusic.com/es/changelog/#2026-10-11-status-fields-sunset) ### Parámetros | Parámetro | Ubicación | Tipo | Obligatorio | Descripción | | --- | --- | --- | --- | --- | | `status` | query | `draft` \| `in_review` \| `pending` \| `changes_requested` \| `rejected` \| `approved` \| `distributed` \| `archived` \| `taken_down` | No | Solo este estado del lanzamiento: draft, in_review, changes_requested, approved, archived o taken_down. Alias obsoletos, aceptados hasta el 30 de abril de 2027: pending (in_review), rejected (changes_requested), distributed (approved y publicado en al menos una plataforma). | | `cursor` | query | string | No | next_cursor de la página anterior. | | `updated_since` | query | fecha y hora ISO | No | Modificados en este momento o después (para sincronizar). | | `limit` | query | integer (1–100) | No | Tamaño de página (predeterminado: 50). | | `member_id` | query | integer | No | Solo los lanzamientos de este artista o sello. | | `upc` | query | string | No | UPC exacto. | | `q` | query | string | No | Busca en el título y el artista. | ### Ejemplo de solicitud ```bash curl "https://api.hillsmusic.com/v1/releases?status=approved&limit=20" \ -H "Authorization: Bearer $HILLS_API_KEY" ``` ### Respuesta `200` ```json { "data": [ { "id": 812, "title": "Midnight Run", "version": null, "type": "single", "status": "distributed", "release_status": "approved", "review_stage": null, "delivery_state": "partially_live", "update_state": "none", "stores_live": 12, "stores_total": 30, "live_at": "2026-10-05T10:12:00Z", "artists": "Luna", "featured_artists": null, "label": "Nova Records", "genre": "Pop", "upc": "0123456789012", "release_date": "2026-11-01", "cover_url": "/api/catalog/files/cover/…", "member_id": 41, "track_count": 1, "submitted_at": "2026-10-02T08:00:00Z", "created_at": "2026-09-30T08:00:00Z", "updated_at": "2026-10-03T08:00:00Z" } ], "next_cursor": "aWQ6ODEy" } ``` ### Errores | Estado | Cuándo | | --- | --- | | 400 | invalid: un parámetro es incorrecto; field indica cuál. | | 401 | unauthenticated, invalid_key, key_revoked, key_expired o test_keys_retired. | | 403 | insufficient_scope: a la clave le falta el ámbito; scope indica cuál. account_inactive o api_not_in_plan. | | 429 | rate_limited: espera los segundos que indique Retry-After. | ## Obtener un lanzamiento `GET /v1/releases/{id}` · Ámbito: `catalog:read` Un lanzamiento con sus pistas y, por plataforma, su estado (consulta Estados), su fase y su enlace. status y stores[key].state conservan los términos antiguos hasta el 30 de abril de 2027, fecha en que se eliminan; lee en su lugar release_status, delivery_state y stores[key].status. > **Obsoleto:** los campos de estado con los términos antiguos (status en los lanzamientos, stores[key].state en cada plataforma, status y previous_status en las respuestas de simulate) se eliminan el 30 de abril de 2027. Usa en su lugar release_status y delivery_state para el lanzamiento, stores[key].status para cada plataforma y, en las respuestas de simulate, release_status, delivery_state y previous_release_status. Hasta entonces, las respuestas llevan las cabeceras `Deprecation` y `Sunset`. [Qué cambia](https://developer.hillsmusic.com/es/changelog/#2026-10-11-status-fields-sunset) ### Parámetros | Parámetro | Ubicación | Tipo | Obligatorio | Descripción | | --- | --- | --- | --- | --- | | `id` | path | integer | Sí | El id del lanzamiento. | ### Ejemplo de solicitud ```bash curl "https://api.hillsmusic.com/v1/releases/812" \ -H "Authorization: Bearer $HILLS_API_KEY" ``` ### Respuesta `200` ```json { "data": { "id": 812, "title": "Midnight Run", "type": "single", "status": "distributed", "release_status": "approved", "delivery_state": "partially_live", "update_state": "none", "stores_live": 1, "stores_total": 2, "live_at": "2026-10-05T10:12:00Z", "upc": "0123456789012", "release_date": "2026-11-01", "member_id": 41, "tracks": [ { "id": 2001, "disc_number": 1, "position": 1, "title": "Midnight Run", "isrc": "USRC17607839", "explicit": "not_explicit", "duration_ms": 201000 } ], "stores": { "spotify": { "status": "live", "op": "insert", "phase": "done", "url": "https://open.spotify.com/album/…", "state": "live" }, "apple_music": { "status": "delivered", "op": "insert", "phase": "done", "url": null, "state": "sent" } } } } ``` ### Errores | Estado | Cuándo | | --- | --- | | 401 | unauthenticated, invalid_key, key_revoked, key_expired o test_keys_retired. | | 403 | insufficient_scope: a la clave le falta el ámbito; scope indica cuál. account_inactive o api_not_in_plan. | | 404 | not_found: no existe o no es tuyo. | | 429 | rate_limited: espera los segundos que indique Retry-After. | Fuente: https://developer.hillsmusic.com/es/reference/releases/