Mettre à jour les valeurs par défaut de l'organisation
PATCH /v1/organization-defaults · autorisation organizations:write
Met à jour les valeurs par défaut de l'organisation de l'environnement à l'aide d'un correctif de fusion JSON (application/merge-patch+json, RFC 7396). If-Match est obligatoire : son absence renvoie 428, une version obsolète renvoie 412. N'envoyez que les champs que vous modifiez. Un correctif qui ne change rien n'écrit rien et conserve la version.
Requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
If-Match |
en-tête | oui | Le ETag des valeurs par défaut tel que lu en dernier. Absent : 428 ; obsolète : 412. |
org_admin_role_id |
string | non | Rôle de l'environnement (rol_…) attribué aux administrateurs de l'organisation. Il doit détenir les autorisations de gestion des organisations (422 permission_reserved), et aucune organisation ne peut rester sans administrateur actif (409 last_org_admin). Ne peut pas être null. |
default_member_role_id |
string | non | Rôle de l'environnement (rol_…) attribué aux nouveaux membres de l'organisation. Ne peut pas être null. |
max_memberships_per_user |
integer | non | Nombre d'organisations auxquelles un utilisateur peut appartenir, de 1 à 1000 (par défaut 200). Ne peut pas être null. |
invitation_ttl_days |
integer | non | Nombre de jours pendant lesquels une invitation reste valide, de 1 à 30 (par défaut 7). Ne peut pas être null. |
org_self_service_deletion_grace_days |
integer | non | Nombre de jours d'attente avant l'exécution d'une suppression d'organisation en libre-service, de 0 à 30 (par défaut 14). Ne peut pas être null. |
on_org_delete_members |
string | non | detach (par défaut) : les membres perdent seulement leur appartenance. delete_exclusive_provisioned : les utilisateurs arrivés dans cette organisation via JIT ou SCIM et n'appartenant à aucune autre organisation sont placés en file d'attente pour suppression. Ne peut pas être null. |
org_custom_roles_enabled |
boolean | non | Permet aux administrateurs de l'organisation de définir leurs propres rôles (par défaut false). L'écriture des rôles d'organisation nécessite toujours la fonctionnalité d'offre org_custom_roles. Ne peut pas être null. |
org_self_delete_enabled |
boolean | non | Permet aux administrateurs de l'organisation de supprimer eux-mêmes leur organisation (par défaut false). Ne peut pas être null. |
Comportement
- Les champs de rôle doivent désigner un rôle de cet environnement ; un rôle d'organisation ou un rôle inconnu renvoie
422 validation_failedavecunknown_role. - La modification de
on_org_delete_memberss'applique aux organisations supprimées après cette modification. - Les erreurs de validation portent le pointeur JSON du champ, par exemple
/invitation_ttl_daysavec le codeout_of_range. - La modification est écrite dans le journal d'audit de gestion sous
organization_defaults.updated, avec les noms des champs modifiés, jamais leurs valeurs.
Réponse
200 OK avec les valeurs par défaut mises à jour et le nouveau ETag.
{
"org_admin_role_id": "rol_01j9xs0a2b4c6d8e0f2g4h6j8k",
"default_member_role_id": "rol_01j9xs0a2b4c6d8e0f2g4h6j8m",
"max_memberships_per_user": 200,
"invitation_ttl_days": 9,
"org_self_service_deletion_grace_days": 14,
"on_org_delete_members": "delete_exclusive_provisioned",
"org_custom_roles_enabled": false,
"org_self_delete_enabled": false,
"updated_at": "2026-11-03T10:00:00.123456Z",
"version": 2
}
Erreurs
| HTTP | code | Quand |
|---|---|---|
| 400 | unknown_field |
Le correctif contient un champ inconnu ou en lecture seule, ou n'est pas un objet JSON (malformed_request). |
| 403 | insufficient_permissions |
L'identifiant ne dispose pas de l'autorisation requise. |
| 409 | last_org_admin |
Le nouveau rôle d'administrateur laisserait une organisation sans administrateur actif. |
| 412 | precondition_failed |
If-Match ne correspond pas à la version actuelle. |
| 415 | unsupported_media_type |
Le type de contenu n'est pas application/merge-patch+json. |
| 422 | validation_failed |
Une valeur est invalide (le pointeur désigne le champ), ou un champ a été défini à null (code: invalid). |
| 428 | precondition_required |
If-Match est absent. |
Exemple
curl -i -X PATCH "https://api.eu.keenauth.com/v1/organization-defaults" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/merge-patch+json" \
-H 'If-Match: "1"' \
-d '{"on_org_delete_members":"delete_exclusive_provisioned","invitation_ttl_days":9}'
keenauth organization-defaults update --if-match '"1"' \
--on-org-delete-members delete_exclusive_provisioned --invitation-ttl-days 9