Skip to content

Update a cardholder

PATCH/v1/cardholders/{id}

Requires an API client bearer token.

Updates cardholder identity fields. Requires an Idempotency-Key header and at least one field in the body. Once KYC has passed or the cardholder is attested, full_name/country lock against an actual change (422 identity_locked); email/phone stay mutable. A patch whose values already match the stored row is a no-op: 200, no write, no event. Emits cardholder.updated listing only the fields whose value actually changed.

Parameters

Path parameters

NameRequiredDescription
idrequired

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

full_namestring
emailstring (email)
phonestring | null
countrystring

Example

curl -X PATCH https://api.rigid.fi/v1/cardholders/{id} \
  -H "Authorization: Bearer $RIGID_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "full_name": "string",
  "email": "email",
  "phone": "string",
  "country": "string"
}'

Responses

200

The updated cardholder.

idstring (uuid)required
programme_idstring (uuid)required
full_namestringrequired
emailstringrequired
phonestring | nullrequired
countrystringrequired
kyc_state"unverified" | "pending" | "passed" | "failed" | "in_review"required
attestedbooleanrequired
attested_bystring | nullrequired
attested_atstring | nullrequired
kyc_completebooleanrequired
funding_account_idstring | nullrequired
funding_currencystring | nullrequired
created_atstringrequired
400

Validation error

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
401

Authentication required

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
403

Forbidden — the caller may not act on this programme, or (code `live_mode_card_read_only`) live mode refuses a cardholder edit, pending scheme certification

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
404

Cardholder not found

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
409

Idempotency-Key reused with a different payload

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
422

Empty patch, or full_name/country patched after KYC passed or attestation (identity_locked)

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
500

Internal server error

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring