Skip to content

Archive or restore a KYC level

PATCH/v1/kyc/levels/{level_key}

Requires an API client bearer token.

Archives (`archived: true`) or restores (`archived: false`) a level. Archiving is soft and reversible; there is no delete. A level that a DRAFT workflow references cannot be archived: 409 `level_in_use` with `workflows`, the flow keys to fix first. Published policies keep their own snapshot and are unaffected. Requires Idempotency-Key and the programme_admin role.

Parameters

Path parameters

NameRequiredDescription
level_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
archivedbooleanrequired

Example

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

Responses

200

The level after the change.

level_keystringrequired
display_namestringrequired
archived_atstring
screensintegerrequired
fieldsintegerrequired
used_byarray of stringrequired
updated_atstringrequired
definitionobjectrequired
+ show properties
screensarray of objectrequired
+ show properties
idstringrequired
titlestring
skip_if_knownboolean
fieldsarray of one ofrequired
+ show properties

One of

typed

idstringrequired
kind"typed"required
key"given_name" | "family_name" | "date_of_birth" | "nationality" | "document_number" | "document_expiry" | "document_issuing_state" | "address_line1" | "address_postcode" | "address_country"required
requiredbooleanrequired
input"text" | "dropdown" | "date"
hintstring
optionsarray of object
+ show properties
idstringrequired
valuestringrequired
labelstringrequired
visible_whenstring
patternstring
skip_if_knownboolean

block

idstringrequired
kind"block"required
block"document" | "selfie" | "proof_of_address"required

untyped

idstringrequired
kind"untyped"required
input"text" | "number" | "dropdown" | "checkbox" | "radio" | "upload"required
labelstringrequired
requiredbooleanrequired
hintstring
optionsarray of object
+ show properties
idstringrequired
valuestringrequired
labelstringrequired
visible_whenstring
patternstring
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 level with this key for this programme

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
409

A draft workflow references the level (code `level_in_use`, with `workflows`), or the Idempotency-Key was reused with a different payload

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
429

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

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
500

Internal server error

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring