
# 세션 조회

`GET /v1/sessions/{session_id}` · 권한 `sessions:read`

상태(`active`, `expired`, `revoked`)와 관계없이 세션 하나를 반환합니다. 전체 IP 주소가 표시되며, 이 조회는 관리 감사 로그에 기록됩니다. 쿠키, 토큰, 기기 지문은 반환되지 않습니다.

## 요청

| 매개변수 | 위치 | 필수 여부 | 설명 |
|---|---|---|---|
| `session_id` | path | 예 | 세션 ID이며 `ses_` 접두사가 붙습니다. |

## 응답

`200 OK`. 비어 있는 필드는 `null`입니다.

```json
{
  "id": "ses_0a1b2c3d4e5f6g7h8j9k0m1n2p",
  "user_id": "usr_0a1b2c3d4e5f6g7h8j9k0m1n2p",
  "status": "revoked",
  "login_host": "login.example.com",
  "auth_time": "2026-02-01T08:00:00Z",
  "acr": "1fa",
  "amr": ["pwd"],
  "created_at": "2026-02-01T08:00:00Z",
  "last_seen_at": "2026-02-01T09:15:00Z",
  "idle_expires_at": "2026-02-08T09:15:00Z",
  "absolute_expires_at": "2026-03-03T08:00:00Z",
  "org_id": "org_0a1b2c3d4e5f6g7h8j9k0m1n2p",
  "ip_address": "203.0.113.10",
  "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_0)",
  "revoked_at": "2026-02-01T10:00:00Z",
  "revoke_reason": "admin"
}
```

`revoke_reason`은 `revoked` 세션에만 설정되며, 예를 들어 `admin`, `user_logout`, `idp_logout` 또는 `refresh_reuse`가 있습니다.

## 오류

모든 오류는 안정적인 `code`가 포함된 `application/problem+json` 본문으로 반환됩니다.

| HTTP | `code` | 발생 조건 |
|---|---|---|
| 404 | `not_found` | 이 환경에 세션이 없거나 ID 형식이 잘못되었습니다. |
| 401 | `unauthenticated` | API 키가 없거나 잘못되었거나 취소되었습니다. |
| 403 | `insufficient_permissions` | 키에 `sessions:read` 권한이 없습니다. |
| 429 | `rate_limited` | 요청 한도를 초과했습니다. `Retry-After`를 준수하십시오. |
| 503 | `service_unavailable` | 종속 서비스를 일시적으로 사용할 수 없습니다. 나중에 다시 시도하십시오. |

## 예시

```bash
curl https://api.eu.keenauth.com/v1/sessions/ses_0a1b2c3d4e5f6g7h8j9k0m1n2p \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

CLI: `keenauth sessions get ses_0a1b2c3d4e5f6g7h8j9k0m1n2p`

## 개인정보

이 엔드포인트는 개인정보(세션)를 다룹니다. [KeenAuth API의 개인정보](/docs/policies/personal-data)에서 저장되는 항목, 보관 기간, 삭제 방법을 확인할 수 있습니다. 어떤 필드에도 특수 범주의 개인정보(건강, 생체 정보, 종교, 정치적 견해, 성적 指向)를 보내지 마십시오.
