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가 전송되었습니다.

예시

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