Get an application’s status
Returns the application status plus derived flags. Recovers stale provider state before responding.
Authorization
oauth2 Create a client with POST /v1/oauth/clients, then exchange its credentials for an access token. AUTHORIZATION_CODE clients act on behalf of a signed-in user and always use PKCE; CLIENT_CREDENTIALS clients act as themselves. A client may only be granted scopes its creator already holds — read the grantable list from GET /v1/oauth/clients/scopes.
In: header
Path Parameters
KYC application id.
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/kyc/applications/550e8400-e29b-41d4-a716-446655440000/status"{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "DRAFT", "can_submit": true, "needs_review": true, "message": "string"}{ "code": "INVALID_PARAMS", "description": "user_id must be a UUID", "identifier": "string", "invalid_params": [ { "path": "user_id", "reason": "must be a UUID", "sub_code": "string" } ]}{ "code": "INVALID_PARAMS", "description": "user_id must be a UUID", "identifier": "string", "invalid_params": [ { "path": "user_id", "reason": "must be a UUID", "sub_code": "string" } ]}{ "code": "INVALID_PARAMS", "description": "user_id must be a UUID", "identifier": "string", "invalid_params": [ { "path": "user_id", "reason": "must be a UUID", "sub_code": "string" } ]}{ "code": "INVALID_PARAMS", "description": "user_id must be a UUID", "identifier": "string", "invalid_params": [ { "path": "user_id", "reason": "must be a UUID", "sub_code": "string" } ]}{ "code": "INVALID_PARAMS", "description": "user_id must be a UUID", "identifier": "string", "invalid_params": [ { "path": "user_id", "reason": "must be a UUID", "sub_code": "string" } ]}Start a provider verification session POST
Deprecated — use POST /applications/{id}/verification with `channel: "provider_sdk"`. Kept as a thin alias over the same engine. Creates an identity-verification session with the active provider and moves the application to ID_VERIFICATION_PENDING. When Smile ID reports the merchant is already enrolled, the session is a SmartSelfie Authentication (config.mode = "authentication") that re-verifies the person against their enrolled face. Answers with a `Deprecation` header and a `Link` to the Versions page.
Get the verification requirements GET
Returns what to capture for the active provider — whether a selfie, liveness frames (`requires_liveness`), and/or a document are required, and the backend-owned catalogue of supported documents (country + id types, each with `has_back`). Side-effect-free: the application stays in its current status, so the client fetches this before POSTing to /verification with `channel: "server_upload"` and renders its document picker from it. Supersedes GET /capture. What is required depends on the Smile ID version this client can run, so send `X-SmileID-Api-Versions` here as well as on the POST.