먼저 확인하세요 — FaceAuth는 2가지 방식이 있습니다.이 API는 고객사가 카메라 UI를 직접 구현하고 촬영 이미지를 전송하는 방식입니다. 이 방식은 Active Liveness를 지원하지 않으므로, 휴대폰 화면 재생·정지 사진 등 스푸핑 시도를 차단할 수 없습니다. 실제 촬영(라이브니스) 검증이 필요하다면 Face Auth URL 방식을 권장합니다.→ 두 방식 비교 및 URL 방식 가이드: FaceAuth 시작하기 · FACE AUTH 가이드
rejected여도 요청 자체는 정상 처리되었으므로 201 Created를 반환합니다.
1. Base URL
POST/Face-auth
2. 인증
x-api-key header에 FaceAuth 프로젝트 API key를 포함해야 합니다.
x-api-key
3. 요청 예시
multipart/form-data를 사용합니다.
POST/Face-auth
4. 요청 본문
string
필수
비교 기준이 되는 승인된 KYC submission의 ID입니다. 동일 FaceAuth 프로젝트에 속해야 합니다.
file
필수
비교 대상 얼굴 이미지 파일입니다. 내용이 비어 있지 않은 이미지 파일이어야 합니다. PPE(머리 보호구, 얼굴 보호구) 옵션을 사용할 경우 정확한 인식을 위해 이미지에 모든 안전장비가 명확하게 포함되어야 합니다.
base64 문자열은 지원하지 않습니다. 파일로 전송하세요.string
고객사 사용자 식별자입니다.
string
고객사 custom field 1의 값입니다.
string
고객사 custom field 2의 값입니다.
string
고객사 custom field 3의 값입니다.
- 정의되지 않은 field, 같은 field의 중복 전달,
faceImage또는submissionId누락은 허용하지 않습니다. userId,cf1,cf2,cf3는 제출 시 함께 저장되지만 조회 응답에는 포함되지 않습니다. 대시보드 또는 FaceAuth 웹훅에서 확인하세요.
5. 응답
5-1. 성공
제출 생성에 성공하면201 Created와 함께 FaceAuthSubmission 객체가 돌아옵니다. authId는 이후 단건 조회·이미지 다운로드·삭제 요청의 path parameter로 사용합니다.
result.json
submitType은 항상api입니다.deleteTime은 항상null입니다.signals는 항상null입니다. Face Auth URL 화면에서만 수집되는 값입니다.result.activeLivenessScore는 항상null입니다. API 방식에서는 Active Liveness를 실행하지 않습니다.
POST 응답과 이후 같은
authId의 단건 조회 응답은 같은 객체입니다. Active Liveness가 필요하면 Face Auth URL 흐름을 사용해야 합니다.5-2. 거절
result.json
5-3. 거절 코드(failCode)
Face_Occluded_fail과 Face_cover_fail은 이름이 비슷하지만 원인이 반대입니다. 전자는 얼굴을 가려서 거절된 것이고, 후자는 보호장비를 착용하지 않아서 거절된 것입니다. 두 정책을 동시에 켜면 서로 충돌할 수 있으므로 용도에 맞는 하나만 사용하세요.맨얼굴로 제출했는데 Face_cover_fail이나 Head_cover_fail이 나오는 것은 정상 동작입니다. 보호장비 착용을 요구하는 정책이 켜져 있다는 뜻이므로, 해당 정책이 필요 없으면 프로젝트 설정에서 끄세요.6. 오류 응답
아르고스 애플리케이션이 반환하는 오류는{ code, message } 형식입니다. 인증 계층에서 차단된 401과 일부 403은 이 형식을 따르지 않습니다. FaceAuth 공통 참조 — 인증 계층 오류를 참고하세요.
위 표는 POST /v3/face-auth API 방식에서 반환되는 코드입니다. Face Auth URL 방식의 에러 코드(
PV-40015, SE-50010~SE-50014 등)와 사용자에게 노출되는 문구는 Face Auth URL 검증 및 에러 처리를 참고하세요.