Redact a bank statement
Upload a PDF (or XLSX) statement and get the same document back with names, account numbers and BVN masked in place. The response body is the redacted file. The file is read in memory and never written to disk. Counts as one parse for your plan. Over a free cap it returns 402: there is no canned sample for a redacted document. Sync only: a request holds one of the worker's engine slots for the length of the redaction.
Header Parameters
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/redact" \ -F pdf="string""string"{ "error": "string", "error_class": "string", "format_version": "string", "marker_coverage": 0}{ "error": "string", "error_class": "string", "format_version": "string", "marker_coverage": 0}{ "error": "string", "error_class": "string", "format_version": "string", "marker_coverage": 0}{ "error": "string", "error_class": "string", "format_version": "string", "marker_coverage": 0}{ "error": "string", "error_class": "string", "format_version": "string", "marker_coverage": 0}Download a finished job's result GET
The byte channel for csv jobs (the SSE result event carries JSON only). Returns the ParseResponse JSON for a json job, or the CSV bytes for a csv job. 404 until the job is done, or after its result is swept.
Check a statement for tamper signals POST
Upload a statement and get evidence about whether the file was edited: reconciliation, revisions, producer, fonts, overlays drawn over text, and date order. This is evidence, never a verdict. A forger who regenerates the file with the bank's own library and recomputes every balance passes every check. `clean` means no signals; a `checks_skipped` warning means a check could not run on part of the file. HTTP 200 with error signals is a normal outcome. Counts as one parse for your plan. The anonymous demo key can call it with a Turnstile token: it shares the demo's per-IP budget, and its report carries the same additive `_demo` envelope as a demo parse. The file is read in memory and never written to disk.