PlatrixaFinancial semantic validation

Developer API

The deterministic runtime behind this UI is exposed as a versioned, machine-readable API. The engine's terminal state is the only status authority — this UI (and your integration) should act on it, never reinterpret it.

The developer API

The deterministic runtime behind this UI is exposed as a versioned, machine-readable API. The engine's terminal state is the only status authority — your integration should act on it, never reinterpret it. Synchronous and asynchronous results converge on the same canonical result envelope.

POST /v1/process

Process one financial narration — the canonical 5D result envelope

POST /v1/process/document

Text, PDF, or image — returns pages, evidence, lineage, timings

POST /v1/documents

Async document submission (202: job_id + result_id; admitted ≠ VERIFIED)

GET /v1/jobs/{job_id}

Poll an async job — completion is NOT VERIFIED; the status tells the truth

GET /v1/results/{result_id}

Fetch the finished result — the SAME 5D envelope as /v1/process

POST /v1/webhook-endpoints

Register signed webhook delivery (best-effort, single-attempt)

GET /v1/capabilities

Read-only projection of the live capability registry

GET /v1/health · /v1/ready

Liveness and readiness probes

Quick start

Process one financial input:

curl -X POST "$PLATRIXA_HOST/v1/process" \
  -H "Content-Type: application/json" \
  -H "X-Platrixa-API-Key: YOUR_API_KEY" \
  -H "Idempotency-Key: YOUR_IDEMPOTENCY_KEY" \
  -d '{"raw_input": "Purchased furniture for cash Rs. 15,000"}'

Response — the canonical result envelope

{
  "api_version": "v1",
  "request_id": "req-123",
  "status": "VERIFIED",            // engine terminal state (verbatim)
  "api_status": "VERIFIED",        // six-state public mapping
  "engine_status": "VERIFIED",
  "success": true,
  "retryable": false,
  "reason_codes": [],
  "interpretation": {
    "transaction_type": "PURCHASE",
    "amounts": [{ "value": "15000", "source": "explicit",
                  "value_origin": "EXTRACTED" }]
  },
  "accounting_result": { "debit_lines":  [{ "account": "Furniture", "amount": 15000 }],
                         "credit_lines": [{ "account": "Cash", "amount": 15000 }] },
  "evidence": [],
  "metadata": { "engine_status": "VERIFIED", "processing_time_ms": 41 }
}

status is the engine's verbatim terminal state; api_status is its six-state public mapping. interpretation.amounts[].value_origin marks model-extracted values — the deterministic result lives only in accounting_result, and only VERIFIED carries one.