updateTransaction
updateTransaction — partially updates a transaction using field masks.
Authentication: required
updateTransaction — partially updates a transaction using field masks.
Authentication: Required (Bearer token). User must be account owner or collaborator,
with OWNER or COOWNER role if a role is assigned.
Parameters:
- transactionId (string, required): ID of the transaction to update
- transaction (object, required): Fields to update (all optional)
- accountId (string): Destination account ID for moving a manual transaction. The accountId field must also be included in transactionFieldMasks. Transactions with source BANK_INTEGRATION cannot be moved between accounts. Destination-account authorization is enforced.
- name (string): New display name
- amount (float): New amount in smallest denomination
- category (string): Top-level category (auto-resolves categoryId if not provided)
- categoryId (string): v2 category ID
- incomeCategory (string): Income sub-category
- expenseCategory (string): Expense sub-category
- subcategory (string): Sub-category label
- vendorId (string): Vendor ID
- vendorName (string): Vendor display name
- description (string): Notes
- transactedAt (string): ISO 8601 datetime
- isPending (bool): Pending flag
- inReview (bool): In-review flag
- fileIds ([string]): Attached file IDs (replaces existing)
- tagIds ([string]): Attached tag IDs (replaces existing)
- cronExpression (string): Recurrence cron expression
- endDate (string): ISO 8601 recurrence end date
- isExcludedFromAnalytics (bool): Exclude from analytics
- lineItems ([{id, name, amount}]): Line items (replaces existing)
- oneOffSplitParticipants ([{id?, name, amount}]): Freeform Split With Others rows reconciled by persisted row id. Omit id to add a new row.
- deletedOneOffSplitParticipants ([string]): Persisted split row ids to delete
- transactionFieldMasks (array, required): Array of {path} objects specifying which fields to update
Returns:
- transactionId (string): ID of the updated transaction