Skip to content

Write a new KYC policy version by toggling required signals

POST/v1/kyc/policy

Requires an API client bearer token.

Recomposes the programme policy from its currently active version plus the requested `required_signals` set — the server owns weights/refer_on/reject_on derivation (spec §2 D1); a caller may only toggle signals on or off, never wire their evidence out of the score/veto path directly. `data_quality` is always required. Requires Idempotency-Key; an identical retry returns the SAME version.

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

programme_idstringrequired
required_signalsarray of stringrequired

Example

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

Responses

201

The newly written policy version.

idstringrequired
versionintegerrequired
definitionobjectrequired
+ show properties
required_inputsarray of stringrequired
required_signalsarray of stringrequired
bandsobjectrequired
+ show properties
approve_at_or_abovenumberrequired
reject_belownumberrequired
weightsobjectrequired
+ show properties

No properties.

refer_onarray of stringrequired
reject_onarray of stringrequired
ttl_secondsintegerrequired
retention_secondsintegerrequired
created_atstringrequired
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