Requête exemple
Réponse exemple
PATCH/v1/coffres/{id}/sectionsMet à jour une section du coffre {id}, ciblée par section_id dans le corps.Met à jour une section existante du coffre {id}. La section cible est désignée par section_id dans le corps de la requête (et non dans l'URL). Comportement notable : la mise à jour est partielle, seuls les champs fournis et valides sont modifiés ; si le corps ne contient aucun champ modifiable valide, l'appel échoue avec 400 validation_error. L'appartenance de la section au couple coffre/workspace est vérifiée avant toute écriture.
Authentification
Cet endpoint exige une clé API valide portant le scope transfers:write. Un jeton sans ce scope reçoit une erreur 403 scope_missing. Comme toute opération d'écriture, l'appel passe par le mécanisme d'idempotence (Idempotency-Key).
Corps de la requête
| Champ | Type | Requis | Description |
|---|---|---|---|
| section_id | string | Oui | Identifiant de la section à modifier. Absent : 400 validation_error. Inconnu pour ce coffre/workspace : 404 not_found. |
| title | string | Non | Nouvel intitulé (espaces de début/fin retirés). Pris en compte uniquement si c'est une chaîne. |
| description | string | Non | Nouvelle description (espaces retirés ; une valeur vide devient null). |
| is_visible | boolean | Non | Nouvelle visibilité. Pris en compte uniquement si c'est un booléen. |
| position | number | Non | Nouveau rang d'affichage. Pris en compte uniquement si c'est un nombre. |
Réponse
Renvoie 200 OK avec l'objet section à jour : id, coffre_id, title, description, position, is_visible et created_at. Les champs non transmis conservent leur valeur antérieure.
| Champ | Type | Description |
|---|---|---|
| id | string | Identifiant de la section. |
| coffre_id | string | Identifiant du coffre parent. |
| title | string | Intitulé après mise à jour. |
| description | string | null | Description après mise à jour, ou null. |
| position | integer | Rang d'affichage après mise à jour. |
| is_visible | boolean | Visibilité après mise à jour. |
| created_at | string | Date de création initiale (inchangée). |
Erreurs
| Code | Quand | Résolution |
|---|---|---|
| 400 validation_error | Coffre manquant, corps non-JSON, section_id absent, ou aucun champ modifiable valide fourni. | Envoyez section_id et au moins un champ valide (title, description, is_visible ou position). |
| 401 invalid_api_key | Clé API absente, mal formée ou non reconnue. | Fournissez une clé valide dans l'en-tête Authorization. |
| 403 scope_missing | Le jeton ne porte pas le scope transfers:write. | Émettez une clé incluant transfers:write. |
| 404 not_found | La section n'existe pas pour ce coffre/workspace. | Vérifiez section_id ainsi que l'identifiant du coffre. |
| 429 rate_limited | Quota de requêtes par minute dépassé. | Respectez l'en-tête Retry-After puis réessayez. |
| 500 internal_error | Échec de la mise à jour en base. | Réessayez ; en cas de persistance, contactez le support avec le request_id. |
Voir aussi
- GET /v1/coffres/{id}/sections : récupérer l'état courant des sections.
- POST /v1/coffres/{id}/sections : créer une section.
- DELETE /v1/coffres/{id}/sections : supprimer une section.