Elenca le revisioni di una connessione
GET /v1/connections/{connection_id}/revisions · autorizzazione connections:read
Elenca le revisioni di una connessione enterprise (SAML o OIDC), dalla più recente: la bozza in attesa (al massimo una) e le revisioni pubblicate o scartate negli ultimi 90 giorni.
Su una connessione attiva, una modifica critica per la sicurezza non viene applicata direttamente. Diventa una revisione in bozza e la configurazione attiva resta invariata finché non testi e pubblichi la bozza:
- importare metadati SAML che modificano l'entity ID o l'URL SSO del provider di identità, oppure rimuovono un pin di firma (Importa i metadati);
- modificare l'
issuero ilclient_idOIDC (Imposta la configurazione OIDC); - ogni migrazione dell'host SP, indipendentemente dallo stato della connessione (Migra l'host SP).
Testa una bozza con Testa una connessione e il suo revision_id, poi pubblicala. Una nuova bozza scarta la precedente (discard_reason: superseded).
Una revisione mostra solo i nuovi valori non segreti (changes). Un nuovo client secret OIDC compare solo come client_secret_change (keep, replace o clear); il secret e i suoi ultimi caratteri non vengono mai restituiti. Chi ha creato o deciso una revisione è registrato nel log di audit di gestione (connection.revision_created, connection.revision_published), non qui.
Richiesta
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
connection_id |
path | sì | ID della connessione enterprise (conn_…). |
limit |
query | no | Dimensione della pagina, da 1 a 100 (predefinito 20). |
after |
query | no | Cursore da list_metadata.after. Il cursore funziona solo per la connessione che l'ha prodotto. |
L'elenco è paginato solo in avanti: before e order non sono supportati (422).
Risposta
200 OK:
{
"data": [
{
"id": "connrev_01j9xr8c2d4e6f8g0h2j4k6m8n",
"connection_id": "conn_01j9xp6q0r1s5t7v9w1x3y5z7b",
"protocol": "saml",
"kind": "sp_host",
"status": "draft",
"discard_reason": null,
"created_at": "2026-10-28T10:00:00Z",
"decided_at": null,
"purge_after": null,
"superseded_revision_id": null,
"changes": {
"sp_host": "login.example.com",
"idp_entity_id": null,
"idp_sso_url": null,
"idp_slo_url": null,
"certificate_fingerprints": [],
"mfa_authn_context_values": null,
"issuer": null,
"client_id": null,
"client_auth_method": null,
"provider_profile": null,
"client_secret_change": null
},
"latest_test": {
"test_id": "conntest_01j9xr4a6b8c0d2e4f6g8h0j2k",
"status": "passed",
"failure_reason": null,
"started_at": "2026-10-28T10:05:00Z",
"completed_at": "2026-10-28T10:06:00Z"
}
}
],
"list_metadata": { "before": null, "after": null }
}
| Campo | Descrizione |
|---|---|
kind |
configuration (modifica del provider di identità o del client OIDC) oppure sp_host (migrazione dell'host SP). |
status |
draft (in attesa di test e pubblicazione), published oppure discarded. |
decided_at / purge_after |
Quando la revisione è stata pubblicata o scartata, e quando viene eliminata (90 giorni dopo); null per una bozza. |
changes |
I nuovi valori. I campi che la revisione non modifica sono null. |
latest_test |
L'ultimo test di accesso di questa revisione nelle ultime 24 ore, oppure null. La pubblicazione richiede un test passed. |
Errori
| HTTP | code | Quando |
|---|---|---|
| 400 | invalid_cursor |
Il cursore è malformato oppure appartiene a un'altra connessione o a un'altra query. |
| 401 | unauthenticated |
La credenziale manca, non è valida o è stata revocata. |
| 403 | insufficient_permissions |
La credenziale non ha connections:read. |
| 404 | not_found |
La connessione non esiste in questo ambiente oppure non è una connessione enterprise. |
| 422 | validation_failed |
Un parametro di query non è valido (ad esempio limit superiore a 100, oppure before). |
| 429 | rate_limited |
È stato superato il limite di richieste; riprova dopo il periodo indicato in Retry-After. |
| 503 | service_unavailable |
Una dipendenza non è disponibile temporaneamente; riprova dopo il periodo indicato in Retry-After. |
Esempio
curl "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/revisions?limit=20" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
keenauth connections revisions list conn_01j9xp6q0r1s5t7v9w1x3y5z7b --limit 20