> For the complete documentation index, see [llms.txt](https://docs.txn.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.txn.io/transactions/listing-transactions.md).

# Listing transactions

<mark style="color:green;">`GET`</mark> `/api/public/v1/transactions`

Returns the transaction history across all of your company's accounts — master accounts and subaccounts, in every currency — in a single list. Use it to reconcile balances or build a statement without querying each account separately. To list transactions for one account, use [Listing account transactions](/accounts/listing-account-transactions.md).

Each entry is one balance movement on one account. Results are paginated, can be filtered by creation date, and are returned newest first by default.

**cURL**

```bash
curl -G "https://api.sandbox.txn.io/api/public/v1/transactions" \
     -H 'Content-Type: application/vnd.api+json' \
     -H 'Authorization: Bearer <api_key>' \
     --data-urlencode 'created_at_from=2026-10-01T00:00:00Z' \
     --data-urlencode 'created_at_to=2026-11-01T00:00:00Z' \
     --data-urlencode 'per_page=100' \
     --data-urlencode 'page=1'
```

**Headers**

| Name          | Value                      |
| ------------- | -------------------------- |
| Content-Type  | `application/vnd.api+json` |
| Authorization | `Bearer <api_key>`         |

**URL Parameters**

<table><thead><tr><th width="183">Name</th><th width="92">Type</th><th>Description</th></tr></thead><tbody><tr><td>page</td><td>number</td><td>Page to return. Defaults to <code>1</code>.</td></tr><tr><td>per_page</td><td>number</td><td>Number of transactions per page. Defaults to <code>50</code>, maximum <code>100</code>. Larger values are capped at <code>100</code>.</td></tr><tr><td>order</td><td>string</td><td>Field to sort by. Can be either <code>created_at</code> (default) or <code>updated_at</code>. Sort by <code>updated_at</code> to pick up transactions whose status changed recently.</td></tr><tr><td>order_type</td><td>string</td><td>Sort direction. Can be either <code>asc</code> or <code>desc</code> (default).</td></tr><tr><td>created_at_from</td><td>string</td><td>Returns transactions created at or after this time (inclusive). ISO 8601 timestamp with time and time zone, e.g. <code>2026-10-01T00:00:00Z</code>.</td></tr><tr><td>created_at_to</td><td>string</td><td>Returns transactions created before this time (exclusive). ISO 8601 timestamp with time and time zone, e.g. <code>2026-11-01T00:00:00Z</code>.</td></tr></tbody></table>

{% hint style="info" %}
New transactions are added to the top of the list while you page through it, which shifts later pages and can repeat an entry. To export a fixed set, set `created_at_to` to the time you start and send the same value with every page.
{% endhint %}

**Response Body**

<table><thead><tr><th>Name</th><th width="99">Type</th><th>Description</th></tr></thead><tbody><tr><td>data[].id</td><td>string</td><td>Transaction ID.</td></tr><tr><td>data[].type</td><td>string</td><td>Entity type returned. Always <code>transactions</code>.</td></tr><tr><td>data[].attributes</td><td>object</td><td>Set of transaction attributes.</td></tr><tr><td>data[].attributes.createdAt</td><td>string</td><td>Transaction creation timestamp in UTC. Refer to the <a href="/api-basics/date-and-time-format.md">Date and time format</a> page.</td></tr><tr><td>data[].attributes.simplifiedState</td><td>string</td><td>Transaction status. See <a href="#transaction-statuses">Transaction statuses</a>.</td></tr><tr><td>data[].attributes.transactionType</td><td>string</td><td>What caused the balance movement. See <a href="#transaction-types">Transaction types</a>.</td></tr><tr><td>data[].attributes.amount</td><td>string</td><td>Amount credited to or debited from the account, in <code>currency</code>. Negative for debits.</td></tr><tr><td>data[].attributes.currency</td><td>string</td><td>Currency code of the transaction. Matches the account currency.</td></tr><tr><td>data[].attributes.balance</td><td>string</td><td>Account balance immediately after Txn processed this transaction.</td></tr><tr><td>data[].attributes.reference</td><td>string</td><td>Reference associated with the transaction, such as the <code>reference</code> you set on a payout or invoice. <code>null</code> when there is none.</td></tr><tr><td>data[].attributes.accountId</td><td>string</td><td>ID of the account the transaction belongs to. Same value as <code>data[].relationships.account.id</code>.</td></tr><tr><td>data[].relationships.account.type</td><td>string</td><td>Entity type of the related account. Always <code>accounts</code>.</td></tr><tr><td>data[].relationships.account.id</td><td>string</td><td>ID of the account the transaction belongs to. The account is returned in <code>included[]</code>.</td></tr><tr><td>data[].relationships.author.type</td><td>string</td><td>Entity type of the author. Always <code>apiKeys</code>.</td></tr><tr><td>data[].relationships.author.id</td><td>string</td><td>ID of the API key that initiated the transaction. The API key is returned in <code>included[]</code>. <code>data</code> is <code>null</code> for transactions not initiated with an API key, such as incoming deposits and actions taken in the dashboard.</td></tr><tr><td>data[].relationships.transactionDetails</td><td>object</td><td>Type-specific transaction record. Not expanded by this endpoint (<code>meta.included</code> is <code>false</code>).</td></tr><tr><td>included[].type(accounts).attributes</td><td>object</td><td>The account the transaction belongs to, including <code>currencyCode</code>, <code>label</code>, <code>master</code> (<code>false</code> for subaccounts), <code>balance</code>, and <code>currencyType</code>. See <a href="/accounts/reading-account.md">Reading account</a> for the full attribute list.</td></tr><tr><td>included[].type(apiKeys).attributes.name</td><td>string</td><td>Name of the API key, as set when it was created.</td></tr><tr><td>included[].type(apiKeys).attributes.createdAt</td><td>string</td><td>Timestamp when the API key was created.</td></tr><tr><td>meta.page</td><td>number</td><td>Current page number.</td></tr><tr><td>meta.per_page</td><td>number</td><td>Page size used for the response.</td></tr><tr><td>meta.total</td><td>number</td><td>Total number of transactions matching the query.</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="HTTP 200" %}

```json
{
  "data": [
    {
      "id": "9e61c7dd-d7c3-4bfd-9f7c-b3571708ac01",
      "type": "transactions",
      "attributes": {
        "createdAt": "2026-10-28T09:43:09.753Z",
        "simplifiedState": "completed",
        "transactionType": "Payout",
        "amount": "-102.450000",
        "currency": "USDT",
        "balance": "30548.827131",
        "reference": "payout-7f3c2a91",
        "accountId": "e289de2b-37bd-4eff-b832-f754c31a2d95"
      },
      "relationships": {
        "account": {
          "data": {
            "type": "accounts",
            "id": "e289de2b-37bd-4eff-b832-f754c31a2d95"
          }
        },
        "transactionDetails": {
          "meta": {
            "included": false
          }
        },
        "author": {
          "data": {
            "type": "apiKeys",
            "id": "9c4b8ebd-ae0b-4812-a97b-92d8359fd1e0"
          }
        }
      }
    },
    {
      "id": "a4b9fb74-ef1b-4b27-b61c-916158bbad54",
      "type": "transactions",
      "attributes": {
        "createdAt": "2026-10-28T09:39:02.441Z",
        "simplifiedState": "completed",
        "transactionType": "ChannelTransaction",
        "amount": "15.73",
        "currency": "USD",
        "balance": "203.70",
        "reference": "player-48213",
        "accountId": "80b8dd61-35bc-49cc-9e04-f2c0f741a096"
      },
      "relationships": {
        "account": {
          "data": {
            "type": "accounts",
            "id": "80b8dd61-35bc-49cc-9e04-f2c0f741a096"
          }
        },
        "transactionDetails": {
          "meta": {
            "included": false
          }
        },
        "author": {
          "data": null
        }
      }
    },
    {
      "id": "15620649-5591-41b6-9421-c262c96f7b37",
      "type": "transactions",
      "attributes": {
        "createdAt": "2026-10-28T09:37:11.727Z",
        "simplifiedState": "completed",
        "transactionType": "InvoiceTransaction",
        "amount": "9.18",
        "currency": "EUR",
        "balance": "185.70",
        "reference": "order-100482",
        "accountId": "adb0f9c4-c7fd-4989-a273-1bd11ad5847b"
      },
      "relationships": {
        "account": {
          "data": {
            "type": "accounts",
            "id": "adb0f9c4-c7fd-4989-a273-1bd11ad5847b"
          }
        },
        "transactionDetails": {
          "meta": {
            "included": false
          }
        },
        "author": {
          "data": {
            "type": "apiKeys",
            "id": "9c4b8ebd-ae0b-4812-a97b-92d8359fd1e0"
          }
        }
      }
    }
  ],
  "included": [
    {
      "id": "e289de2b-37bd-4eff-b832-f754c31a2d95",
      "type": "accounts",
      "attributes": {
        "master": true,
        "currencyCode": "USDT",
        "label": "master",
        "bankReference": "BDR4180381621673512",
        "balance": "30548.827131",
        "totalBalance": null,
        "bankWithdrawalAvailable": false,
        "bankDepositAvailable": false,
        "transferAvailable": true,
        "currencyType": "crypto"
      },
      "relationships": {
        "company": {
          "meta": {
            "included": false
          }
        },
        "networks": {
          "meta": {
            "included": false
          }
        },
        "txnBankCredentials": {
          "meta": {
            "included": false
          }
        }
      }
    },
    {
      "id": "9c4b8ebd-ae0b-4812-a97b-92d8359fd1e0",
      "type": "apiKeys",
      "attributes": {
        "name": "Payments backend",
        "createdAt": "2025-07-04T08:07:13.549Z"
      }
    },
    {
      "id": "80b8dd61-35bc-49cc-9e04-f2c0f741a096",
      "type": "accounts",
      "attributes": {
        "master": true,
        "currencyCode": "USD",
        "label": "master",
        "bankReference": "BDR3455470827278390",
        "balance": "203.70",
        "totalBalance": null,
        "bankWithdrawalAvailable": false,
        "bankDepositAvailable": true,
        "transferAvailable": true,
        "currencyType": "fiat"
      },
      "relationships": {
        "company": {
          "meta": {
            "included": false
          }
        },
        "networks": {
          "meta": {
            "included": false
          }
        },
        "txnBankCredentials": {
          "meta": {
            "included": false
          }
        }
      }
    },
    {
      "id": "adb0f9c4-c7fd-4989-a273-1bd11ad5847b",
      "type": "accounts",
      "attributes": {
        "master": false,
        "currencyCode": "EUR",
        "label": "EUR_1",
        "bankReference": "BDR4778763138567106",
        "balance": "185.70",
        "totalBalance": null,
        "bankWithdrawalAvailable": true,
        "bankDepositAvailable": true,
        "transferAvailable": true,
        "currencyType": "fiat"
      },
      "relationships": {
        "company": {
          "meta": {
            "included": false
          }
        },
        "networks": {
          "meta": {
            "included": false
          }
        },
        "txnBankCredentials": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "meta": {
    "page": 1,
    "per_page": 3,
    "total": 1284
  },
  "jsonapi": {
    "version": "1.0"
  }
}
```

{% endtab %}

{% tab title="HTTP 422" %}

```json
{
  "errors": [
    {
      "status": 422,
      "title": "Invalid parameter",
      "code": "order_invalid",
      "detail": "order must be one of: created_at, updated_at",
      "source": {
        "pointer": "/data/attributes/order"
      }
    }
  ]
}
```

{% endtab %}
{% endtabs %}

An unsupported `order_type` returns the same error with code `order_type_invalid` and the detail `order_type must be one of: asc, desc`.

### Transaction types

`transactionType` tells you what caused the balance movement.

| Type                        | Description                                                                                                                                                                                                                                                                                                                                                                |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `InvoiceTransaction`        | Payment received for an [invoice](/invoices/creating-invoice.md) or payment link.                                                                                                                                                                                                                                                                                          |
| `ChannelTransaction`        | Deposit received on a [channel](/channels/channels-concept.md).                                                                                                                                                                                                                                                                                                            |
| `CoinTransaction`           | Crypto deposit received on an [account address](/accounts/creating-account-address.md). Also records a payment to an invoice's address after the invoice was closed (`completed`, `cancelled` or `rejected`), when your account credits such payments. These carry the invoice's `reference`; see [Payments to closed invoices](/invoices/payments-to-closed-invoices.md). |
| `Payout`                    | [Payout](/payouts/creating-payout.md) sent from the account. Debits the account.                                                                                                                                                                                                                                                                                           |
| `ExchangeTransaction`       | One side of an [exchange](/exchange/creating-quote.md): the debit from the source account or the credit to the target account.                                                                                                                                                                                                                                             |
| `AccountTransaction`        | One side of a [transfer between your accounts](/accounts/creating-account-transfer.md).                                                                                                                                                                                                                                                                                    |
| `BankDepositTransaction`    | Fiat deposit received by bank transfer.                                                                                                                                                                                                                                                                                                                                    |
| `BankWithdrawalTransaction` | Fiat withdrawal to your bank account.                                                                                                                                                                                                                                                                                                                                      |
| `ManualTransaction`         | Balance adjustment made by Txn.                                                                                                                                                                                                                                                                                                                                            |

An exchange or a transfer between your accounts touches two accounts, so it appears as two transactions in this list: a negative amount on the account debited and a positive amount on the account credited.

### Transaction statuses

`simplifiedState` is the status of the ledger entry. The same values are used on every endpoint that returns transactions.

| Status                | Meaning                                                                                                                                                                                                |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `pending`             | Created and not yet final. A pending payout or bank withdrawal has already reserved its amount. A pending deposit has not been credited yet.                                                           |
| `on_hold`             | Held for compliance review. Moves to `completed` if released, or to `rejected`.                                                                                                                        |
| `travel_rule_waiting` | Crypto deposit confirmed on-chain and waiting for Travel Rule information about the sender before it is credited. Only occurs on direct deposits when Travel Rule checks are enabled for your account. |
| `completed`           | Final. The amount has been credited to or debited from the account.                                                                                                                                    |
| `processed`           | Crypto deposit confirmed and handled through the invoice it was sent to. The deposit itself does not change the account balance.                                                                       |
| `cancelled`           | Final. The transaction did not go through: the invoice expired, the payout or withdrawal was cancelled, or the deposit was never confirmed. No balance change.                                         |
| `rejected`            | Final. Rejected after compliance review. A rejected deposit is not credited — see [Invoice refunds](/invoices/invoice-refunds.md) for how the funds are handled.                                       |
| `send_failed`         | The bank transfer for a withdrawal could not be sent. Txn retries the transfer or cancels the withdrawal.                                                                                              |

Which statuses a transaction can have depends on its type:

| Type                                                             | Possible statuses                                                                              |
| ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `InvoiceTransaction`                                             | `pending`, `on_hold`, `completed`, `cancelled`, `rejected`                                     |
| `ChannelTransaction`                                             | `pending`, `on_hold`, `completed`, `rejected`                                                  |
| `CoinTransaction`                                                | `pending`, `on_hold`, `travel_rule_waiting`, `completed`, `processed`, `cancelled`, `rejected` |
| `Payout`                                                         | `pending`, `completed`, `cancelled`                                                            |
| `BankDepositTransaction`                                         | `pending`, `on_hold`, `completed`, `cancelled`                                                 |
| `BankWithdrawalTransaction`                                      | `pending`, `send_failed`, `completed`, `cancelled`                                             |
| `ExchangeTransaction`, `AccountTransaction`, `ManualTransaction` | `completed`                                                                                    |

`balance` is the account balance after the entry. It counts `completed` entries and `pending` debits: a payout or bank withdrawal reserves its amount as soon as it is created, so it lowers `balance` while still pending, whereas a pending deposit does not raise it until it completes. Entries in any other status leave the balance unchanged.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.txn.io/transactions/listing-transactions.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
