200Successful Response
Schema: SuccessEnvelope_LedgerDiffResponse_
successbooleanmessagestringcodestringdataLedgerDiffResponse
/api/v1/transactions/bulk-upload/diffRead-only. Compares an uploaded bank or credit-card export (CSV/Excel) with the transactions one ledger already holds and reports which rows of the file are missing from the ledger — the rows to upload.
Each file row is paired with at most one ledger transaction:
date_tolerance_days (default 3),
and the descriptions share a word or the counterparty agrees (catches
Plaid-synced and renamed rows);amount_only) — same amount within the window, nothing else
agrees. Listed for review; never uploaded automatically.Pairing is one-to-one, so two identical legitimate charges need two ledger rows. Amounts are compared in cash-flow sign (negative = money out): a credit-card file's positive charge matches the stored charge.
Upload the result with POST /transactions/bulk-upload and
only_missing_from_diff: true (re-runs this diff), or pass
missing_row_numbers (plus any ambiguous rows you checked) as
include_row_numbers.
Bearer token authentication. Pass your DayZero API token in the Authorization header and the target business UUID in x-business-id.
Schema: LedgerDiffRequest
s3_keystringrequiredS3 key of the CSV/Excel export (from file upload or /bulk-upload/paste)
ledger_idstringrequiredLedger (bank account or credit card) to compare against
start_datestring · dateOnly compare file rows on or after this date; also bounds the ledger rows reported missing from the file. Defaults to the file's first date.
end_datestring · dateOnly compare file rows on or before this date. Defaults to the file's last date.
column_mappingobjectMapping from DayZero field names to CSV headers: 'date', 'amount', 'description', optional 'category' and 'counterparty'. Auto-detected when omitted (see /bulk-upload/headers).
date_tolerance_daysintegerHow many days a ledger date may differ from the file's and still match (bank vs posted date).
status_columnstringHeader of the file's settled/pending column. Auto-detected (status, transaction_status, state, posting_status) when omitted.
exclude_statusesarray · stringFile rows whose status is one of these (case-insensitive, e.g. ['Pending']) are left out of the comparison and listed separately.
invert_transaction_amountsbooleanThe file signs amounts the opposite way from usual (bank: deposits positive; credit card: charges positive).
Schema: SuccessEnvelope_LedgerDiffResponse_
successbooleanmessagestringcodestringdataLedgerDiffResponseSchema: ErrorResponse
errorstringrequiredError category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.
messagestringrequiredHuman-readable explanation, safe to show to end users.
codestringrequiredStable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).
request_idstringCorrelation id for support requests. Echoes the x-request-id request header when one was supplied.
errorsobjectField-level validation messages keyed by field name. Present on 400/422 validation failures only.
Schema: ErrorResponse
errorstringrequiredError category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.
messagestringrequiredHuman-readable explanation, safe to show to end users.
codestringrequiredStable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).
request_idstringCorrelation id for support requests. Echoes the x-request-id request header when one was supplied.
errorsobjectField-level validation messages keyed by field name. Present on 400/422 validation failures only.
Schema: ErrorResponse
errorstringrequiredError category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.
messagestringrequiredHuman-readable explanation, safe to show to end users.
codestringrequiredStable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).
request_idstringCorrelation id for support requests. Echoes the x-request-id request header when one was supplied.
errorsobjectField-level validation messages keyed by field name. Present on 400/422 validation failures only.
Schema: ErrorResponse
errorstringrequiredError category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.
messagestringrequiredHuman-readable explanation, safe to show to end users.
codestringrequiredStable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).
request_idstringCorrelation id for support requests. Echoes the x-request-id request header when one was supplied.
errorsobjectField-level validation messages keyed by field name. Present on 400/422 validation failures only.
Schema: ErrorResponse
errorstringrequiredError category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.
messagestringrequiredHuman-readable explanation, safe to show to end users.
codestringrequiredStable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).
request_idstringCorrelation id for support requests. Echoes the x-request-id request header when one was supplied.
errorsobjectField-level validation messages keyed by field name. Present on 400/422 validation failures only.