# Sorties
> Votre catalogue : les sorties avec leur statut, leurs titres et leur livraison plateforme par plateforme.
Votre catalogue : les sorties avec leur statut, leurs titres et leur livraison plateforme par plateforme.
URL de base `https://api.hillsmusic.com/v1`. Chaque requête envoie une clé d’API : `Authorization: Bearer hm_live_…`.
- Lister les sorties
- Obtenir une sortie
## Lister les sorties
`GET /v1/releases` · Scope : `catalog:read`
Les sorties de vos artistes et labels, de la plus récente à la plus ancienne, 50 par page. Renvoyez next_cursor dans cursor pour obtenir la page suivante ; il vaut null sur la dernière page.
> **Obsolète :** les champs de statut à l’ancienne terminologie (status sur les sorties, stores[key].state sur chaque plateforme, status et previous_status dans les réponses de simulation) seront supprimés le 30 avril 2027. Utilisez plutôt release_status et delivery_state pour la sortie, stores[key].status pour chaque plateforme et, dans les réponses de simulation, release_status, delivery_state et previous_release_status. D’ici là, les réponses portent les en-têtes `Deprecation` et `Sunset`. [Ce qui change](https://developer.hillsmusic.com/fr/changelog/#2026-10-11-status-fields-sunset)
> **Obsolète :** les anciennes valeurs du filtre status= (pending, rejected et distributed) ne seront plus acceptées le 30 avril 2027. Utilisez plutôt status=in_review, status=changes_requested, et status=approved avec delivery_state live ou partially_live dans la réponse. D’ici là, les réponses (lorsque la requête filtre sur l’une des anciennes valeurs) portent les en-têtes `Deprecation` et `Sunset`. [Ce qui change](https://developer.hillsmusic.com/fr/changelog/#2026-10-11-status-fields-sunset)
### Paramètres
| Paramètre | Emplacement | Type | Obligatoire | Description |
| --- | --- | --- | --- | --- |
| `status` | query | `draft` \| `in_review` \| `pending` \| `changes_requested` \| `rejected` \| `approved` \| `distributed` \| `archived` \| `taken_down` | Non | Uniquement ce statut de sortie : draft, in_review, changes_requested, approved, archived ou taken_down. Alias obsolètes, acceptés jusqu’au 30 avril 2027 : pending (in_review), rejected (changes_requested), distributed (approved et en ligne sur au moins une plateforme). |
| `cursor` | query | string | Non | Le next_cursor de la page précédente. |
| `updated_since` | query | date-heure ISO | Non | Modifiées à cette date et heure ou après (pour la synchronisation). |
| `limit` | query | integer (1–100) | Non | Taille de page (50 par défaut). |
| `member_id` | query | integer | Non | Uniquement les sorties de cet artiste ou de ce label. |
| `upc` | query | string | Non | UPC exact. |
| `q` | query | string | Non | Recherche dans l’intitulé et l’artiste. |
### Exemple de requête
```bash
curl "https://api.hillsmusic.com/v1/releases?status=approved&limit=20" \
-H "Authorization: Bearer $HILLS_API_KEY"
```
### Réponse `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"
}
```
### Erreurs
| Statut | Quand |
| --- | --- |
| 400 | invalid : un paramètre est incorrect ; field l’indique. |
| 401 | unauthenticated, invalid_key, key_revoked, key_expired ou test_keys_retired. |
| 403 | insufficient_scope : la clé n’a pas le scope requis ; scope l’indique. account_inactive ou api_not_in_plan. |
| 429 | rate_limited : attendez le nombre de secondes indiqué par Retry-After. |
## Obtenir une sortie
`GET /v1/releases/{id}` · Scope : `catalog:read`
Une sortie avec ses titres et, pour chaque plateforme, son statut (voir Statuts), sa phase et son lien. status et stores[key].state gardent l’ancienne terminologie jusqu’au 30 avril 2027, date de leur suppression ; lisez plutôt release_status, delivery_state et stores[key].status.
> **Obsolète :** les champs de statut à l’ancienne terminologie (status sur les sorties, stores[key].state sur chaque plateforme, status et previous_status dans les réponses de simulation) seront supprimés le 30 avril 2027. Utilisez plutôt release_status et delivery_state pour la sortie, stores[key].status pour chaque plateforme et, dans les réponses de simulation, release_status, delivery_state et previous_release_status. D’ici là, les réponses portent les en-têtes `Deprecation` et `Sunset`. [Ce qui change](https://developer.hillsmusic.com/fr/changelog/#2026-10-11-status-fields-sunset)
### Paramètres
| Paramètre | Emplacement | Type | Obligatoire | Description |
| --- | --- | --- | --- | --- |
| `id` | path | integer | Oui | L’identifiant de la sortie. |
### Exemple de requête
```bash
curl "https://api.hillsmusic.com/v1/releases/812" \
-H "Authorization: Bearer $HILLS_API_KEY"
```
### Réponse `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"
}
}
}
}
```
### Erreurs
| Statut | Quand |
| --- | --- |
| 401 | unauthenticated, invalid_key, key_revoked, key_expired ou test_keys_retired. |
| 403 | insufficient_scope : la clé n’a pas le scope requis ; scope l’indique. account_inactive ou api_not_in_plan. |
| 404 | not_found : la ressource n’existe pas ou ne vous appartient pas. |
| 429 | rate_limited : attendez le nombre de secondes indiqué par Retry-After. |
Source: https://developer.hillsmusic.com/fr/reference/releases/