
# Remplacer les autorisations des rôles personnalisés d'organisation

`PUT /v1/org-custom-role-permissions` · autorisation `roles:write`

Remplace la liste par `permission_ids` (l'ensemble complet, au plus 1000). Ajouter une autorisation nécessite la fonctionnalité de forfait `org_custom_roles` (Business) ; retirer des autorisations est toujours permis, et une autorisation retirée est aussi retirée de chaque rôle d'organisation dans la même écriture. Certaines autorisations système ne peuvent jamais être accordées aux rôles d'organisation (`permission_not_allowed`). La modification est auditée comme `org_custom_role_permissions.updated` ; chaque rôle d'organisation qui perd une autorisation est audité comme `role.updated`.

## Demande

| Paramètre | Dans | Requis | Description |
|---|---|---|---|
| `permission_ids` | string[] | oui | L'ensemble complet des ID d'autorisations (`perm_…`), au plus 1000. |

## Réponse

`200 OK` avec la nouvelle liste.

```json
{
  "permission_ids": [
    "perm_01j9xs0a2b4c6d8e0f2g4h6j8k",
    "perm_01j9xs0a2b4c6d8e0f2g4h6j8m"
  ]
}
```

## Erreurs

| HTTP | code | Quand |
|---|---|---|
| 403 | `plan_feature_unavailable` | L'ensemble ajoute une autorisation et le forfait n'inclut pas `org_custom_roles`. |
| 422 | `permission_not_allowed` | Une autorisation ne peut jamais être accordée aux rôles d'organisation. |
| 422 | `validation_failed` | `permission_ids` est absent, contient un ID mal formé ou inconnu, un doublon, ou plus de 1000 éléments. |
| 401 | `unauthenticated` | Le justificatif est absent, invalide ou révoqué. |
| 403 | `insufficient_permissions` | Le justificatif ne possède pas 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

```bash
curl -i -X PUT "https://api.eu.keenauth.com/v1/org-custom-role-permissions" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"permission_ids":["perm_01j9xs0a2b4c6d8e0f2g4h6j8k","perm_01j9xs0a2b4c6d8e0f2g4h6j8m"]}'
```
