Skip to content

Start a KYC check

POST/v1/kyc/checks

Requires an API client bearer token.

Opens a verification case for a cardholder in `collecting`, pinned to the programme's active policy version. Requires an Idempotency-Key header. The case advances once the required applicant data and signals are in place; completion is signalled via the kyc.check.completed event.

Parameters

Header parameters

NameRequiredDescription
Idempotency-Keyrequired

Client-chosen. An identical retry with the same key returns the stored response; reusing the key with a different payload returns 409.

Request body

cardholder_idstringrequired
programme_idstring
level"basic" | "enhanced"
redirect_urlstring (uri)

Example

curl -X POST https://api.rigid.fi/v1/kyc/checks \
  -H "Authorization: Bearer $RIGID_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "cardholder_id": "string"
}'

Responses

201

Check started (pending).

idstringrequired
cardholder_idstringrequired
state"pending" | "in_review" | "passed" | "failed" | "expired"required
vendorstringrequired
screeningobjectrequired
+ show properties
sanctions"clear" | "hit" | "pending"required
pep"clear" | "hit" | "pending"required
completed_atstring | nullrequired
created_atstringrequired
expires_atstring | nullrequired
reason_codesarray of string
400

Validation error

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
401

Authentication required

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
403

Forbidden

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
409

Idempotency-Key reused with a different payload

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
500

Internal server error

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring