Deprecated endpoints

  • GET /v0/ledgers/{ledger_id}/transactions/{transaction_id}
  • GET /v0/ledgers/{ledger_id}/transactions
  • POST /v0/ledgers/{ledger_id}/transactions
  • DELETE /v0/ledgers/{ledger_id}/transactions/{transaction_id}
  • DELETE /v0/ledgers/{ledger_id}/transactions
  • GET /v0/ledgers/{ledger_id}/transactions/categories
  • GET /v0/ledgers/{ledger_id}/transactions/{transaction_id}/categories
  • PUT /v0/ledgers/{ledger_id}/transactions/categories

Overview

Transactions are no longer written into ledgers. They are instead written into transaction source accounts, which represents accounts within a transaction source (e.g. Plaid, Unit, etc.)

Transactions written into a transaction source accounts are automatically posted into the appropriate ledgers.

If you use our data integrations (Plaid, Unit, etc.) then transaction source accounts are automatically created during the account linking process. The transaction source account id will be returned in the response object as source_account_id.

Endpoint migration

GET /v0/ledgers/{ledger_id}/transactions/{transaction_id}

Use the retrieve a transaction endpoint.

GET /v0/source-accounts/{source_account_id}/transactions/{transaction_id}

GET /v0/ledgers/{ledger_id}/transactions

Use the list a transaction source account’s transaction endpoint.

GET /v0/source-accounts/{source_account_id}/transactions

POST /v0/ledgers/{ledger_id}/transactions

If you are manually creating transactions into a ledger, you are acting as a transaction source. You must create a transaction source account and set the ledger_id to the financial account ledger where you want the transactions posted.

Use the create transactions endpoint to create transactions into the transaction source account.

POST /v0/source-accounts/{source_account_id}/transactions

DELETE /v0/ledgers/{ledger_id}/transactions/{transaction_id}

Use the delete a transaction endpoint.

DELETE /v0/source-accounts/{source_account_id}/transactions/{transaction_id}

DELETE /v0/ledgers/{ledger_id}/transactions

Use the delete all transactions in a source account endpoint.

DELETE /v0/source-accounts/{source_account_id}/transactions

GET /v0/ledgers/{ledger_id}/transactions/categories

We will no longer provide a specialized endpoint to get transaction with categories because this information is available in the list transactions endpoint.

In the request to list transactions, expand the opposing line entry ledgers (i.e. expand=opposing_line_entries.ledger). The returned transaction objects will be populated with the opposing line entries and its ledger. The returned ledgers are the categories.

GET /v0/source-accounts/{source_account_id}/transactions?expand=opposing_line_entries.ledger

GET /v0/ledgers/{ledger_id}/transactions/{transaction_id}/categories

We will no longer provide a specialized endpoint to get a transaction’s categories because this information is available in the retrieve a transaction endpoint.

In the request to retrieve a transaction, expand the opposing line entry ledgers (i.e. expand=opposing_line_entries.ledger). The returned transaction object will be populated with the opposing line entries and its ledger. The returned ledgers are the categories.

GET /v0/source-accounts/{source_account_id}/transactions/{transaction_id}?expand=opposing_line_entries.ledger

PUT /v0/ledgers/{ledger_id}/transactions/categories

We will no longer provide a specialized endpoint to update a transaction’s category. Instead, the update transaction endpoint can be used to perform this function.

Getting transaction source accounts IDs

You may use the get transaction source accounts to get a list of all transaction source accounts for an instance. The returned objects contain a ledger_id field which corresponds to the ledger where the transactions will be posted.