Transactions
Transactions are the ledger — every dated event that moves wealth. Holdings (on v3) are reconstructed from transactions, performance is computed from transactions, and custodian reconciliation runs against transactions. The transaction model is typed per kind of event so downstream consumers never have to guess what price or quantity mean on a given row.
Transaction types
The type attribute determines the shape of the rest of the row. Common types in v2:
- Name
- buy
- Type
- security trade
- Description
Purchase of an instrument. Carries quantity, price, and any fees booked alongside.
- Name
- sell
- Type
- security trade
- Description
Disposal of an instrument. Same shape as
buyplus realised-gain bookkeeping under the client's accounting method.
- Name
- deposit
- Type
- cash flow
- Description
Cash in. Treated as a flow rather than a return when computing performance.
- Name
- withdrawal
- Type
- cash flow
- Description
Cash out.
- Name
- dividend
- Type
- security income
- Description
Cash dividend on an equity holding.
- Name
- coupon
- Type
- security income
- Description
Coupon payment on a bond.
- Name
- interest
- Type
- cash income
- Description
Interest credit or debit on a cash account.
- Name
- fee
- Type
- flow
- Description
Platform, custody, or management fee. Categorised so reports can roll fees up separately from investment returns.
- Name
- fx-trade
- Type
- cash
- Description
Currency conversion booked against two cash legs.
- Name
- corporate-action
- Type
- security event
- Description
Stock split, name change, ticker change, in-specie distribution.
- Name
- drawing
- Type
- private markets
- Description
Capital call against a private-fund commitment.
- Name
- maturity
- Type
- fixed income
- Description
Bond redemption — partial call or final maturity.
- Name
- private-equity-cashflow
- Type
- private markets
- Description
Distribution from a private-equity vehicle.
Common attributes
JSON:API resource type: transaction. Every transaction row carries:
- Name
- id
- Type
- string
- Description
Stable identifier.
- Name
- type
- Type
- string
- Description
The transaction kind from the list above. Drives validation of the rest of the payload.
- Name
- date
- Type
- ISO 8601 date
- Description
When the event happened economically.
- Name
- amount
- Type
- decimal
- Description
Cash leg amount in the account's currency. Sign convention: positive flows in, negative flows out.
Relationships
- Name
- account
- Type
- account
- Description
The account the transaction is booked against. Required.
- Name
- depository
- Type
- depository
- Description
The depository the transaction settles through. Optional — only relevant for security trades.
List transactions
Returns transactions across the workspace, filtered by query parameters. At least one of accountId or depositoryId is typically supplied to keep responses bounded.
Query parameters
- Name
- fromDate
- Type
- ISO 8601 date
- Description
Inclusive lower bound on
date.
- Name
- toDate
- Type
- ISO 8601 date
- Description
Inclusive upper bound on
date.
- Name
- accountId
- Type
- string
- Description
Restricts results to a single account.
- Name
- depositoryId
- Type
- string
- Description
Restricts results to a single depository.
Request
curl -G https://platform.aleta.io/api/v2/transactions \
-H "Authorization: Bearer {access_token}" \
-d accountId={account_id} \
-d fromDate=2026-01-01 \
-d toDate=2026-03-31
Create a transaction
Books a manual transaction on an account. Pick the right type up front — the platform validates the payload against that type's schema and rejects the request if the shape doesn't match.
Request
curl -X POST https://platform.aleta.io/api/v2/transactions \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/vnd.api+json" \
-d '{
"data": {
"type": "transaction",
"attributes": {
"type": "buy",
"date": "2026-03-14",
"amount": -85050.00,
"quantity": 100,
"price": 850.50
},
"relationships": {
"account": { "data": { "type": "account", "id": "{account_id}" } }
}
}
}'
Delete a transaction
Removes a transaction from the ledger and triggers an async rebuild of holdings and performance for every reporting entity the affected account rolls up into.
Request
curl -X DELETE https://platform.aleta.io/api/v2/transactions/{id} \
-H "Authorization: Bearer {access_token}"
Related
- Holdings (v3) — the consolidated positions reconstructed from this ledger.
- Performance — TWR computed off the same ledger.
- Custodian holdings — the raw custodian-side view used for reconciliation.