Skip to main content
POST
Bulk update transactions

Authorizations

Authorization
string
header
required

API key prefixed with finta_

Headers

Idempotency-Key
string
required

Nonblank string of 1–255 characters. Whitespace-only and oversized keys return 400 invalid_request with param Idempotency-Key.

Required string length: 1 - 255
Pattern: \S

Body

application/json

Exactly one non-empty selector and a non-empty updates object; no unknown top-level keys.

filters
object
required

Exactly these nine filters are public; combine supplied fields with AND against pre-update values. Selects all matches without pagination. start_date and end_date are inclusive and end_date must not precede start_date. Explicit null is invalid for filters.

updates
object
required

Omitted fields are unchanged. Null clears department/spread or restores the original date. merchant and category_id cannot be null. accounting_date and accounting_shift cannot coexist, including a null date. Shared eligibility restrictions apply atomically at execution.

Response

Original queued acceptance, including on replay after success or failure. Retrieve Location for the current outcome.

id
string
required
Pattern: ^job_[A-Za-z0-9]+$
object
enum<string>
required
Available options:
job
type
enum<string>
required
Available options:
bulk_update_transactions
status
enum<string>
required

queued awaits execution; processing has a frozen selection; success has committed edits and durable reporting refresh intent; failed has no committed edits. Reporting refresh can finish after success.

Available options:
queued,
processing,
success,
failed
matched_count
integer | null
required

Null until selection succeeds, then the number of frozen targets. A successful empty selection is zero.

Required range: x >= 0
updated_count
integer
required

Distinct transactions actually changed, including assignment provenance, counted once each. Failed jobs always report zero.

Required range: x >= 0
errors
object
required