
# API キーを取得

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

API キー 1 件のメタデータを返します。生のキーは返されません。

`last_used_at` は 1 分に最大 1 回書き込まれるため、直近のリクエストより最大 1 分遅れることがあります。`last_used_ip` はそのリクエストの /24 (IPv4) または /48 (IPv6) ネットワークで、完全なアドレスは保存されません。環境は `expires_at` の 30 日、7 日、1 日前に `api_key.expiry_warned` イベントを受け取ります(しきい値ごとに 1 回。失効済みおよびローテーション中のキーは受け取りません)。

## リクエスト

| パラメータ | 場所 | 説明 |
|---|---|---|
| `key_id` | パス | API キー ID (`key_…`)。 |

## レスポンス

`200 OK`。キーオブジェクト。

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

## エラー

| HTTP | `code` | 発生条件 |
|---|---|---|
| 401 | `unauthenticated` | キーがない、無効、または失効しています。 |
| 403 | `insufficient_permissions` | キーに必要な権限がありません。 |
| 404 | `not_found` | この環境にキーが存在しません。 |

## 例

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