---
title: "Retrieve one transaction"
method: GET
path: "/v1/transactions/{transaction_id}"
tags: ["Transaction"]
---

# Retrieve one transaction

`GET /v1/transactions/{transaction_id}`

Returns a single transaction by its accounting-ledger id (`accounting_ledger_tx_id`). The
response additionally includes the attached `transaction_labels`, `merchant_details` and
`payables` (the latter two only for `banking_bank_transactions`, and payables only when the
Pay product is active).

**Note:** `show` returns a *different, narrower* projection than the list endpoint. It does
not compute the labeled ledger fields (`transaction_type`, `status`, `charge`, `deposit`,
`amount`, `exchange_rate`, `target_cumulative_balance_with_commission`, commission fields,
etc.) that `GET /v1/transactions` adds — those are list/CSV-only. The plain
`cumulative_balance` / `target_cumulative_balance` keys are the exception: they are virtual
attributes aliased to the persisted ledger value, so they are present on **both** the list and
the show responses. See the response schema.

## Path parameters

- `transaction_id` string, uuid, required

## Headers

- `company-id` string, uuid, required

## Response `200`

The requested transaction

- TransactionShow — The `show` projection of a single transaction. **This is intentionally different from the list (`GET /v1/transactions`) projection.** `show` serializes the raw `Transaction` record plus its attached `transaction_labels`, and the `merchant_details` / `payables` methods — it does **not** compute the labeled ledger projection that the list/CSV endpoints add. As a result the list-only computed fields (`transaction_type`, `status`, `charge`, `deposit`, `amount`, `amount_in_clp`, `exchange_rate`, `exchange_rate_value`, `commission_amount`, `commission_currency`, `commission_percentage`, `target_cumulative_balance_with_commission`, etc.) are **absent** on this response. Use the list endpoint when you need the unified, human-labeled projection. The raw underlying columns of the transaction row are passed through (`additionalProperties`), so exact keys depend on the source record type.
  - `id` string, uuid, required — The transaction record id.
  - `accounting_ledger_tx_id` string, uuid — The underlying `Accounting::LedgerTx` id used to look this transaction up.
  - `transaction_labels` TransactionLabel[], required — Labels attached to the transaction (always included on the show response).
    - `id` string, uuid, required
    - `label` string, required
    - `color` string, nullable
    - `company_id` string, uuid
    - `created_at` string, date-time
    - `updated_at` string, date-time
  - `merchant_details` object, nullable — Recipient details, populated for `banking_bank_transactions` only (`null` otherwise).
  - `payables` object[] — Invoices/payables paid with this transaction — populated for `banking_bank_transactions` when the Pay product is active.
    - `id` string, uuid
    - `amount` integer
    - `document_type` string
    - `counterpart_company` string
  - `cumulative_balance` integer, nullable, required — Running balance in cents. A virtual attribute aliased to the persisted ledger value (`target_cumulative_balance_cents`), so the key is **always present** — it holds the value stored on the ledger row. `cumulative_balance` and `target_cumulative_balance` are aliases of the SAME underlying value. Only the on-the-fly window-function **recomputation** of these balances is gated on `_with_cumulative_balances=true` (and on the CSV export); without it the persisted value is returned.
  - `target_cumulative_balance` integer, nullable, required — Running balance in cents. Aliased to the SAME persisted ledger value as `cumulative_balance` (`target_cumulative_balance_cents`); both keys are **always present** and carry the same number. Only the window-function **recomputation** is gated on `_with_cumulative_balances=true` (or the CSV export).

## Other responses

- `401` — Unauthorized
- `404` — Transaction not found

---

[API](https://skmtc.net/cardda/apis/banking-api.md) · [All operations](https://skmtc.net/cardda/apis/banking-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cardda/banking-api/versions/ff1aeb3fda8b/schema)
