Accountant Portal

Create or run companies transactions bulk recategorize

Generated minimal contract (#1940): parameters, auth, and status codes are authoritative; see the route handler for the exact body/response shape. Enrichment tracked by the x-median-spec-stage marker.

post/accountant/companies/{customerId}/transactions/bulk-recategorize

Request

  • Base URL: https://api.medianfi.com/api/v1
  • URL: https://api.medianfi.com/api/v1/accountant/companies/{customerId}/transactions/bulk-recategorize
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Request body

transactionIdsstring[] required
categoryGlAccountIdstring uuid required
reasonstring

#3046: why the category was changed. One line of plain text (trimmed; no control, line-separator or text-direction characters, no HTML markup, and not the text '| Recategorization reason:'). Stored as the reasoning of each recategorized row's decision on the transaction timeline and appended to the replacement journal entry's description as ' | Recategorization reason: <reason>'. Absent leaves the decision as before and removes a reason left on the description by an earlier recategorize; a description that never carried one is unchanged. The reason is not sent to QuickBooks.

learnMerchantRuleboolean

#3041: true also writes or repoints the merchant rule for the selected transactions' merchants. Absent or false applies the category to the selected transactions only and the rule is left alone. Stripe revenue transactions (a Stripe charge, invoice or subscription payment, or a Stripe counterparty-history suggestion) are outside this choice: a category change on one always writes its exact company rule, because that rule is what lets the revenue entry post. The bookkeeping engine's feedback run is queued whatever the value; its output is a proposal for review.

Response

Success envelope; see the route handler for the payload shape

object required

Changes

No recorded changes to this operation across all 1 revision of this API.