> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qash.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List transactions

> Retrieve transaction history for a user account.

<Note>
  Requires `Authorization: Bearer <user-access-token>` — the token from [Verify login code](/api-reference/users/verify-otp). Pass `accountId` as a query parameter.
</Note>

Returns paginated transactions for a specific user account. Use [List accounts](/api-reference/account-management/list-accounts) first to obtain the `accountId`.

## Request

```http theme={null}
GET /api/v1/transactions?accountId=<id>
Authorization: Bearer <user-access-token>
```

### Query parameters

| Parameter   | Type   | Required | Description                         |
| ----------- | ------ | -------- | ----------------------------------- |
| `accountId` | number | **Yes**  | Account ID to list transactions for |
| `limit`     | number | No       | Page size — default `20`, max `100` |
| `page`      | number | No       | Page number — default `1`           |
| `from`      | string | No       | ISO 8601 date — filter start date   |
| `to`        | string | No       | ISO 8601 date — filter end date     |

```http theme={null}
GET /api/v1/transactions?accountId=649&limit=20&page=1
```

## Response

**200 OK**

```json theme={null}
[
  {
    "id": 4501,
    "uuid": "550e8400-e29b-41d4-a716-446655440000",
    "description": "USDC deposit",
    "status": "PENDING",
    "amount": "100.00000000",
    "debitAccountId": null,
    "creditAccountId": 649,
    "created": "2026-07-01T23:15:00.000Z"
  },
  {
    "id": 4502,
    "uuid": "550e8400-e29b-41d4-a716-446655440001",
    "description": "Transfer out",
    "status": "COMPLETED",
    "amount": "10.00000000",
    "debitAccountId": 649,
    "creditAccountId": 650,
    "created": "2026-07-01T22:00:00.000Z"
  }
]
```

### Item fields

| Field             | Type           | Description                                                                                                   |
| ----------------- | -------------- | ------------------------------------------------------------------------------------------------------------- |
| `id`              | number         | Numeric transaction ID                                                                                        |
| `uuid`            | string (UUID)  | Public transaction identifier — use this with [Get transaction](/api-reference/financials/transaction-detail) |
| `description`     | string         | Description of the transaction                                                                                |
| `status`          | string         | `"PENDING"`, `"PROCESSING"`, `"COMPLETED"`, `"FAILED"`, or `"REVERSED"`                                       |
| `amount`          | string         | Decimal amount, in the account's asset (returned as string for precision)                                     |
| `debitAccountId`  | number \| null | Account debited, if any                                                                                       |
| `creditAccountId` | number \| null | Account credited, if any                                                                                      |
| `created`         | string         | ISO 8601 timestamp                                                                                            |

<Info>
  There is currently one asset (`USDC`) per account, so the transaction itself does not carry a separate currency field — infer it from the account.
</Info>

## Errors

| HTTP status | Error                      | Cause                                                     |
| ----------- | -------------------------- | --------------------------------------------------------- |
| `400`       | `accountId is required`    | `accountId` query param missing                           |
| `401`       | `Invalid or expired token` | Missing, expired, or malformed access token               |
| `404`       | `Account not found`        | `accountId` does not exist or belongs to a different user |
