Aggiorna un client di gestione

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

Aggiorna un record di client di gestione con un JSON merge patch (RFC 7396, application/merge-patch+json): i campi che invii cambiano, gli altri restano invariati. If-Match è obbligatorio: senza di esso la richiesta fallisce con 428, e con una versione non più corrispondente fallisce con 412. Solo una chiave API può chiamare questo endpoint.

Richiesta

Parametro In Descrizione
application_id path ID dell'applicazione (app_…).
If-Match header L'ETag dell'ultima lettura o scrittura.

Corpo: uno qualsiasi dei campi seguenti.

Campo Tipo Obbligatorio Descrizione
permissions string[] no Da 1 a 200 permessi <resource>:<action> noti. Sostituisce l'intero elenco; non può essere null.
allowed_cidrs string[] | null no Fino a 20 blocchi CIDR. Sostituisce l'intero elenco; null o [] usa la lista della chiave che effettua la chiamata.

Una patch che non modifica nulla lascia invariati il record, la sua versione e il log di audit. Una chiave con restrizioni non può modificare un record più ampio di sé stessa (403 permission_escalation).

Risposta

200 OK, con il nuovo ETag.

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

Errori

HTTP code Quando
400 unknown_field La patch contiene un campo diverso da permissions e allowed_cidrs.
403 permission_escalation Il record, o il record dopo la patch, è più ampio della chiave che effettua la chiamata.
404 not_found L'applicazione non ha un record in questo ambiente.
412 precondition_failed If-Match non corrisponde alla versione corrente.
415 unsupported_media_type Il tipo di contenuto non è application/merge-patch+json.
422 validation_failed permissions è null, vuoto o contiene un permesso sconosciuto, oppure un CIDR non è valido.
428 precondition_required If-Match manca.

Esempio

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