THE RESPONSE SANDBOX

Get a feel for
the contract.

Explore the responses your backend should handle.
Choose a scenario and inspect the JSON.

SIMULATEDFixed fictional examples.
No uploads, keys or AI calls.
02

Inspect the response

HTTP 200 · simulated
Content-Type: application/jsonCache-Control: no-store
{
  "request_id": "00000000-0000-4000-8000-000000000001",
  "status": "succeeded",
  "needs_review": true,
  "data": {
    "full_name": "EJEMPLO DEMOSTRACION PERSONA",
    "curp": "DEMO900101HDFMRS09",
    "address": "CALLE FICTICIA 000 COL EJEMPLO",
    "date_of_birth": "01/01/1990",
    "validity": "2026-2036",
    "elector_key": "DMPREJ90010109H000",
    "cic": "000000000",
    "ocr": "0000000000000",
    "mrz": [
      "IDMEX0000000000<<<<<<<<<<<<<<<<",
      "9001010H3601010MEX<<<<<<<<<<<00",
      "EJEMPLO<DEMO<<PERSONA<<<<<<<<<<"
    ]
  },
  "warnings": [
    {
      "code": "model_confidence_unavailable"
    },
    {
      "code": "authenticity_not_verified"
    },
    {
      "code": "mrz_requires_review"
    }
  ],
  "expires_at": "2026-09-30T11:00:00.000Z"
}

Predictable structure.

The standard v3 response contains eight scalar values and MRZ. Missing or conflicting readings stay null, and leading zeros stay in strings.

Build the review step.

A successful HTTP response is not an authenticity check. Your application should surface warnings and preserve human review.

Explore, then evaluate.

This simulator demonstrates the contract. It does not measure OCR quality, latency, or how your own photos would be read.

READY FOR A REAL INTEGRATION?

Start with your workflow.

Request pilot access by email. Provisioning is manual; no payment or account is created here.

Request a pilotRead the quickstart