Get what the client must capture (deprecated)
Deprecated — use GET /applications/{id}/verification, which returns the same payload. 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 capturing and renders its document picker from it (no hard-coded document types).
Deprecated
Authorization
Cowdi_Sales_KYC_backendBearerAuth Cowdi backend-compatible RS256 JWT. sub may be the global user id or a Firebase auth id; Firebase auth-id subjects and missing organization claims are resolved through the backend user/access endpoints. Validated against the configured JWKS (lib/backend-auth.ts).
In: header
Path Parameters
KYC application id.
uuidHeader Parameters
Comma-separated Smile ID API versions this client’s bundled SDK can run, newest last or in any order (e.g. v2, v3). The job is started on the newest version listed that the server also speaks, and that version is pinned for the life of the job. Omitted, empty or unrecognised means v2 — so a client only upgrades when it says it can. Send the same value to the requirements GET and the verification POST: they resolve the version independently, and disagreeing between the two gets the capture rejected.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/kyc/applications/497f6eca-6276-4993-bfeb-53cbbbba6f08/capture"{ "requires_selfie": true, "requires_liveness": true, "requires_document": true, "min_liveness_images": 0, "max_liveness_images": 0, "requires_consent": true, "consent_notice": { "language": "EN", "privacy_policy_url": "string" }, "missing_applicant_fields": [ "name" ], "supported_documents": [ { "country": "KE", "id_types": [ { "code": "IDENTITY_CARD", "label": "National ID", "has_back": true } ] } ]}{ "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" } ]}Get the caller’s current KYC application GET
Returns the authenticated user’s most recent KYC application. For members of self-onboarding partner organizations (greenwheels), a first retrieval with no application provisions the merchant prospect and an INDIVIDUAL application instead of returning 404. Only partner-exchanged member sessions qualify: the token must carry token_source=PARTNER_EXCHANGE and the partner-side member id (organization_user_id), with no role claim (or CUSTOMER). Admin/backoffice and organization-switch sessions are never provisioned.
Get a lightweight status for a KYC application GET
Returns the application status plus derived flags. Recovers stale provider state before responding.