Testa una connessione

POST /v1/connections/{connection_id}:test · autorizzazione connections:write

Avvia un accesso di prova con la configurazione attuale di una connessione enterprise e restituisce un URL di test. Chi configura la connessione apre l'URL in un browser e accede presso il provider di identità. Il browser torna quindi a return_url con il parametro di query test_id. Leggi l'esito con Ottieni l'ultimo risultato del test.

Un accesso di prova non crea alcuna sessione, non effettua il provisioning di alcun utente e non collega alcun account. Un test superato è necessario per attivare la connessione; modificare la configurazione del provider di identità lo invalida.

Per testare una revisione in bozza invece della configurazione attiva, invia il suo revision_id. La bozza viene sovrapposta alla configurazione attiva solo per questo test (per una migrazione dell'host SP, l'URL di test si trova sul nuovo host). Un test superato di una revisione è la prova richiesta da Pubblica una revisione; non conta come prova di attivazione per la configurazione attiva.

Il test_url è un link al portatore: chiunque lo possieda può eseguire il test entro 10 minuti, una sola volta. Viene restituito solo in questa risposta (Cache-Control: no-store) e non viene mai registrato né sottoposto ad audit. Se ripeti la richiesta con lo stesso Idempotency-Key, la risposta riprodotta non ha test_url e contiene secret_redacted: true; avvia invece un nuovo test. Gli avvii vengono sottoposti ad audit come connection.test_started con solo l'ID del test.

Richiesta

Campo Tipo Obbligatorio Descrizione
connection_id path sì ID della connessione enterprise (conn_…).
return_url string sì URL https assoluto a cui il browser torna dopo il test, lungo al massimo 2048 byte. test_id viene aggiunto come parametro di query.
revision_id string no Una revisione in bozza della connessione (connrev_…) da testare invece della configurazione attiva.

Risposta

200 OK:

{
  "test_id": "conntest_01j9xr4a6b8c0d2e4f6g8h0j2k",
  "test_url": "https://acme.eu1.keenauth.app/sso/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/start?t=…",
  "expires_at": "2026-10-20T10:10:00Z"
}
Campo Descrizione
test_id ID del test (conntest_…).
test_url L'URL da aprire in un browser; valido per 10 minuti e per un solo utilizzo. Non condividerlo né registrarlo. Assente in una risposta riprodotta.
expires_at Quando scade l'URL di test.
secret_redacted true in una risposta riprodotta per lo stesso Idempotency-Key.

Errori

HTTP code Quando
404 not_found La connessione non esiste in questo ambiente oppure non è una connessione enterprise.
409 conflict La connessione non può ancora essere testata (manca la configurazione del protocollo).
422 validation_failed return_url manca o non è un URL https assoluto (errors[] punta a /return_url), oppure revision_id è malformato (invalid_value) o non è una revisione in bozza di questa connessione (not_found; puntatore /revision_id).
400 unknown_field Il corpo contiene un campo sconosciuto.
401 unauthenticated La credenziale manca, non è valida o è stata revocata.
403 insufficient_permissions La credenziale non ha l'autorizzazione richiesta.
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 -X POST "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b:test" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"return_url":"https://admin.example.com/sso/test-done"}'
keenauth connections test conn_01j9xp6q0r1s5t7v9w1x3y5z7b --return-url https://admin.example.com/sso/test-done