POST
/
v1
/
ai-validation
/
applications
/
{applicationId}
/
kyc-step
AI-validate a KYC questionnaire step (consumer, advisory)
curl --request POST \
  --url https://api.next.orenda.finance/v1/ai-validation/applications/{applicationId}/kyc-step \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "stepKey": "step-1",
  "fields": [
    {
      "key": "phone_number",
      "data": "+31612345678"
    }
  ]
}
'
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({stepKey: 'step-1', fields: [{key: 'phone_number', data: '+31612345678'}]})
};

fetch('https://api.next.orenda.finance/v1/ai-validation/applications/{applicationId}/kyc-step', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
import requests

url = "https://api.next.orenda.finance/v1/ai-validation/applications/{applicationId}/kyc-step"

payload = {
"stepKey": "step-1",
"fields": [
{
"key": "phone_number",
"data": "+31612345678"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
{
  "success": true,
  "data": {
    "findings": [
      {
        "fieldKey": "phone_number",
        "ruleId": "kyc.applicant.phone",
        "message": "Phone number does not look like a valid Dutch number."
      }
    ],
    "reason": "<string>"
  }
}
{
"success": false,
"code": "<string>",
"message": "<string>"
}
{
"success": false,
"code": "<string>",
"message": "<string>"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

applicationId
string
required

The applicant's application id.

Body

application/json
stepKey
string
required

The questionnaire step key from GET /v1/applications/{applicationId}/kyc/schema.

Pattern: ^step-\d+$
Example:

"step-1"

fields
object[]
required

The step's text/question answers. Documents are never sent to this endpoint.

Required array length: 1 - 50 elements

Response

Validation concluded — including SKIPPED / AI_UNAVAILABLE (the AI path can never fail the request).

success
boolean
Example:

true

data
object