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
201 File 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
balanceProof objectShow child attributes
closingBalance integerdelta integeropeningBalance integerstatus stringstepwisePass booleandateRange objectShow child attributes
from stringto stringduplicates integererrorRows integerignoredRows integerimportId stringschema objectShow child attributes
detectedPreset stringfingerprint stringprovenance stringtotalRows integervalidRows integerError codes
400 No file uploaded, unsupported format, parse errors, or no valid transactions found.
404 Bank account not found.
413 File exceeds 5MB limit.