The decision envelope
Every POST /decide answer has the same top-level fields. Branch on decision; read result for the details of each capability.
| Field | Type | Meaning |
|---|---|---|
id |
string | Decision id (dec_…). Use it for feedback, evidence and Ask |
object |
"decision" |
|
model |
string | The release that answered, e.g. ward-1.4.6 |
components |
object | Version of each part that ran (screening, statement_matrix, …) |
type |
string | The decision type |
created |
integer | Unix time |
decision |
APPROVE | STEP_UP | DECLINE |
What to do |
score |
number | null | The capability's score (0–1) |
score_kind |
string | null | What the score is: calibrated, heuristic, name_similarity, kya, … See Scores |
band |
string | low / medium / high for statement, credit and merchant |
signals |
string[] | Codes of what fired, e.g. STM_PASS_THROUGH, EMAIL_DISPOSABLE |
typologies |
string[] | Typology ids the signals point to (fraud and AML catalogs) |
needs |
object[] | Fields not sent that would sharpen the answer, each with why |
coverage |
object | How much of the input Ward could read (sufficient, limited, insufficient) |
subject |
object | null | The customer's profile when subject_ref is known |
session_id |
string | null | Echo |
result |
object | The capability's full native answer |
client_model |
object | Your account's trained model, advisory (see Feedback) |
policy_matches |
object[] | Your own policies the case touches (cited, never applied) |
review_sample |
boolean | Marked for random review (selection-bias control) |
context |
object | The session meter: window_tokens, used_tokens, remaining_tokens, used_pct, balance_usd |
latency_ms, timing |
number, object | Total time and inference time |
Reading result
Each capability page documents its result. Fields common to several:
checks: which lists ran and their status (checked,not_checked,failed). "No hits" withnot_checkedis not clear.notes: assumptions Ward made (date order, currency, a column it guessed).signalsinsideresult: full objects withcode,weight,detailand the rows they cite; the envelope'ssignalsis the list of codes.
Stability
Field names are stable within a major version. New fields can appear at any time; ignore what you do not know. Pin model to a release to keep thresholds and weights fixed (see Models).