Skip to main content
GET
Get a single transaction

Authorizations

Authorization
string
header
required

Pass your secret key in the Authorization header as a Bearer token: Authorization: Bearer sk_test_... (sandbox) or Bearer sk_live_... (production).

Keys are created in the developer portal and the plaintext secret is shown exactly once at creation. Treat them like passwords — never embed them in mobile apps or front-end code.

Path Parameters

transaction_id
string
required

Query Parameters

client_id
string
required

The Client (cli_…) to scope the read to. Required on account, transaction, and statement reads — LedgerSync's backend data APIs are scoped per end-user, so these resources are resolved within a single Client.

Response

The Transaction.

id
string
required
Example:

"txn_FINICITY_8837"

account_id
string
required
amount
number
required

Signed decimal amount in the account's currency, normalized to one convention across every source - money out negative, money in positive (matches Plaid/Finicity). Sources that report an unsigned magnitude with the direction in a separate field are signed by LedgerSync before they reach this API.

Example:

-28.34

iso_currency_code
string
required

ISO-4217 currency code. Defaults to USD when the source omits it.

Example:

"USD"

date
string<date>
required

Posted date, the date the transaction cleared (Plaid-style date). A pending charge has not cleared and so has no posted date yet; for those this falls back to the date the bank recorded the charge, and it can change when the charge settles.

description
string
required
Example:

"STARBUCKS #1234 SEATTLE WA"

external_id
string | null

Upstream aggregator's transaction ID (Finicity, MX, etc.) if available.

merchant_name
string | null
category
string | null

LedgerSync's normalized category (best-effort across sources).

pending
boolean

Whether the bank is still holding this as an authorization rather than a settled charge. A pending charge is not final. Its amount and its description are both provisional: banks often publish only the card-network entry type while a charge is pending ("PURCHASE", "MAIL/TELEPHONE ORDER") and name the real merchant only once it settles. Treat it as a preview of a charge, never as a booked entry. When it settles, either of two things happens, and which one is up to the bank. The charge may settle in place, keeping the same id and flipping pending to false. Or the bank may drop it and reissue the settled charge as a new transaction with a different id. So do not assume a pending charge you saw earlier will still be there, or will still carry the same id, on your next call. LedgerSync withholds pending charges from its own rules engine and from accounting exports until they settle, so a charge returned with pending: true has not been categorized and has not been pushed to QuickBooks or Zoho Books. Whether pending charges are reported at all depends on the institution, so an account that never returns one is normal.