Cowdidocs

Report the provider job id

PATCH
/v1/kyc/applications/{id}/verification

Records the provider’s own job identifier for a provider_sdk verification — the value the SDK received in its submission response. Call once, immediately after the SDK reports a successful submission.

On this channel the SDK submits directly to the provider, so that response never reaches the server, and Smile ID’s V3 recovery endpoints (status lookup and webhook replay) accept only their job id — there is no way to resolve it from our own reference. Reporting it is what makes an SDK-submitted job recoverable when its result webhook is lost; without it the only outcome is expiry.

Write-once: re-reporting the same id succeeds unchanged, a different id is a 409. Only valid while the verification is still ID_VERIFICATION_PENDING.

AuthorizationBearer <token>

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

id*string

KYC application id.

Formatuuid

Request Body

application/json

Body reporting the provider's own job id for an in-flight provider_sdk verification.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/v1/kyc/applications/550e8400-e29b-41d4-a716-446655440000/verification" \  -H "Content-Type: application/json" \  -d '{    "provider_job_id": "job_01h8x9y2z3a4b5c6d7e8f9g0h1"  }'
{  "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"    }  ]}
{  "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 identity verification POST

Unified entry point for starting an identity-verification job. `channel` selects the submission path and the rest of the body is that channel’s input: - `server_upload`: browser-captured selfie + ID submitted server-side to Smile ID Enhanced Document Verification (job_type 11) — keeps the government-database cross-check and captures the back of the ID. Returns the application status (202). - `provider_sdk`: mint a provider SDK session the client submits with directly — the hosted web SDK, or the v12 Android / iOS SDKs, which take the same token on `network.config.token` (or a SmartSelfie Authentication session for an already-enrolled user). Returns the provider session (201). The legacy spelling `web_sdk` is still accepted for this channel but should not be used by new clients. Supersedes POST /capture (server_upload) and POST /session (provider_sdk), which remain as aliases over the same engine. The pass/fail result arrives asynchronously via the provider callback, so the application is left ID_VERIFICATION_PENDING. Declare the Smile ID SDK versions this client ships in `X-SmileID-Api-Versions`: the job runs against the newest one listed and stays on it for its whole life (`config.api_version` on a `provider_sdk` session says which).

List the caller’s applications GET

Returns a page of the caller’s own KYC applications, newest first. Supports keyset pagination with `size` (default 20, maximum 100) and the opaque `after` / `before` cursors taken from a previous response’s `links`. Returns 400 when both `after` and `before` are set, or when `size` is out of range.