Submit a long parse as an async job
Queue a statement parse and stream engine progress over Server-Sent Events. Returns 202 with a job_id, an SSE stream_url, and a poll_url fallback. Mirrors /v1/parse: `?format=csv` and `redact=true` are supported. json rides the SSE result event; csv and redact bytes are fetched from /v1/parse/jobs/{id}/result. Use this for large statements; small ones are faster on the synchronous /v1/parse.
Query Parameters
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/parse/jobs" \ -F pdf="string"{ "job_id": "string", "stream_url": "string", "poll_url": "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}{ "detail": [ { "loc": [ "string" ], "msg": "string", "type": "string", "input": null, "ctx": {} } ]}Parse a bank statement POST
Upload a PDF (or XLSX) statement and get structured transactions back. `?format=json` (default) returns ParseResponse; `?format=csv` returns the engine-serialized CSV. `redact=true` returns the redacted document bytes. The file is parsed in memory and never written to disk.
Stream parse progress (SSE) GET
Server-Sent Events for a job: data lines carry {stage,current,total} progress, then a final `event: result` carries the ParseResponse (success) or the error envelope. No Authorization header: the unguessable job_id is the capability, since EventSource cannot send headers. One consumer per job.