조직 역할 목록 조회

GET /fapi/v1/organizations/{org_id}/roles · 환경의 로그인 호스트에서 호출

조직 자체의 역할과 조직 관리자가 할당할 수 있는 환경 역할을 식별자 순으로 반환합니다. 인증된 사용자의 __Host-idp_session 쿠키가 필요하며, 쿠키가 없거나 만료되었거나 취소된 경우 401 unauthenticated를 반환합니다. 다른 origin의 자사 애플리케이션은 대신 프론트 API 액세스 토큰(DPoP 증명과 함께 Authorization: DPoP <token>)을 보낼 수 있습니다(프론트 API 액세스 토큰 참조). 사용자는 idp_roles:manage 권한을 가진 조직의 활성 멤버여야 합니다. 멤버가 아닌 사용자는 404 not_found를 받으며, 이로써 조직의 존재 여부가 노출되지 않습니다. 권한이 없는 멤버는 403 insufficient_permissions를 받습니다. 조직 역할은 환경에서 활성화되어 있고 요금제에 포함되어 있어야 합니다.

요청

헤더:

헤더 필수 여부 설명
Idp-Client 예 SDK 식별자.

org_id: 조직 식별자(org_…).

쿼리 매개변수:

매개변수 필수 여부 설명
limit 아니요 페이지 크기, 1에서 100까지. 기본값 20.
after 아니요 이전 페이지의 next_after 값.

본문 없음.

응답

200 OK:

필드 타입 설명
data[] object[] 역할 목록. 필드는 조직 역할 조회에 설명되어 있습니다.
next_after string 다음 페이지를 조회할 때 after로 전달합니다. 마지막 페이지에는 없습니다.
{
  "data": [
    {
      "id": "rol_01jbz6x8kq3m2n4p5r6s7t8v9w",
      "organization_id": "org_01jbz6x8kq3m2n4p5r6s7t8v9a",
      "key": "auditor",
      "name": "Auditor",
      "description": "Read-only access to reports",
      "is_privileged": false,
      "assignable_in_self_service": true,
      "permission_ids": ["perm_01jbz6x8kq3m2n4p5r6s7t8v9b"],
      "created_at": "2026-10-28T09:30:00Z",
      "updated_at": "2026-10-28T09:30:00Z",
      "version": 1
    }
  ]
}

오류

상태 코드 발생 조건
400 invalid_cursor after가 이전 페이지에서 받은 역할 식별자가 아닙니다.
401 unauthenticated 유효한 세션 쿠키가 없습니다.
403 insufficient_permissions 사용자에게 조직의 idp_roles:manage 권한이 없습니다.
403 plan_feature_unavailable 환경의 요금제에 조직 역할이 포함되어 있지 않습니다(feature, required_plan).
403 org_custom_roles_disabled 환경에서 조직 역할이 꺼져 있습니다.
404 not_found 이 사용자에 대한 조직 또는 역할이 없습니다(알 수 없거나, 형식이 잘못되었거나, 다른 사용자의 식별자도 같은 응답을 받습니다).
422 validation_failed limit이 허용 범위를 벗어났습니다.
503 service_unavailable 일시적으로 사용할 수 없습니다. Retry-After 이후에 다시 시도하십시오.

예제

curl https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/roles?limit=20 \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -b cookies.txt