
# Ottieni l'ultimo risultato del test di una connessione

`GET /v1/connections/{connection_id}/test-results/latest` · permesso `connections:write`

Restituisce il risultato del più recente [accesso di prova](test.md) di una connessione enterprise avvenuto nelle ultime 24 ore: stato, motivo del fallimento, i **nomi** degli attributi o dei claim inviati dal provider di identità, il numero dei gruppi e i campi utente che hanno ricevuto un valore tramite la mappatura degli attributi. I valori degli attributi, l'asserzione SAML grezza e l'ID token non vengono mai salvati né restituiti. I risultati dei test vengono conservati per 24 ore. Le letture non vengono tracciate.

## Richiesta

| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `connection_id` | percorso | sì | ID della connessione enterprise (`conn_…`). |

## Risposta

`200 OK`:

```json
{
  "test_id": "conntest_01j9xr4a6b8c0d2e4f6g8h0j2k",
  "status": "passed",
  "failure_reason": null,
  "attribute_names": ["email", "given_name", "groups"],
  "group_count": 2,
  "mapped_fields": ["email", "given_name"],
  "started_at": "2026-10-20T10:00:00Z",
  "completed_at": "2026-10-20T10:01:12Z"
}
```

| Campo | Descrizione |
|---|---|
| `status` | `pending` (l'URL non è ancora stato aperto oppure il provider di identità non ha ancora risposto), `passed` oppure `failed`. |
| `failure_reason` | Motivo leggibile dalla macchina di un test fallito (per esempio `configuration_changed` quando la connessione è stata modificata durante il test); altrimenti `null`. |
| `attribute_names` | Nomi degli attributi o dei claim inviati dal provider di identità (non i loro valori). |
| `group_count` | Numero di gruppi ricevuti. |
| `mapped_fields` | Campi utente che hanno ricevuto un valore tramite la mappatura degli attributi (non i valori). |
| `started_at`, `completed_at` | Quando il test è iniziato e quando la risposta del provider di identità è stata elaborata; `completed_at` è `null` finché lo stato è `pending`. |

## Errori

| HTTP | code | Quando |
|---|---|---|
| 404 | `not_found` | La connessione non esiste in questo ambiente, non è una connessione enterprise, oppure non ha un risultato di test delle ultime 24 ore. |
| 401 | `unauthenticated` | La credenziale è mancante, non valida o revocata. |
| 403 | `insufficient_permissions` | La credenziale non ha il permesso richiesto. |
| 429 | `rate_limited` | È stato superato il limite di frequenza; riprova dopo il periodo indicato da `Retry-After`. |
| 503 | `service_unavailable` | Una dipendenza è temporaneamente non disponibile; riprova dopo il periodo indicato da `Retry-After`. |

## Esempio

```bash
curl "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/test-results/latest" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

```bash
keenauth connections test-results latest conn_01j9xp6q0r1s5t7v9w1x3y5z7b
```
