curl --request GET \
--url https://api.next.orenda.finance/v1/applications \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.next.orenda.finance/v1/applications', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.next.orenda.finance/v1/applications"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"success": true,
"total": 2,
"page": 1,
"limit": 10,
"data": [
{
"applicationId": "a1b2c3d4-0000-4a1b-9c2d-111122223333",
"customerId": "c9f8e7d6-1111-4b2c-8d3e-444455556666",
"email": "ada@example.com",
"isCompany": false,
"workflowStage": "CUSTOMER",
"currentStep": "RISK_COMPLIANCE_REVIEW_RFI",
"clientReference": "REF-00891",
"createdDateTime": "2026-05-12T09:31:04.000Z"
},
{
"applicationId": "b2c3d4e5-0000-4a1b-9c2d-777788889999",
"customerId": "d0e1f2a3-2222-4c3d-9e4f-aaaabbbbcccc",
"email": "compliance@acme-ltd.example",
"isCompany": true,
"workflowStage": "CUSTOMER",
"currentStep": "COMPLETED",
"clientReference": "REF-00892",
"createdDateTime": "2026-05-13T14:02:55.000Z"
}
]
}Search applications and customers
Search onboarding applications and customers.
Applications versus customers are distinguished by workflowStage: customers are workflowStage=CUSTOMER with workflowStageExclude=false, while in-flight applications are workflowStage=CUSTOMER with workflowStageExclude=true.
Admin CSV exports (resultType=file) include onboarding columns (Current Step, Required Actions) and, when a compliance decision exists, Risk Compliance Action / Risk Compliance Reason. Current Step may be RISK_COMPLIANCE_REVIEW_RFI when compliance has requested information from the program.
All filters accept comma-separated values for multi-select.
curl --request GET \
--url https://api.next.orenda.finance/v1/applications \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.next.orenda.finance/v1/applications', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.next.orenda.finance/v1/applications"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"success": true,
"total": 2,
"page": 1,
"limit": 10,
"data": [
{
"applicationId": "a1b2c3d4-0000-4a1b-9c2d-111122223333",
"customerId": "c9f8e7d6-1111-4b2c-8d3e-444455556666",
"email": "ada@example.com",
"isCompany": false,
"workflowStage": "CUSTOMER",
"currentStep": "RISK_COMPLIANCE_REVIEW_RFI",
"clientReference": "REF-00891",
"createdDateTime": "2026-05-12T09:31:04.000Z"
},
{
"applicationId": "b2c3d4e5-0000-4a1b-9c2d-777788889999",
"customerId": "d0e1f2a3-2222-4c3d-9e4f-aaaabbbbcccc",
"email": "compliance@acme-ltd.example",
"isCompany": true,
"workflowStage": "CUSTOMER",
"currentStep": "COMPLETED",
"clientReference": "REF-00892",
"createdDateTime": "2026-05-13T14:02:55.000Z"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
The program to scope results to. Required on every request — including when you pass allPrograms=true. A request without it is rejected before it reaches the search.
When true, widen the search from the single programId to every program your operator role is entitled to. It never reaches beyond your entitlements, and it does not remove the need to send programId. A role with no program entitlement matches nothing rather than everything.
true, false Filter by customer ID. Comma-separated for multi-select.
Filter by custodian ID. Comma-separated for multi-select. Ignored for guardian-bound roles, which are always scoped to their own guardian.
Free-text search across indexed fields.
Lower bound (inclusive) on record date, ISO 8601.
Upper bound (inclusive) on record date, ISO 8601.
1-based page number. Defaults to 1.
x >= 1Maximum number of items per page.
x >= 1Field to sort results by.
Sort direction.
asc, desc Result format. json (default) returns inline results; file returns a presigned S3 CSV URL (valid 1 hour) in place of the data array.
json, file Customises the filename of the exported CSV when resultType=file.
Filter by application ID. Comma-separated for multi-select.
Filter to company (true) or individual (false) applications. Any other value is ignored rather than rejected.
true, false Onboarding workflow stage to match, e.g. CUSTOMER. Comma-separated for multi-select.
When true, the workflowStage filter is inverted (match everything except the given stage). Used to separate in-flight applications from completed customers.
true, false When true, returns results in the risk-report format (risk/compliance-oriented columns).
true, false Filter by the program's client reference.
Exclude records of this customer type from the results.
Exclude records whose most recent KYC event matches this value.
Response
Matching applications, or a presigned export URL when resultType=file.
- Option 1
- Option 2
Inline JSON results, or — when resultType=file — a presigned CSV export URL.