Aggiornare un'applicazione

PATCH /v1/applications/{application_id} · permesso applications:write

Aggiorna un'applicazione con una Merge Patch JSON (application/merge-patch+json, RFC 7396): i campi che invii cambiano, null cancella un campo nullable, gli array vengono sostituiti completamente. If-Match è obbligatorio: senza di esso la richiesta fallisce con 428, con una versione obsoleta con 412. I campi immutabili key, app_type, registration_source e owner_org_id restituiscono 422 con codice immutable se invii un valore diverso. Una patch che non cambia nulla lascia l'applicazione e la sua versione inalterate.

Richiesta

Header: If-Match: "<version>" (obbligatorio), Content-Type: application/merge-patch+json.

Path: application_id (app_…).

Body: uno qualsiasi dei campi scrivibili elencati nella pagina di creazione (key, name, app_type, … connection_ids). null cancella un campo che è nullable; gli array sostituiscono l'intero elenco; jwks è sostituito come oggetto. I campi di sola lettura (id, client_id, version, created_at, updated_at, last_token_issued_at, last_token_asn) vengono rifiutati.

Risposta

200 OK con l'applicazione aggiornata e il nuovo ETag.

Errori

HTTP code Quando
401 unauthenticated La chiave è mancante, non valida o revocata.
403 insufficient_permissions La chiave non ha il permesso richiesto.
404 not_found L'applicazione non esiste in questo ambiente.
428 precondition_required L'header If-Match è mancante.
412 precondition_failed La versione in If-Match è obsoleta.
422 validation_failed Un campo non è valido o un campo immutabile è cambiato.
422 policy_conflict allowed_first_factors non ha alcun metodo in comune con l'insieme dei fattori di primo livello dell'ambiente.
400 unknown_field La patch ha un campo che non fa parte dello schema (inclusi i campi di sola lettura come id).
415 unsupported_media_type Content-Type non è application/merge-patch+json.

Esempio

curl -X PATCH https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/merge-patch+json" \
  -H 'If-Match: "1"' \
  -d '{"name":"Portal v2","login_host":null}'