Skip to content

Rename, archive or unarchive a KYC flow

PATCH/v1/kyc/flows/{flow_key}

Requires an API client bearer token.

Updates a flow's display identity and archived state. `display_name` and `archived` are both optional and at least one must be present (400 otherwise); each present field is applied and audited separately, so one call may do both. `flow_key` is PERMANENT and cannot be changed — it is stamped into every policy version, case and branding row the flow has produced. ARCHIVING IS SOFT AND REVERSIBLE, and there is no delete: `archived: true` retires the flow from selection (starting a check, minting a preview, or writing policy/branding under it all refuse with `flow_archived`) while every existing case keeps reading the policy version it is pinned to; `archived: false` restores it. The reserved `default` flow can be neither renamed nor archived (400 `flow_key_reserved`). An unknown flow key is a 404, and does NOT consume the Idempotency-Key — the same key may be retried once the flow exists. Requires Idempotency-Key and the programme_admin role. Returns the same `KycFlowSummary` row `GET /v1/kyc/flows` returns, ready to drop straight back into the flows index.

Parameters

Path parameters

NameRequiredDescription
flow_keyrequired

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

programme_idstring (uuid)required
display_namestring
archivedboolean

Example

curl -X PATCH https://api.rigid.fi/v1/kyc/flows/{flow_key} \
  -H "Authorization: Bearer $RIGID_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "programme_id": "uuid"
}'

Responses

200

The updated flow, as one row of the flows index.

flow_keystringrequired
display_namestringrequired
is_defaultbooleanrequired
archived_atstring
active_versionintegerrequired
has_draftbooleanrequired
flowobjectrequired
+ show properties
stepsarray of "details" | "document" | "selfie"required
fieldsarray of objectrequired
+ show properties
keystringrequired
requiredbooleanrequired
locked_byarray of string
input"text" | "dropdown" | "date"
hintstring
optionsarray of object
+ show properties
valuestringrequired
labelstring
rulesobjectrequired
+ show properties
min_ageinteger
allowed_nationalitiesarray of string
brandingobject
+ show properties
display_namestring
accent_lightstring
accent_darkstring
400

Validation error

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
401

Authentication required

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
403

Forbidden

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
404

No flow with this `flow_key` for this programme

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
409

Idempotency-Key reused with a different payload

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
429

Too many KYC writes from this caller — see Retry-After

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
500

Internal server error

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring