Mettre à jour un rôle d'environnement

PATCH /v1/roles/{role_id} · autorisation roles:write

Met à jour le rôle avec un JSON merge patch (RFC 7396, Content-Type: application/merge-patch+json). If-Match est obligatoire. key ne peut pas changer. Lorsqu'un rôle devient privilégié, les correspondances de groupes externes qui pointent vers lui restent non approuvées et n'accordent rien tant qu'elles ne sont pas approuvées avec :approve. Un patch qui ne change rien conserve la version. L'écriture est auditée sous role.updated.

Requête

Champ Type Obligatoire Description
role_id path oui Identifiant du rôle (rol_…).
If-Match header oui ETag actuel du rôle.
name string non Nom d'affichage, jusqu'à 128 caractères.
description string non Jusqu'à 1024 caractères.
is_privileged boolean non Indicateur de rôle privilégié.
assignable_in_self_service boolean non Indique si le rôle peut être attribué en libre-service.

Réponse

200 OK avec le rôle et son nouvel ETag.

{
  "id": "rol_01j9xr7s1t2w6x8y0z2a4b6c8e",
  "organization_id": null,
  "key": "support",
  "name": "Support team",
  "description": "",
  "is_privileged": false,
  "assignable_in_self_service": true,
  "permission_ids": [],
  "created_at": "2026-10-12T09:31:00.123456Z",
  "updated_at": "2026-10-12T10:00:00Z",
  "version": 2
}

Erreurs

HTTP code Quand
400 unknown_field Le patch contient un champ qui ne peut pas être écrit (par exemple key).
404 not_found Le rôle n'existe pas dans ce périmètre.
412 precondition_failed If-Match ne correspond pas à la version actuelle.
422 validation_failed Un champ est invalide.
428 precondition_required If-Match est absent.
401 unauthenticated Le justificatif est absent, invalide ou révoqué.
403 insufficient_permissions Le justificatif ne dispose pas de l'autorisation requise.
429 rate_limited La limite de débit a été dépassée ; réessayez après la durée indiquée par Retry-After.
503 service_unavailable Une dépendance est temporairement indisponible ; réessayez après la durée indiquée par Retry-After.

Exemple

curl -i -X PATCH "https://api.eu.keenauth.com/v1/roles/rol_01j9xr7s1t2w6x8y0z2a4b6c8e" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H 'If-Match: "1"' \
  -H "Content-Type: application/merge-patch+json" \
  -d '{"name":"Support team"}'