---
title: "List transactions for an account"
method: GET
path: "/v1/banks/{bid}/accounts/{aid}/transactions"
tags: ["Transactions"]
---

# List transactions for an account

`GET /v1/banks/{bid}/accounts/{aid}/transactions`

## Request

- Base URL: `https://api.banksync.io`
- URL: `https://api.banksync.io/v1/banks/{bid}/accounts/{aid}/transactions`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Date-range reads (`from`/`to`, and every read on providers without incremental sync) page with `cursor`. Incremental-sync reads are always live. Responses may be served from a cache up to 6 hours old: `X-BankSync-Cache` says `hit`, `miss` or `bypass`, and `Age` is the cached answer's age in seconds.

## Path parameters

- `bid` string, required: Bank ID
- `aid` string, required: Account ID

## Query parameters

- `cursor` string: Continuation cursor from the previous response; retain from/to for date-range pages
- `from` string: Start date (YYYY-MM-DD), inclusive. Defaults to 30 days before `to`.
- `to` string: End date (YYYY-MM-DD), inclusive. Defaults to today (UTC).

## Response `200`

List of transactions

- object
  - `success` true, required
  - `data` object[], required
    - `id` string, required
    - `date` string, required
    - `authorizedDate` string
    - `description` string, required
    - `merchantName` string
    - `originalDescription` string
    - `cardLast4` string
    - `cardholder` string
    - `amount` number, required
    - `creditAmount` number, required
    - `debitAmount` number, required
    - `currency` string, required
    - `category` string, required
    - `providerCategory` string
    - `type` string, required
    - `reference` string
    - `pending` boolean, required
    - `pendingTransactionId` string, nullable
    - `accountId` string, required
    - `accountName` string
    - `accountNumber` string
    - `accountType` string
    - `bankId` string, required
    - `bank` string
  - `meta` object, required
    - `count` number, required
    - `cursor` string, nullable
    - `hasMore` boolean
    - `from` string
    - `to` string
    - `partial` true
  - `modified` object[]
    - `id` string, required
    - `date` string, required
    - `authorizedDate` string
    - `description` string, required
    - `merchantName` string
    - `originalDescription` string
    - `cardLast4` string
    - `cardholder` string
    - `amount` number, required
    - `creditAmount` number, required
    - `debitAmount` number, required
    - `currency` string, required
    - `category` string, required
    - `providerCategory` string
    - `type` string, required
    - `reference` string
    - `pending` boolean, required
    - `pendingTransactionId` string, nullable
    - `accountId` string, required
    - `accountName` string
    - `accountNumber` string
    - `accountType` string
    - `bankId` string, required
    - `bank` string
  - `removed` string[]
  - `links` object
    - `self` string, required
    - `account` string, required
    - `next` string

## Other responses

- `400`: Invalid request or continuation cursor
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Account not found
- `409`: Reconnect required (`reauth_required`, `reconnectUrl` where to reconnect the bank) or pagination restart required
- `423`: Provider restricted the connection
- `425`: Provider data is not ready
- `429`: Rate limit reached: the workspace plan limit (see Retry-After) or the bank provider limit
- `500`: Unexpected service failure
- `502`: Provider configuration failure
- `503`: Provider temporarily unavailable

---

[API](https://skmtc.dev/banksync/apis/banksync-api.md) · [All operations](https://skmtc.dev/banksync/apis/banksync-api/llms.txt) · [OpenAPI document](https://skmtc.dev/banksync/apis/banksync-api/revisions/94465f5ee922?raw)
