One call. A decision you can defend.
Present what the counterparty offered, declare the purpose of the enquiry, state what is at stake and how long you can wait. Receive a score with its confidence interval, the evidence summary, the findings as plain statements, the absences, and your policy's label — carrying the methodology version and timestamp an examiner will ask for.
The call
What goes in, and what comes back.
Every enquiry names its purpose and its stake. The stake — a payment, a credit line, an account, a listing, a hire — determines how tight an interval the decision requires and how much evidence is worth gathering to reach it. The deadline determines when you receive a first answer.
POST /v1/inquiries
Authorization: Bearer gx_live_…
X-Purpose: fraud_prevention
{
"subject": {
"presentations": [
{ "type": "PHONE", "value": "+91 98765 43210" },
{ "type": "EMAIL", "value": "a.sharma@example.in" }
]
},
"intent": "onboarding_screen",
"purpose": "fraud_prevention",
"stake": { "kind": "account", "reversible": false, "deadline_ms": 3000 },
"render": "none"
}200 OK
{
"inquiry_id": "0f4c…",
"status": "concluded",
"assessment": {
"score": 71, "low": 58, "high": 84,
"preliminary": false,
"methodology_version": "m1-graph",
"as_of": "2026-09-14T09:12:04Z",
"label": { "value": "review", "policy_version": 3 },
"evidence": {
"signals": 12, "failed_signals": 2, "contradictions": 0,
"by_trust_band": { "high": 4, "medium": 6, "low": 2 }
}
},
"findings": {
"findings": [
{ "kind": "account_age", "about_type": "EMAIL",
"statement": "The address has been seen in public records for under 60 days.",
"trust_band": "medium", "disposition": "weakens" }
],
"absences": [
{ "about_type": "PHONE", "kind": "budget",
"reason": "A carrier lookup was not run at this tier." }
],
"coverage": { "checks_run": 14, "checks_answered": 12, "checks_unanswered": 2 }
}
}Illustrative values in the shapes of the published contract. Every field above is in the OpenAPI document at api.griffynx.com.
The response
Every field, and why it is there.
An integration decision turns on what comes back, and prose about it is always vaguer than the object itself.
- score71
- The assessment, on a fixed scale. Computed by one function from the admitted evidence, and by nothing else.
- low · high58 · 84
- The confidence interval. It widens when evidence is thin or in conflict, which is the information a single number destroys.
- evidence12 signals · 0 contradictions
- Counts by provenance class and by the banded trust of each source. Never a source name, never a raw payload.
- findings[]statement · kind · trust_band · disposition
- Each fact in plain language, with what sort of check produced it and whether it supports or weakens trust.
- absences[]timeout · no_data · budget · refused
- What was asked and did not answer, with the reason. An assessment that cannot state what it failed to learn overstates what it knows.
- methodology_versionm1-graph
- The version of the reasoning that produced this. An assessment issued in March can be reconstructed in October.
- as_of2026-09-14T09:12:04Z
- The moment the evidence was current. Assessments never change retroactively.
- labelreview · policy v3
- Your policy applied to the assessment, naming the policy version that applied it. The label is yours; we do not supply it.
Eleven families, one contract
What is served today, and what is published.
Inquiries and health are served now. The remaining families are published as a fixed contract: the request and response shapes will not change beneath an integrator, and each returns 501 until its handler ships.
The documentation marks the status of every endpoint. Discovering it at three in the morning is worse than reading it here, and a contract that quietly changes is worse than both.
Inquiries
ServedAsk about a subject and receive an assessment. The endpoint most integrations use and, for many, the only one they require.
Health
ServedLiveness for your monitoring. /healthz additionally reports the running build, the source count and database reachability.
Observations
ContractYour own testimony about a subject. What you know and nobody else does enters here carrying its provenance, and is weighed accordingly.
Outcomes
ContractWhat actually happened after you decided. The single most valuable thing you can return, and the only mechanism by which assessments learn your book rather than the average book.
Material
ContractDocuments, images, audio and video, declared before transmission. Extraction produces bindings; the bytes can be processed and never retained.
Cases
ContractAn investigation with more than one subject and more than one analyst, and a record of who did what. Every case carries an authorisation before it opens.
Monitors
ContractA standing watch on a subject. You are notified when the answer changes, rather than re-querying on a schedule.
Sessions
ContractA live connection for open-ended intake: frames in, events out, over a WebSocket.
Entities
ContractA subject resolved across more than one identifier, and its assessments in sequence — which is reputation over time.
Registry
ContractThe artifact types, intents and purposes your tenancy may present and declare. Read at startup rather than hard-coded into a list that will drift.
Control plane
ContractKeys, policy, webhooks and your audit trail, under a separate scope. A key that can open inquiries cannot mint another key.
What a buyer can hold us to
Enforced in code, each with a test behind it.
These are the properties that let a model-risk function sign off on a third-party assessment rather than treat it as an unexplainable input.
A single function computes the score
Purpose on every call
No provider identity crosses
Demography never reaches the score
Dated, versioned, reproducible
The label is your policy
Operating characteristics
Built for a decision that cannot wait.
Answers on a deadline
Registered, never enumerated
Keys shown once, stored hashed
Read the contract before you talk to us.
The documentation is public and generated from the running service, so it cannot claim an endpoint that does not exist. Keys and pilots follow a conversation.