
# Lister les connexions

`GET /v1/connections` · autorisation `connections:read`

Liste les connexions de l'environnement auquel appartient l'identifiant d'authentification, de la plus récente à la plus ancienne, par pages à curseur. L'environnement provient toujours de l'identifiant d'authentification ; les connexions d'autres environnements ne sont jamais renvoyées. Modifier `type` ou `status` invalide les curseurs émis pour un autre filtre (`400 invalid_cursor`).

## Requête

Paramètres de requête :

| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| `limit` | integer | non | De 1 à 100, valeur par défaut 20. |
| `after / before` | string | non | Curseurs opaques issus de `list_metadata` ; mutuellement exclusifs. |
| `order` | string | non | `asc` ou `desc` (par défaut) selon la date de création. |
| `type` | string | non | Filtre par type de connexion, par exemple `social`. |
| `status` | string | non | Filtre par statut : `active` ou `inactive`. |

## Réponse

`200 OK` avec `data` (connexions) et `list_metadata` (`before`, `after` ; `null` lorsqu'il n'existe pas de page suivante dans cette direction). Aucun nombre total n'est renvoyé.

```json
{
  "data": [{
      "id": "conn_0k3v8m1q2x9dz4h7s5t6w0y1ab",
      "key": "google",
      "type": "social",
      "strategy": "google",
      "name": "Google",
      "display_name": "Sign in with Google",
      "status": "inactive",
      "org_id": null,
      "allowed_email_domains": [],
      "allow_external_domains": false,
      "jit_mode": null,
      "email_trust": null,
      "default_role_ids": [],
      "trust_idp_mfa": null,
      "allow_idp_initiated": null,
      "idp_initiated_default_application_id": null,
      "idp_initiated_allowed_application_ids": [],
      "settings": {},
      "created_at": "2026-10-05T09:30:00.123456Z",
      "updated_at": "2026-10-05T09:30:00.123456Z"
    }],
  "list_metadata": { "before": null, "after": "<cursor>" }
}
```

## Erreurs

| HTTP | code | Quand |
|---|---|---|
| 400 | `invalid_cursor` | Le curseur est mal formé ou a été émis pour un autre filtre. |
| 422 | `validation_failed` | Un paramètre de requête est invalide. |
| 401 | `unauthenticated` | L'identifiant d'authentification est absent, invalide ou révoqué. |
| 403 | `insufficient_permissions` | L'identifiant d'authentification ne dispose pas de l'autorisation requise. |
| 429 | `rate_limited` | La limite de débit a été dépassée ; réessayez après la période indiquée par `Retry-After`. |
| 503 | `service_unavailable` | Une dépendance est temporairement indisponible ; réessayez après la période indiquée par `Retry-After`. |

## Exemple

```bash
curl "https://api.eu.keenauth.com/v1/connections?type=social&limit=20" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```
