
# API キーを一覧表示

`GET /v1/api-keys` · 権限 `api-keys:read`

環境の管理 API キーを新しい順に一覧表示します (`order=asc` で逆順)。失効済みや期限切れのキーも含まれます。生のキーは返されず、メタデータのみです。

## リクエスト

| パラメータ | 場所 | 説明 |
|---|---|---|
| `limit` | query | ページサイズ、1〜100。 |
| `after` | query | 次ページのカーソル (`list_metadata.after`)。 |
| `before` | query | 前ページのカーソル (`list_metadata.before`)。 |
| `order` | query | `desc` (既定、新しい順) または `asc`。 |

## レスポンス

`200 OK`。`last_used_ip` は /24 (IPv4) または /48 (IPv6) のプレフィックスに切り詰められます。

```json
{
  "data": [
    {
      "id": "key_0000000000000000000000001z",
      "name": "ci",
      "type": "restricted",
      "permissions": ["users:read"],
      "allowed_cidrs": [],
      "last4": "xxxx",
      "created_by": "key_…",
      "created_at": "2026-10-01T10:00:00Z",
      "expires_at": "2027-10-01T10:00:00Z",
      "last_used_at": null,
      "last_used_ip": null,
      "rotated_from": null,
      "revoked_at": null,
      "revoke_reason": null
    }
  ],
  "list_metadata": { "before": null, "after": null }
}
```

## エラー

| HTTP | `code` | 発生条件 |
|---|---|---|
| 400 | `invalid_cursor` | カーソルが不正です。 |
| 401 | `unauthenticated` | キーがない、無効、または失効しています。 |
| 403 | `insufficient_permissions` | キーに必要な権限がありません。 |
| 422 | `validation_failed` | クエリパラメータが不正です (例: 1〜100 の範囲外の `limit`)。 |

## 例

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