
# Listar conexiones

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

Lista las conexiones del entorno al que pertenece la credencial, de la más reciente a la más antigua, en páginas con cursor. El entorno siempre proviene de la credencial; nunca se devuelven conexiones de otros entornos. Cambiar `type` o `status` invalida los cursores emitidos para otro filtro (`400 invalid_cursor`).

## Solicitud

Parámetros de consulta:

| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `limit` | integer | no | 1-100, por defecto 20. |
| `after / before` | string | no | Cursores opacos de `list_metadata`; son mutuamente excluyentes. |
| `order` | string | no | `asc` o `desc` (por defecto) según la fecha de creación. |
| `type` | string | no | Filtra por tipo de conexión, por ejemplo `social`. |
| `status` | string | no | Filtra por estado: `active` o `inactive`. |

## Respuesta

`200 OK` con `data` (conexiones) y `list_metadata` (`before`, `after`; `null` cuando no hay más páginas en esa dirección). No se devuelve un recuento total.

```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>" }
}
```

## Errores

| HTTP | código | Cuándo |
|---|---|---|
| 400 | `invalid_cursor` | El cursor está mal formado o se emitió para otro filtro. |
| 422 | `validation_failed` | Un parámetro de consulta no es válido. |
| 401 | `unauthenticated` | La credencial falta, no es válida o fue revocada. |
| 403 | `insufficient_permissions` | La credencial no tiene el permiso requerido. |
| 429 | `rate_limited` | Se superó el límite de solicitudes; reintente después del período indicado en `Retry-After`. |
| 503 | `service_unavailable` | Una dependencia no está disponible temporalmente; reintente después del período indicado en `Retry-After`. |

## Ejemplo

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