createTransaction

createTransaction — creates a new transaction for the authenticated user.

Authentication: required

createTransaction — creates a new transaction for the authenticated user.

Authentication: Required (Bearer token). The user must be the owner or collaborator of the target account.

Parameters:
- accountId (string, required): Account the transaction belongs to
- name (string, required): Transaction display name
- amount (float, required): Amount in smallest denomination (negative = expense, positive = income)
- currency (string, optional): 3-letter ISO currency code for transaction denomination
- category (string, required): Top-level category (FOOD, INCOME, RENT, TRANSPORTATION, …)
- transactedAt (string, required): ISO 8601 / RFC3339 datetime of the transaction
- fileIds ([string], required): List of attached file IDs (pass [] for none)
- type (string, optional): INCOME | EXPENSE | TRANSFER — inferred from amount/category if omitted
- categoryId (string, optional): v2 category ID — resolved from category if omitted
- incomeCategory (string, optional): Income sub-category
- expenseCategory (string, optional): Expense sub-category
- subcategory (string, optional): Sub-category label
- vendorId (string, optional): Vendor ID
- vendorName (string, optional): Vendor display name
- description (string, optional): Additional notes
- tagIds ([string], optional): Tag IDs to attach
- cronExpression (string, optional): Recurrence cron expression
- endDate (string, optional): ISO 8601 recurrence end date
- isExcludedFromAnalytics (bool, optional): Exclude from spending analytics
- lineItems ([{id, name, amount}], optional): Itemised line items
- oneOffSplitParticipants ([{name, amount}], optional): Freeform Split With Others rows stored directly on the transaction. The server generates persisted row ids; names are display labels only and do not identify or notify another user.
- appleCardTransaction ({transactionId}, optional): Apple Card / FinanceKit metadata; triggers idempotent create and BANK_INTEGRATION source

Returns:
- transactionId (string): Newly created (or idempotently matched) transaction ID