/api/v1/invoicesUpload and process an invoice
Upload a PDF or image, extract vendor, totals, line items, and validation metadata. Returns a job_id that can be polled with the job retrieval endpoint. Runs synchronously when the background queue is disabled; otherwise returns 202 Accepted and processes asynchronously.
Rate limit: 60 requests / minute / API key
Parameters
fileformrequiredfile (pdf, png, jpg, jpeg, webp)The invoice document. Single file per request. Max size enforced by server-side validation (typical limit: 10 MB).export_modeformoptionalstringDefault:standardColumn set used for the generated Excel and CSV. Accepts `standard` (core AP fields) or `full` (every extracted field, including raw line item metadata).include_bounding_boxesformoptionalbooleanDefault:falseWhen `true`, includes a `field_locations` object in the result containing Azure Document Intelligence polygon coordinates for each extracted field. Useful for building UI overlays or verifying extraction position on the source document.external_idformoptionalstringCaller-supplied idempotency key. If a job already exists with the same `external_id` for your account, the existing job is returned and no credit is charged. Scoped to your account — different API key holders may reuse the same string. Recommended for safe 5xx retries in production pipelines.AuthorizationheaderrequiredstringBearer token in the form `Bearer ipp_live_...`.
Request
curl -X POST "https://api.invoiceparserpro.com/api/v1/invoices" \
-H "Authorization: Bearer ipp_live_xxxx_xxxxxxxxxxxxxxxx" \
-F "file=@invoice.pdf" \
-F "export_mode=standard" \
-F "external_id=my-pipeline-run-1234" \
-F "include_bounding_boxes=false"Response
{
"success": true,
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "processing",
"message": "Invoice queued for processing. Use GET /api/v1/invoices/{job_id} to check status and retrieve results."
}