Upload bank statement
POST
https://app.speybooks.com/api/v1/bank-imports/uploadUpload a CSV bank statement file via multipart form data. The UIE engine auto-detects the schema (column roles, date format, amount model) and returns a preview of parsed rows with duplicate detection results and balance proof.
The file is stored temporarily for potential remapping. It is cleared when the import is confirmed or deleted.
Send the file as multipart/form-data with fields:
file: The CSV filebankAccountId: Integer ID of the target bank account
Response
201File parsed. Returns import ID, row counts, date range, preview of first 20 rows, detected schema with column mapping, and balance proof if available.
Show response fields
balanceProofobjectShow child attributes
closingBalanceintegerdeltaintegeropeningBalanceintegerstatusstringstepwisePassbooleandateRangeobjectShow child attributes
fromstringtostringduplicatesintegererrorRowsintegerignoredRowsintegerimportIdstringschemaobjectShow child attributes
detectedPresetstringfingerprintstringprovenancestringtotalRowsintegervalidRowsintegerError codes
400No file uploaded, unsupported format, parse errors, or no valid transactions found.
404Bank account not found.
413File exceeds 5MB limit.