Update a management client

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

Updates a management client record with a JSON merge patch (RFC 7396, application/merge-patch+json): the fields you send change, the others stay. If-Match is required: without it the request fails with 428, and with a version that no longer matches it fails with 412. Only an API key can call this endpoint.

Request

Parameter In Description
application_id path Application ID (app_…).
If-Match header The ETag from the last read or write.

Body: any of the fields below.

Field Type Required Description
permissions string[] no 1-200 known <resource>:<action> permissions. Replaces the list as a whole; it cannot be null.
allowed_cidrs string[] | null no Up to 20 CIDR blocks. Replaces the list as a whole; null or [] uses the calling key's own list.

A patch that changes nothing leaves the record, its version and the audit log as they are. A restricted key cannot change a record that is broader than itself (403 permission_escalation).

Response

200 OK, with the new ETag.

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

Errors

HTTP code When
400 unknown_field The patch contains a field other than permissions and allowed_cidrs.
403 permission_escalation The record, or the patched record, is broader than the calling key.
404 not_found The application has no record in this environment.
412 precondition_failed If-Match does not match the current version.
415 unsupported_media_type The content type is not application/merge-patch+json.
422 validation_failed permissions is null, empty or contains an unknown permission, or a CIDR is invalid.
428 precondition_required If-Match is missing.

Example

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"'