
# 조직 조회

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

관리자가 보는 방식으로 조직의 프로필을 반환합니다. 이름, 슬러그, 상태, 브랜드 색상, 버전을 포함합니다. 조직 프로필 화면에 표시되는 정보입니다. 인증된 사용자의 `__Host-idp_session` 쿠키가 필요합니다. 쿠키가 없거나, 만료되었거나, 취소된 경우 `401 unauthenticated`를 반환합니다. 다른 출처에 있는 자사 앱은 대신 프런트 API 액세스 토큰(DPoP 증명과 함께 `Authorization: DPoP <token>`)을 보낼 수 있습니다. 자세한 내용은 [프런트 API 액세스 토큰](/docs/api/fapi/front-api-token)을 참조하십시오. 사용자는 `idp_org:read` 권한을 가진 조직의 활성 구성원이어야 합니다. 구성원이 아닌 사용자에게는 `404 not_found`를 반환하여 조직의 존재 여부를 노출하지 않습니다. 권한이 없는 구성원에게는 `403 insufficient_permissions`를 반환합니다.

`@keenauth/js`를 사용하는 경우: `await keenauth.organizations.get(orgId)`.

## 요청

헤더:

| 헤더 | 필수 | 설명 |
| --- | --- | --- |
| `Idp-Client` | 예 | SDK 식별자입니다. |

`org_id`: 조직 식별자(`org_…`)입니다.

본문은 없습니다.

## 응답

`ETag: "<version>"`를 포함한 `200 OK`를 반환합니다.

| 필드 | 설명 |
| --- | --- |
| `id` | `org_…` 형식입니다. |
| `name` | 표시 이름입니다. 일반 텍스트로 렌더링하십시오. |
| `slug` | 조직의 슬러그입니다. |
| `status` | `active`, `disabled` 또는 `pending_deletion`입니다. |
| `brand_color` | `#RRGGBB` 형식이며, 설정되지 않은 경우 `null`입니다. |
| `deletion_due_at` | 조직이 삭제 대기 중일 때만 표시됩니다. 삭제될 예정 시각입니다. |
| `created_at`, `updated_at` | RFC 3339 형식의 시각입니다. |
| `version` | `ETag`에 담긴 버전입니다. 업데이트할 때 `If-Match`로 보내십시오. |

## 오류

| 상태 | 코드 | 발생 조건 |
| --- | --- | --- |
| 401 | `unauthenticated` | 유효한 세션 쿠키가 없습니다. |
| 403 | `insufficient_permissions` | 사용자에게 해당 조직의 `idp_org:read` 권한이 없습니다. |
| 404 | `not_found` | 이 사용자에 대한 조직이 없습니다. 존재하지 않거나, 형식이 잘못되었거나, 다른 조직의 식별자인 경우 모두 같은 응답입니다. |
| 503 | `service_unavailable` | 일시적으로 사용할 수 없습니다. `Retry-After`초 후에 다시 시도하십시오. |

## 예시

```bash
curl https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -b cookies.txt
```

```json
{
  "id": "org_01jbz6x8kq3m2n4p5r6s7t8v9a",
  "name": "Acme",
  "slug": "acme",
  "status": "active",
  "brand_color": "#112233",
  "created_at": "2026-11-03T09:00:00Z",
  "updated_at": "2026-11-03T09:30:00Z",
  "version": 4
}
```
