Actualizar un cliente de gestión

PATCH /v1/management-clients/{application_id} · permiso management-clients:write

Actualiza un registro de cliente de gestión con un JSON merge patch (RFC 7396, application/merge-patch+json): los campos que envía cambian, los demás se mantienen. If-Match es obligatorio: sin él, la solicitud falla con 428, y con una versión que ya no coincide falla con 412. Solo una clave de API puede llamar a este endpoint.

Solicitud

Parámetro En Descripción
application_id ruta ID de la aplicación (app_…).
If-Match cabecera El ETag de la última lectura o escritura.

Cuerpo: cualquiera de los campos siguientes.

Campo Tipo Obligatorio Descripción
permissions string[] no De 1 a 200 permisos <resource>:<action> conocidos. Reemplaza la lista completa; no puede ser null.
allowed_cidrs string[] | null no Hasta 20 bloques CIDR. Reemplaza la lista completa; null o [] usa la lista propia de la clave que realiza la llamada.

Un parche que no cambia nada deja el registro, su versión y el registro de auditoría como estaban. Una clave restringida no puede modificar un registro más amplio que ella misma (403 permission_escalation).

Respuesta

200 OK, con el nuevo ETag.

{
  "application_id": "app_01h455vb4pex5vsknk084sn02q",
  "permissions": ["users:read"],
  "allowed_cidrs": ["203.0.113.0/24"]
}

Errores

HTTP code Cuándo
400 unknown_field El parche contiene un campo distinto de permissions y allowed_cidrs.
403 permission_escalation El registro, o el registro tras el parche, es más amplio que la clave que realiza la llamada.
404 not_found La aplicación no tiene registro en este entorno.
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 permissions es null, está vacío o contiene un permiso desconocido, o un CIDR no es válido.
428 precondition_required Falta If-Match.

Ejemplo

curl -X PATCH https://api.eu.keenauth.com/v1/management-clients/app_01h455vb4pex5vsknk084sn02q \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/merge-patch+json" \
  -H 'If-Match: "3f2a9c0d7b1e4a6f8c5d2e1b0a9f8e7d"' \
  -d '{"permissions":["users:read"]}'

CLI: keenauth management-clients update app_01h455vb4pex5vsknk084sn02q --permissions users:read --if-match '"3f2a9c0d7b1e4a6f8c5d2e1b0a9f8e7d"'