
# Elencare le API

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

Restituisce le API dell'ambiente (server di risorse), in ordine cronologico inverso, in pagine con cursor. Le API eliminate non vengono elencate. L'ambiente viene ottenuto solo dalla credenziale. L'API di sistema (`urn:idp:organization`) è inclusa con `is_system: true`.

## Richiesta

| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| `limit` | integer | no | 1-100, predefinito 20. |
| `after` | string | no | Cursor da `list_metadata.after`. Esclusivo con `before`. |
| `before` | string | no | Cursor da `list_metadata.before`. |
| `order` | string | no | `asc` o `desc` (predefinito). Un cursor è valido solo con lo stesso `order`. |

## Risposta

`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 cursor `null` significa che non ci sono più record in quella direzione. Nessun conteggio totale viene restituito.

## Errori

| HTTP | code | Quando |
|---|---|---|
| 400 | `invalid_cursor` | Il cursor è malformato, manomesso o è stato emesso per un altro ambiente o `order`. |
| 422 | `validation_failed` | Un parametro di query non è valido (`errors[].pointer` lo nomina). |
| 403 | `insufficient_permissions` | La credenziale non ha `apis:read`. |

## Esempio

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