
# Listar clientes de gestión

`GET /v1/management-clients` · permiso `management-clients:read`

Devuelve los registros de clientes de gestión del entorno en páginas por cursor, ordenados por `application_id` (descendente por defecto). Un registro pertenece a una aplicación de tipo `management` y contiene su límite máximo de permisos y su lista de IP permitidas en la API de gestión. Las claves de firma del cliente no forman parte de este recurso: gestiónelas con `/v1/applications/{application_id}/credentials`. Solo una clave de API puede llamar a este endpoint; el entorno se determina a partir de la clave.

## Solicitud

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `limit` | integer | no | De 1 a 100, por defecto 20. |
| `after` | string | no | Cursor de `list_metadata.after`. Excluyente con `before`. |
| `before` | string | no | Cursor de `list_metadata.before`. |
| `order` | string | no | `asc` o `desc` (por defecto). Un cursor solo es válido con el mismo `order`. |

## Respuesta

`200 OK`

```json
{
  "data": [
    {
      "application_id": "app_01h455vb4pex5vsknk084sn02q",
      "permissions": ["users:read", "users:write"],
      "allowed_cidrs": ["203.0.113.0/24"]
    }
  ],
  "list_metadata": { "before": null, "after": null }
}
```

Un cursor `null` indica que no hay más registros en esa dirección. No se devuelve un total. Al eliminar una aplicación se elimina su registro; un registro cuya aplicación ya no existe nunca se lista y se elimina cuando una página lo alcanza, por lo que una página puede contener menos registros que `limit` mientras `after` siga definido. Siga usando el cursor.

## Errores

| HTTP | code | Cuándo |
|---|---|---|
| 400 | `invalid_cursor` | El cursor está mal formado, alterado, o se emitió para otro entorno o para otro `order`. |
| 403 | `insufficient_permissions` | La credencial no tiene `management-clients:read`, o no es una clave de API. |
| 422 | `validation_failed` | Un parámetro de consulta no es válido. |

## Ejemplo

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

CLI: `keenauth management-clients list --limit 20`
