
# CLI 用に環境を一覧表示

`GET https://api.keenauth.com/v1/environments` · `keenauth env list` から呼び出されます

`keenauth login` でサインインしたアカウントのうち、ダッシュボードのロールを持ち、CLI で作業できる環境を一覧表示します。アカウント、プロジェクト、または環境の割り当てを通じてロールが付与された環境が対象です。削除された環境と、削除されたプロジェクトの環境は一覧に含まれません。このエンドポイントを直接呼び出す必要はありません。`keenauth env list` で一覧を表示し、`keenauth env use <environment_id>` で環境を選択します。

複数のアカウントのメンバーである場合、一覧には現在のサインインのアカウントの環境だけが含まれます。他のアカウントの環境を見るには、そのアカウントでサインインしてください。どの環境にもロールがない場合、一覧は空になります。

## リクエスト

ヘッダー:

| ヘッダー | 必須 | 説明 |
| --- | --- | --- |
| `Authorization` | はい | `DPoP <access token>`: サインイン時に CLI が受け取ったアクセストークンです。 |
| `DPoP` | はい | このリクエストの DPoP 証明です(`htm` `GET`、クエリを除いた `htu` `https://api.keenauth.com/v1/environments`)。アクセストークンがバインドされた鍵で署名され、アクセストークンのハッシュとサーバーの nonce を含みます。 |

クエリパラメーター:

| パラメーター | 説明 |
| --- | --- |
| `limit` | ページサイズ。1〜100、既定値は 20 です。 |
| `after` | 前のページの `list_metadata.after` の値です。 |

一覧は前方向にのみページングします。`before` と `order` は `validation_failed` で拒否されます。

## レスポンス

`200 OK` と `Cache-Control: no-store`。最も新しい環境が先頭に来ます:

| フィールド | 説明 |
| --- | --- |
| `data[].id` | 環境(`env_…`)です。`keenauth env use` および管理トークンのリクエストで使用します。 |
| `data[].slug` | 環境の DNS ラベル(`<slug>.<region>.keenauth.app`)です。 |
| `data[].display_name` | 環境の名前です。 |
| `data[].environment_type` | `production`、`staging`、または `development` です。 |
| `data[].region` | 環境データのリージョンです(例: `eu`)。 |
| `data[].project_id` | プロジェクト(`proj_…`)です。 |
| `data[].project_name` | プロジェクトの名前です。 |
| `data[].account_id` | アカウント(`acct_…`)です。 |
| `data[].dashboard_role` | 環境におけるあなたのダッシュボードロールです(`owner`、`admin`、`developer`、`support`、`billing`、`viewer`、またはカスタムロールだけが該当する場合は `custom`)。 |
| `data[].created_at` | 環境が作成された日時です(RFC 3339、UTC)。 |
| `list_metadata.after` | 次のページのカーソルです。最後のページでは `null` です。 |
| `list_metadata.before` | 常に `null` です。 |

カーソルはあなたとアカウントに紐付けられています。別のユーザーや別のサインインでは機能しません。

## エラー

| ステータス | コード | 発生条件 |
| --- | --- | --- |
| 400 | `invalid_cursor` | `after` カーソルの形式が不正、改変されている、または別のユーザーかアカウント向けに発行されたものです。 |
| 401 | `unauthenticated` | アクセストークンが送信されていません。 |
| 401 | `invalid_token` | アクセストークンが無効、期限切れ、または CLI のものではありません。`keenauth login` で再度サインインしてください。 |
| 401 | `invalid_dpop_proof` | DPoP 証明がない、重複している、またはリクエストやトークンの鍵と一致しません。 |
| 401 | `use_dpop_nonce` | レスポンスヘッダー `DPoP-Nonce` の nonce を含む証明で再試行してください。 |
| 401 | `insufficient_user_authentication` | 多要素認証が必要です。再度サインインしてください。 |
| 422 | `validation_failed` | `limit` が 1〜100 の整数ではない、パラメーターが重複している、または `before` か `order` が送信されました。 |

## 例

```bash
curl "https://api.keenauth.com/v1/environments?limit=50" \
  -H "Authorization: DPoP $ACCESS_TOKEN" \
  -H "DPoP: $DPOP_PROOF"
```
