Aggiorna i valori predefiniti dell'organizzazione
PATCH /v1/organization-defaults · autorizzazione organizations:write
Aggiorna i valori predefiniti dell'organizzazione dell'ambiente con una merge patch JSON (application/merge-patch+json, RFC 7396). If-Match è obbligatorio: se manca restituisce 428, se la versione è obsoleta restituisce 412. Invia solo i campi che modifichi. Una patch che non cambia nulla non scrive nulla e mantiene la versione.
Richiesta
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
If-Match |
header | sì | Il ETag dei valori predefiniti letto per ultimo. Mancante: 428; obsoleto: 412. |
org_admin_role_id |
string | no | Ruolo dell'ambiente (rol_…) assegnato agli amministratori dell'organizzazione. Deve avere le autorizzazioni di gestione del sistema di organizzazione (422 permission_reserved) e nessuna organizzazione può restare senza un amministratore attivo (409 last_org_admin). Non può essere null. |
default_member_role_id |
string | no | Ruolo dell'ambiente (rol_…) assegnato ai nuovi membri dell'organizzazione. Non può essere null. |
max_memberships_per_user |
integer | no | Numero di organizzazioni a cui un utente può appartenere, da 1 a 1000 (predefinito 200). Non può essere null. |
invitation_ttl_days |
integer | no | Giorni di validità di un invito, da 1 a 30 (predefinito 7). Non può essere null. |
org_self_service_deletion_grace_days |
integer | no | Giorni di attesa prima che una cancellazione self-service dell'organizzazione venga eseguita, da 0 a 30 (predefinito 14). Non può essere null. |
on_org_delete_members |
string | no | detach (predefinito): i membri perdono solo l'appartenenza. delete_exclusive_provisioned: gli utenti arrivati in questa organizzazione tramite JIT o SCIM e che non appartengono ad altre organizzazioni vengono messi in coda per l'eliminazione. Non può essere null. |
org_custom_roles_enabled |
boolean | no | Permette agli amministratori dell'organizzazione di definire i propri ruoli (predefinito false). Scrivere ruoli dell'organizzazione richiede comunque la funzionalità del piano org_custom_roles. Non può essere null. |
org_self_delete_enabled |
boolean | no | Permette agli amministratori dell'organizzazione di eliminare autonomamente la propria organizzazione (predefinito false). Non può essere null. |
Comportamento
- I campi dei ruoli devono indicare un ruolo di questo ambiente; un ruolo dell'organizzazione o un ruolo sconosciuto restituisce
422 validation_failedconunknown_role. - La modifica di
on_org_delete_memberssi applica alle organizzazioni eliminate dopo la modifica. - Gli errori di validazione riportano il JSON pointer del campo, per esempio
/invitation_ttl_dayscon codiceout_of_range. - La modifica viene scritta nel registro di audit di gestione come
organization_defaults.updatedcon i nomi dei campi modificati, mai i loro valori.
Risposta
200 OK con i valori predefiniti aggiornati e il nuovo 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
}
Errori
| HTTP | codice | Quando |
|---|---|---|
| 400 | unknown_field |
La patch contiene un campo sconosciuto o di sola lettura, oppure non è un oggetto JSON (malformed_request). |
| 403 | insufficient_permissions |
La credenziale non ha l'autorizzazione richiesta. |
| 409 | last_org_admin |
Il nuovo ruolo di amministratore lascerebbe un'organizzazione senza un amministratore attivo. |
| 412 | precondition_failed |
If-Match non corrisponde alla versione corrente. |
| 415 | unsupported_media_type |
Il content type non è application/merge-patch+json. |
| 422 | validation_failed |
Un valore non è valido (il pointer indica il campo), oppure un campo è stato impostato a null (code: invalid). |
| 428 | precondition_required |
If-Match manca. |
Esempio
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