사용자의 인증기 목록 조회
GET /v1/users/{user_id}/authenticators · 권한 users:read
사용자의 인증기(패스키, TOTP, SMS, 이메일, 푸시 요소)를 생성 시간순으로 한 페이지에 나열합니다. 지난 90일 동안 취소된 인증기도 포함됩니다. 사용자당 인증기 수는 제한되어 있으므로 목록에는 limit, after, before, order가 없으며, list_metadata는 항상 null 값입니다. 메타데이터만 반환되며, 공개 키, 자격 증명 ID, TOTP 비밀 값, 복구 코드는 절대 반환되지 않습니다.
조직 범위
조직 관리자를 위한 멤버 진단 보기를 만들려면 org_id를 전달하십시오. 이때 키에는 organizations:read 권한도 필요합니다. 이 권한이 없으면 아무것도 읽기 전에 403 insufficient_permissions로 요청이 실패합니다. 사용자가 해당 조직의 멤버가 아니면(invited, active, suspended 멤버십이 없음) 알 수 없는 사용자와 동일한 응답인 404 not_found로 요청이 실패합니다. 사용자가 멤버이면 각 인증기의 종류와 MFA 등록 여부만 표시됩니다. 활성 인증기만 나열되며, label, last_used_at, revoked_at, revoked_by, revoke_reason은 null이고 synced는 false입니다. 조직 외부에 있는 사용자 기기의 세부 정보는 조직에 속하지 않기 때문입니다. role이 second_factor 또는 both인 활성 인증기가 있으면 MFA가 등록된 것입니다. org_id가 없으면 응답은 변경되지 않습니다.
요청
| 매개변수 | 위치 | 필수 | 설명 |
|---|---|---|---|
user_id |
경로 | 예 | 사용자 ID이며, 접두사는 usr_입니다. |
org_id |
쿼리 | 아니요 | 조직 ID이며, 접두사는 org_입니다. 보기를 해당 조직으로 제한합니다. 조직 범위를 참조하십시오. organizations:read가 필요합니다. |
응답
200 OK. data에는 생성 시간순으로 정렬된 인증기가 담깁니다. 목록이 페이지로 나뉘지 않으므로 list_metadata는 항상 null 값입니다. 빈 필드는 null입니다.
키에 users:read_pii 권한이 없으면 label은 이니셜(A. L.)로 축약됩니다.
{
"data": [
{
"id": "cred_0a1b2c3d4e5f6g7h8j9k0m1n2p",
"type": "webauthn",
"role": "both",
"label": "Laptop",
"status": "active",
"synced": true,
"created_at": "2026-01-15T09:30:00Z",
"last_used_at": "2026-02-01T08:00:00Z",
"revoked_at": null,
"revoked_by": null,
"revoke_reason": null
}
],
"list_metadata": {
"before": null,
"after": null
}
}
type: webauthn, totp, sms, email, push · role: first_factor, second_factor, both · status: pending, active, revoked, clone_suspected
오류
모든 오류는 안정적인 code를 포함한 application/problem+json 본문으로 반환됩니다.
| HTTP | code |
발생 조건 |
|---|---|---|
| 404 | not_found |
이 환경에 사용자가 없거나(또는 ID 형식이 잘못됨), org_id를 전달했는데 사용자가 해당 조직의 멤버가 아닙니다. |
| 401 | unauthenticated |
API 키가 없거나 잘못되었거나 취소되었습니다. |
| 403 | insufficient_permissions |
키에 users:read 권한이 없거나, org_id를 전달했는데 키에 organizations:read가 없습니다. |
| 429 | rate_limited |
요청 한도를 초과했습니다. Retry-After를 준수하십시오. |
| 503 | service_unavailable |
종속 서비스를 일시적으로 사용할 수 없습니다. 나중에 다시 시도하십시오. |
예제
curl https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/authenticators \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
개인정보
이 엔드포인트는 개인정보를 다룹니다: 자격 증명. KeenAuth API의 개인정보에서 저장되는 항목, 보관 기간, 삭제 방법을 설명합니다. 어떤 필드에도 특수 범주의 개인정보(건강, 생체 정보, 종교, 정치적 견해, 성적 지향)를 보내지 마십시오.