POST
/
v1
/
kyc
curl https://api.geldstuck.com/v1/kyc \
  -H "x-api-key: $GELDSTUCK_PUBLIC_KEY" \
  -H "x-api-secret: $GELDSTUCK_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "userId": "usr_01HX3ZAB...",
    "clientInformation": {
      "firstName": "Ada",
      "lastName": "Lovelace",
      "dob": "1815-12-10"
    }
  }'
{
  "id": "kyc_01HX3ZH...",
  "userId": "usr_01HX3ZAB...",
  "tenantId": "tnt_01HX3Z8MQW...",
  "status": "pending",
  "currentStep": 0,
  "clientInformation": {
    "firstName": "Ada",
    "lastName": "Lovelace",
    "dob": "1815-12-10"
  },
  "createdAt": "2026-04-22T10:25:00.000Z"
}
A KYC record is the container for a user’s verification session. It’s created automatically by POST /kyc/onfido - you only need to call this endpoint directly if you want to pre-populate metadata or client information.

Body

userId
string
required
clientInformation
object
Prefilled user information: firstName, lastName, dob, address, country.
metadata
object

Returns

A KYC record object.
curl https://api.geldstuck.com/v1/kyc \
  -H "x-api-key: $GELDSTUCK_PUBLIC_KEY" \
  -H "x-api-secret: $GELDSTUCK_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "userId": "usr_01HX3ZAB...",
    "clientInformation": {
      "firstName": "Ada",
      "lastName": "Lovelace",
      "dob": "1815-12-10"
    }
  }'
{
  "id": "kyc_01HX3ZH...",
  "userId": "usr_01HX3ZAB...",
  "tenantId": "tnt_01HX3Z8MQW...",
  "status": "pending",
  "currentStep": 0,
  "clientInformation": {
    "firstName": "Ada",
    "lastName": "Lovelace",
    "dob": "1815-12-10"
  },
  "createdAt": "2026-04-22T10:25:00.000Z"
}