
# Énumérer les API

`GET /v1/apis` · permission `apis:read`

Retourne les API de l'environnement (serveurs de ressources), les plus récentes en premier, sur des pages en curseur. Les API supprimées ne sont pas listées. L'environnement provient uniquement du credential. L'API système (`urn:idp:organization`) est incluse avec `is_system: true`.

## Demande

| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| `limit` | integer | non | 1-100, par défaut 20. |
| `after` | string | non | Curseur de `list_metadata.after`. Incompatible avec `before`. |
| `before` | string | non | Curseur de `list_metadata.before`. |
| `order` | string | non | `asc` ou `desc` (par défaut). Un curseur n'est valide que pour le même `order`. |

## Réponse

`200 OK`

```json
{
  "data": [ {
  "id": "api_01h455vb4pex5vsknk084sn02q",
  "key": "orders",
  "identifier": "https://api.example.com/orders",
  "name": "Orders API",
  "is_system": false,
  "access_token_lifetime_s": 3600,
  "token_format": "jwt",
  "rbac_mode": "off",
  "allow_offline_access": true,
  "require_resource_indicator": false,
  "dpop_required": false,
  "mcp_profile": false,
  "first_party_access": "all",
  "introspection_applications": [],
  "created_at": "2026-10-05T12:00:00Z",
  "updated_at": "2026-10-05T12:00:00Z"
} ],
  "list_metadata": { "before": null, "after": "eyJ2IjoxLi4ufQ" }
}
```

Un curseur `null` signifie qu'il n'y a plus d'enregistrements dans cette direction. Aucun décompte total n'est retourné.

## Erreurs

| HTTP | code | Quand |
|---|---|---|
| 400 | `invalid_cursor` | Le curseur est mal formé, altéré, ou a été émis pour un autre environnement ou `order`. |
| 422 | `validation_failed` | Un paramètre de requête est invalide (`errors[].pointer` le nomme). |
| 403 | `insufficient_permissions` | Le credential manque `apis:read`. |

## Exemple

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