Submit transaction upload
Adds bank or credit card transactions, parsed by the caller from a file, to one account. Requires API access and Transactions: Manage.
The first call opens a hidden draft; pass its id as upload_id on later calls. Send the
rows in chunks of up to 500 (2,000 per upload), including rows you leave out with exclude.
Each call returns validation for every row received so far. commit: true imports the
upload once ready_to_commit is true, waiting up to about 20 seconds for categorization;
otherwise nothing is imported. Exact copies of existing transactions are skipped. Posting
only upload_id returns the current state. Only the person who started an upload can
continue it.
Authorizations
API key prefixed with finta_
Body
An acct_ ID from GET or POST /accounts. Required on the first call.
The id returned by the first call.
Computed from the file itself. Required on the first call; cannot change.
The order of values in each row. Required with the first rows.
row, date, description, amount row is the 1-based row number; resending it replaces the row. date is as the file writes it, so Finta can tell month/day from day/month. description is at most 40 characters. amount is a signed decimal such as -45.00.
500Order of numeric dates, when an open question asks.
MDY, DMY How the file signs money out. Defaults to negative_is_money_out.
negative_is_money_out, positive_is_money_out Rows to leave out. Adds to earlier exclusions.
Blocking warnings you accept, covering the rows they list now.
possible_duplicate, overlaps_existing_data, possible_investment_trade, possible_reversal_pair Upload to an account that syncs from an integration. Confirm with the user first.
Import the upload if nothing blocks it.
Response
The upload after this call.
Pass as upload_id on later calls.
transaction_upload draft, importing, imported, failed Null until every row is received and readable.
What a commit would import, or did.
Fix by resending or excluding rows; no override.
Null while the upload is a draft.