Skip to content

Edit many transactions, a different change per row

PATCH/api/v1/transactions/batch

Apply a different edit to each of up to 500 transactions in one request: per row description (alias memo), ledger_id (category), counterparty and review_status. Every row is validated first; one invalid row rejects the whole request with 400 and nothing changes. Applying is then isolated per row, so a row that fails at write time is reported without undoing the others (partial). remember saves counterparty renames for the business, with the payment-processor guard. dry_run validates and reports per row without writing.

Operation ID: bulk_edit_transactions·View as markdown·OpenAPI slice

Authentication

Bearer token authentication. Pass your DayZero API token in the Authorization header and the target business UUID in x-business-id.

Request body

rowsarray · TransactionBulkEditRowrequiredTransactionBulkEditRow

Rows to edit (1-500), one transaction each.

6 fields
transaction_idstringrequired

Transaction UUID to edit.

descriptionstring

New description / memo. Stamps the row as user-edited so a later bank sync or cleaner pass keeps the text.

memostring

Alias of description (one stored field).

ledger_idstring

Category ledger UUID to book the transaction to.

counterpartystring

Counterparty / merchant name to set on this transaction.

review_statusstring

Set review status: 'unreviewed' or 'reviewed'.

rememberboolean

Applies to rows that set a counterparty: save each rename for the business (a saved rename) so its other transactions under the same name show it too. Payment processors that pay many parties (Gusto, ADP, PayPal, Stripe, ...) are still renamed on that row only. Default false: only the listed rows change.

dry_runboolean

Validate every row and report what would change without writing anything.

plan_hashstring

The plan_hash a dry run of these same rows returned. When present, the edit is refused (VALIDATION_640) if the transactions or the rows no longer match that plan.

Responses

200Successful Response

successboolean
messagestring
codestring
dataTransactionBulkEditResponse

400Bad Request - Invalid input

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.

401Unauthorized - Missing or expired token, an MCP OAuth token used against the REST API, or no access to this business

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.

403Forbidden - Insufficient permissions

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.

422Validation Error

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.