Skip to main content

API Reference

The Kora IDV API is organized around REST. It accepts JSON request bodies, returns JSON responses, and uses standard HTTP status codes.

Base URL

https://api.korastratum.com/api/v1/idv

Authentication

All endpoints require two headers:

Authorization: Bearer <your-api-key>
X-Tenant-ID: <your-tenant-id>

See Authentication for details on API key formats and environments.

Endpoints

Verifications

MethodEndpointDescription
POST/verificationsCreate a new verification session
GET/verifications/{id}Retrieve a verification by ID
GET/subjects/{subjectId}/verificationsList verifications for a subject
POST/verifications/{id}/completeComplete verification and get decision
POST/verifications/{id}/reviewSubmit a manual review decision

Documents

MethodEndpointDescription
POST/verifications/{id}/documentUpload document front image
POST/verifications/{id}/document/backUpload document back image

Biometrics

MethodEndpointDescription
POST/verifications/{id}/selfieUpload a selfie image

Liveness

MethodEndpointDescription
POST/verifications/{id}/liveness/sessionCreate a liveness session
POST/verifications/{id}/liveness/challengeSubmit a liveness challenge response
POST/verifications/{id}/liveness/framesSubmit video frames for temporal analysis
GET/verifications/{id}/livenessGet liveness session result

Images

MethodEndpointDescription
GET/verifications/{id}/imagesList available verification images
GET/verifications/{id}/images/{imageType}Get a signed URL for an image

Fraud Alerts

MethodEndpointDescription
GET/alertsList fraud alerts
POST/alerts/{id}/resolveResolve a fraud alert

Reference

MethodEndpointDescription
GET/document-typesList supported document types
GET/healthHealth check (no auth required)

Response format

Successful responses return the resource directly:

{
"id": "ver_abc123",
"status": "pending",
"tier": "standard",
"createdAt": "2025-01-15T10:30:00Z"
}

Error responses follow a consistent structure:

{
"code": "VALIDATION_ERROR",
"error": "Missing required field 'externalId'",
"details": {
"field": "externalId",
"constraint": "required"
}
}

See Error Codes for the complete list.