Skip to main content
POST
Create Transactions

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

business_id
string<biz_string>
required

The id of the business

Example:

"biz_GA6EG2qFxA97NZHtxeLPUy"

Body

application/json
Maximum array length: 100
description
string
required

The description of the Transaction

Maximum string length: 512
Example:

"Payment from Acme Corp"

transaction_datetime
string<date-time>
required

The datetime the Transaction was created in UTC ISO-8601 format

Example:

"2025-01-15T14:30:00Z"

amount
required

The amount of the Transaction

Example:

150.75

transaction_id
string
required

A value that uniquely identifies the Transaction

Example:

"plaid_txn_abc123"

external_account_id
string<eac_string>
required

The ID of the External Account associated with the Transaction

Example:

"eac_WQMDNUHpBThYSNh4AprDBo"

line_items
TransactionLineItemCreate · object[] | null

Categorize the Transaction on ingestion. One line item assigns a single category, several split it across categories, and each amount is signed in the same direction as the Transaction and must sum to it. When given, the Journal Entry is created from these line items and the categorization pipeline does not run.

metadata_
Metadata · object | null

The metadata of the Transaction

tags
Tags · object | null

Add tags using two methods: Inline tags or tag splits. Each field maps to either a single value (string, e.g. 'NYC') or a list of {value, amount, ledger_id} objects to allocate the transaction across multiple values. The tag field must already exist; values are created automatically if missing. Per-field sum of amounts must not exceed the transaction amount.

Example:

Response

Transactions accepted for processing

data
TransactionPublic · object[]
required
errors
TransactionCreateError · object[]
required