List your environments for the CLI
GET https://api.keenauth.com/v1/environments · called by keenauth env list
Lists the environments you can work on with the CLI: the environments of the account you signed in to with keenauth login in which you have a dashboard role, through an account, project or environment assignment. Deleted environments and environments of deleted projects are not listed. You do not call this endpoint yourself; keenauth env list shows the list and keenauth env use <environment_id> picks one.
If you are a member of more than one account, the list holds the environments of the account of your current sign-in only; sign in to the other account to see its environments. If you have no role in any environment, the list is empty.
Request
Headers:
| Header | Required | Description |
|---|---|---|
Authorization |
yes | DPoP <access token>: the access token the CLI received when you signed in. |
DPoP |
yes | A DPoP proof for this request (htm GET, htu https://api.keenauth.com/v1/environments without the query), signed with the key the access token is bound to; it carries the hash of the access token and the server nonce. |
Query parameters:
| Parameter | Description |
|---|---|
limit |
Page size, 1 to 100; default 20. |
after |
The list_metadata.after value of the previous page. |
The list pages forward only: before and order are refused with validation_failed.
Response
200 OK with Cache-Control: no-store, newest environment first:
| Field | Description |
|---|---|
data[].id |
The environment (env_…); use it with keenauth env use and the management token request. |
data[].slug |
The environment's DNS label (<slug>.<region>.keenauth.app). |
data[].display_name |
The environment's name. |
data[].environment_type |
production, staging or development. |
data[].region |
The region of the environment's data, for example eu. |
data[].project_id |
The project (proj_…). |
data[].project_name |
The project's name. |
data[].account_id |
The account (acct_…). |
data[].dashboard_role |
Your dashboard role in the environment (owner, admin, developer, support, billing, viewer, or custom when only custom roles cover it). |
data[].created_at |
When the environment was created (RFC 3339, UTC). |
list_metadata.after |
Cursor of the next page; null on the last page. |
list_metadata.before |
Always null. |
The cursor is bound to you and to the account; it does not work for another user or another sign-in.
Errors
| Status | Code | When |
|---|---|---|
| 400 | invalid_cursor |
The after cursor is malformed, altered or was issued for another user or account. |
| 401 | unauthenticated |
No access token was sent. |
| 401 | invalid_token |
The access token is invalid, expired or not the CLI's; sign in again with keenauth login. |
| 401 | invalid_dpop_proof |
The DPoP proof is missing, repeated or does not match the request or the token's key. |
| 401 | use_dpop_nonce |
Retry with a proof that carries the nonce of the DPoP-Nonce response header. |
| 401 | insufficient_user_authentication |
Multi-factor authentication is required; sign in again. |
| 422 | validation_failed |
limit is not an integer from 1 to 100, a parameter is repeated, or before or order was sent. |
Example
curl "https://api.keenauth.com/v1/environments?limit=50" \
-H "Authorization: DPoP $ACCESS_TOKEN" \
-H "DPoP: $DPOP_PROOF"