Actualizar los valores predeterminados de la organización
PATCH /v1/organization-defaults · permiso organizations:write
Actualiza los valores predeterminados de organización del entorno mediante un parche de fusión JSON (application/merge-patch+json, RFC 7396). If-Match es obligatorio: si falta, devuelve 428; si la versión está desactualizada, devuelve 412. Envíe únicamente los campos que cambia. Un parche que no cambia nada no escribe nada y conserva la versión.
Solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
If-Match |
encabezado | sí | El ETag de los valores predeterminados tal como se leyeron por última vez. Si falta: 428; si está desactualizado: 412. |
org_admin_role_id |
string | no | Rol del entorno (rol_…) que obtienen los administradores de la organización. Debe tener los permisos de sistema de gestión de organizaciones (422 permission_reserved), y ninguna organización puede quedarse sin un administrador activo (409 last_org_admin). No puede ser null. |
default_member_role_id |
string | no | Rol del entorno (rol_…) que obtienen los nuevos miembros de la organización. No puede ser null. |
max_memberships_per_user |
integer | no | Número de organizaciones a las que puede pertenecer un usuario, de 1 a 1000 (predeterminado: 200). No puede ser null. |
invitation_ttl_days |
integer | no | Días durante los que una invitación sigue siendo válida, de 1 a 30 (predeterminado: 7). No puede ser null. |
org_self_service_deletion_grace_days |
integer | no | Días que espera una eliminación de organización iniciada por el propio usuario antes de ejecutarse, de 0 a 30 (predeterminado: 14). No puede ser null. |
on_org_delete_members |
string | no | detach (predeterminado): los miembros solo pierden la pertenencia. delete_exclusive_provisioned: los usuarios que llegaron a esta organización mediante JIT o SCIM y que no pertenecen a ninguna otra organización se ponen en cola para su eliminación. No puede ser null. |
org_custom_roles_enabled |
boolean | no | Permite a los administradores de la organización definir sus propios roles (predeterminado: false). Escribir roles de organización sigue requiriendo la función org_custom_roles del plan. No puede ser null. |
org_self_delete_enabled |
boolean | no | Permite a los administradores de la organización eliminar su propia organización (predeterminado: false). No puede ser null. |
Comportamiento
- Los campos de rol deben nombrar un rol de este entorno; un rol de organización o un rol desconocido devuelve
422 validation_failedconunknown_role. - El cambio en
on_org_delete_membersse aplica a las organizaciones eliminadas después del cambio. - Los errores de validación incluyen el puntero JSON del campo, por ejemplo
/invitation_ttl_dayscon el códigoout_of_range. - El cambio se registra en el registro de auditoría de gestión como
organization_defaults.updatedcon los nombres de los campos modificados, nunca sus valores.
Respuesta
200 OK con los valores predeterminados actualizados y el nuevo 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
}
Errores
| HTTP | código | Cuándo |
|---|---|---|
| 400 | unknown_field |
El parche contiene un campo desconocido o de solo lectura, o no es un objeto JSON (malformed_request). |
| 403 | insufficient_permissions |
La credencial no tiene el permiso requerido. |
| 409 | last_org_admin |
El nuevo rol de administrador dejaría una organización sin un administrador activo. |
| 412 | precondition_failed |
If-Match no coincide con la versión actual. |
| 415 | unsupported_media_type |
El tipo de contenido no es application/merge-patch+json. |
| 422 | validation_failed |
Un valor no es válido (el puntero indica el campo), o un campo se estableció en null (code: invalid). |
| 428 | precondition_required |
Falta If-Match. |
Ejemplo
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