Warddocs
Introduction

Introduction

Send the input — a payment, a name, an ID document, a bank statement, an applicant — and get one decision your code can act on: APPROVE, STEP_UP or DECLINE, with the score, the signals that fired and the typologies they point to.

Ward is Mandate Labs' decision model for fraud, AML, compliance and risk. Fraud and compliance teams usually stitch together a rules engine, a screening vendor, a document vendor and a spreadsheet of thresholds, then write glue code to turn each answer into an action. Ward answers all of those questions through one endpoint and one answer shape, so your code branches on one field.

input ──► POST /api/v1/decide ──► { decision, score, signals, typologies, result }
                                        │
                     APPROVE → proceed   STEP_UP → ask / review   DECLINE → stop

Every answer says what it saw and what it could not see. A list that was not checked is reported as not_checked, never as clear; a component that could not run is a reason to review, never a pass.

Ward capabilities

Each capability is a decision type. Send it to POST /api/v1/decide with type, or let Ward infer the type from the input.

Type Answers Typical input
payment Should this payment go through? Agent or person, card, A2A or crypto amount, merchant, card or agent context
intent Is this AI agent's intended action within its mandate? agent, session, intent, reasoning
agent Can this AI agent be trusted right now? (KYA) agent_id or DID
screen Is this person or company on a sanctions, PEP or enforcement list? name, date of birth, country
document Is this ID document consistent and unaltered? MRZ lines and/or image or PDF
statement What AML and fraud risk does this account history show? bank statements, card exports, alert files
ato Was the account taken over before this disputed transaction? disputed transaction + account logs
credit Can this customer carry the obligation, from their statements? statements + requested instalment
merchant Is this merchant safe to onboard or keep? business, owners, observed rates
kyc Is this applicant verified? Identity, email, phone, document applicant JSON

Ward Ask answers follow-up questions about any result ("which counterparty matched a list?") from the result's own data.

One answer shape

{
  "id": "dec_01JC4Z...",
  "object": "decision",
  "model": "ward-1.4.6",
  "type": "screen",
  "decision": "STEP_UP",
  "score": 0.91,
  "score_kind": "name_similarity",
  "signals": ["SCREEN_POTENTIAL_MATCH"],
  "typologies": [],
  "needs": [],
  "result": { "...": "the capability's full answer" },
  "context": { "window_tokens": 1000000, "used_tokens": 412, "used_pct": 0.04 },
  "latency_ms": 38.2
}

See The decision envelope for every field.

Next steps

An index of these pages for coding agents is at /llms.txt.