API reference
The Sentrix API is a workspace-scoped REST surface. Every request is authenticated with a Bearer API key created under Dashboard → Settings → API keys. Requests and responses are JSON. Decisions run against your published ruleset; sandbox keys return simulated results.
Integration approach
Sentrix integrates into your existing flow rather than replacing it. You call the decisioning endpoint from your onboarding and payment paths, act on the returned verdict, and let non-approvals flow into case operations for your analysts. A typical integration is a few endpoints, JSON in and out — not a heavy SDK. Sentrix reads the party or transaction you send; it does not connect directly into your core or ledger, so you stay in control of what data leaves your systems.
Base URL
https://sentrix.world/api/v1
All endpoints are relative to this base. If you are issued a dedicated workspace host in the future, substitute it here.
Authentication
Authorization: Bearer sk_test_...
Pass your key in the Authorization header on every request. Sandbox keys are prefixed sk_test_ and live keys sk_live_. Only the key's hash is stored — copy it at creation time. Missing or invalid keys return 401.
Create a decision
subject is required; amount (number) and geo (ISO country) are optional. A non-approval decision automatically opens a case and returns its reference.
curl https://sentrix.world/api/v1/decisions \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{ "subject": "Acme Holdings Ltd", "amount": 4200, "geo": "GB" }'
→ 201 {
"id": "…",
"reference": "DEC-00006",
"subject": "Acme Holdings Ltd",
"decision": "REVIEW",
"score": 61,
"reasons": ["Large transaction"],
"ruleset": "Baseline risk policy v1",
"mode": "sandbox",
"case": "CASE-0003"
} List cases
Returns the workspace's most recent cases (up to 100), newest first.
GET /api/v1/cases
Authorization: Bearer sk_test_...
→ 200 {
"data": [
{
"id": "…",
"reference": "CASE-0003",
"subject": "Acme Holdings Ltd",
"status": "open",
"priority": "normal",
"disposition": null,
"assignee": null,
"createdAt": "2026-07-20T10:14:02.000Z"
}
]
} Disposition a case
disposition must be one of cleared, blocked or escalated. The action is recorded in the audit log.
POST /api/v1/cases/:id/disposition
Authorization: Bearer sk_test_...
Content-Type: application/json
{ "disposition": "cleared" }
→ 200 { "id": "…", "status": "dispositioned", "disposition": "cleared" } Errors
All errors use a consistent JSON envelope:
{ "error": { "type": "invalid_request", "message": "Field 'subject' is required." } }