Veridexa is currently free for everyone โ€” Fraud Detection, Biometrics, and Developer APIs.
Developers

Fraud Detection API Reference

Server-to-server API for the Veridexa Fraud Detection pipeline. Submit one document per request and retrieve the persisted verification report.

Base URL

https://veridexa.io

Machine-readable specification: /api/public/openapi.json

Authentication & API keys

Every request must include an API key using one of the two accepted header forms:

Authorization: Bearer <API_KEY>
# โ€” or โ€”
X-API-Key: <API_KEY>

API keys are currently issued by Veridexa. Request access at /contact. Keys are tenant-scoped: reports are only returned for the tenant that created the job.

Endpoints

POST/api/s2s/verify

Submit one document to the Fraud Detection pipeline.

Accepts exactly one document per request as multipart/form-data. The pipeline runs synchronously and the response contains the jobId that can then be passed to GET /api/s2s/report/{jobId}. Documents are transferred to Veridexa for Fraud Detection and processed according to https://veridexa.io/privacy .

Request body

  • multipart/form-data

Responses

  • 200Verification job created and processed. Use the returned jobId with GET /api/s2s/report/{jobId} to retrieve the persisted productionReport.
  • 400Malformed multipart body, missing 'file' field, unsupported MIME type, invalid file name, or invalid file size.
  • 401Missing, malformed, or invalid API key.
  • 405Method not allowed (only POST is supported).
  • 415Content-Type is not multipart/form-data.
  • 500Job creation, verification processing, or job load failed on the server.
  • 502Server-side upload of the file to storage failed.
GET/api/s2s/report/{jobId}

Fetch the persisted Fraud Detection report for a jobId.

Returns the persisted productionReport for the tenant-scoped jobId. This endpoint never rebuilds or recomputes the report โ€” it returns the value exactly as persisted by the Fraud Detection pipeline.

Path parameters

  • jobId (path, required) โ€” The jobId returned by POST /api/s2s/verify.

Responses

  • 200The persisted productionReport for this jobId.
  • 400Missing or malformed authentication credential.
  • 401Invalid API key.
  • 404Job not found for this tenant, or the productionReport has not been persisted.
  • 405Method not allowed (only GET is supported).
  • 500Failed to load the job.

File constraints

  • One file per request, in the multipart field named file.
  • Accepted MIME types: application/pdf, image/png, image/jpeg, image/webp.
  • Maximum file size: 20 MB.
  • Documents are transferred to Veridexa for Fraud Detection and processed according to the privacy policy.

Example โ€” submit a document

curl -X POST https://veridexa.io/api/s2s/verify \
  -H "Authorization: Bearer $VERIDEXA_API_KEY" \
  -F "file=@document.pdf"

Successful response (HTTP 200):

{ "jobId": "..." }

Example โ€” fetch a report

curl https://veridexa.io/api/s2s/report/<jobId> \
  -H "Authorization: Bearer $VERIDEXA_API_KEY"

Returns { "productionReport": FinalVerificationReport }. See the ProductionReport schema in the OpenAPI document for the full field list.

Report includes: authenticityScore, fraudProbability, confidence, riskLevel, findings (metadata / ocr / qr / digitalSignature / securityFeatures / forensic / documentStructure), recommendations, and pipeline telemetry.

Optional report section โ€” BiometricPortraitConsistency

When a submitted document is a supported biometric passport or identity document that contains two or more visible portrait representations, the report may include an optional biometricPortraitConsistency section. It provides technical biometric portrait consistency evidence for supported biometric identity documents.

The section carries a result of CONSISTENT, INCONSISTENT, NOT_ASSESSABLE, or NOT_APPLICABLE, together with a diagnostic similarity indicator. The field is optional and may be absent when the document type is not supported or when portraits cannot be reliably located. See the Knowledge Base for a non-technical overview: What is Biometric Portrait Consistency?

{
  "productionReport": {
    // ...standard fields
    "biometricPortraitConsistency": {
      "result": "CONSISTENT" | "INCONSISTENT" | "NOT_ASSESSABLE" | "NOT_APPLICABLE",
      "category": "diagnostic",
      "contributesToDecision": false
    }
  }
}

MCP & ChatGPT

Veridexa also exposes a public Model Context Protocol (MCP) endpoint at /api/mcp and a ChatGPT Custom Action OpenAPI document at /api/public/gpt-action/openapi.json. Both surfaces are rate-limited and internally call the same S2S Fraud Detection pipeline.

Support & status

Live system status: /status. Report a security issue or request API access via /contact.