---
title: "Get statement by account id"
description: "Retrieve the month-by-month statement history of a single account."
source: https://developers.qashio.com/v2/reference/get-public-v1-erp-statements-by-statementaccountid/
---

# Get statement by account id

`GET /public/v1/erp/statements/{statementAccountId}`

Requires a Bearer access token.

**Purpose.** Retrieve the month-by-month statement history of a single account.

**Description.** Returns the statement periods for one account, most recent first, optionally
narrowed to a month range. This is the endpoint behind an account reconciliation view: the response
header identifies the account once, and `data` carries one row per month. The default page size of
12 returns a calendar year.

Both range bounds are optional and independent — send `from_month` alone for everything since a date,
`to_month` alone for everything up to one, or neither for the full history. A valid account with no
statements returns `200` with an empty `data` array; an unknown account returns `404`.

**Input.**

| Parameter | In | Description |
| --- | --- | --- |
| `statementAccountId` | path | Qashio identifier of the account |
| `from_month` | query | Earliest month to include, `YYYY-MM` |
| `to_month` | query | Latest month to include, `YYYY-MM` |
| `page` | query | Page number, 1-based. Default `1` |
| `page_size` | query | Records per page. Default `12` |

**Output.** One object describing the account and its periods.

| Field | Type | Description |
| --- | --- | --- |
| `account_external_id` | string | Qashio identifier of the account |
| `account_name` | string | Account name, or the card nickname for card accounts |
| `account_type` | string | `Card`, `PoolAccount`, `CompanyFundAccount` or `Subsidiary`; `null` when no statements exist |
| `page`, `total_pages`, `total` | integer | Pagination for the periods below |
| `data[]` | array | One entry per month: `{ statement_period, opening_balance, closing_balance, currency }` |

**Errors.** `400` (unparseable month), `401`, `403`, `404`.

---

# Cards and accounts (read)

### Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `statementAccountId` | string | yes | Qashio identifier of the account |

### Query parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `from_month` | string | no | Earliest month to include, `YYYY-MM` |
| `to_month` | string | no | Latest month to include, `YYYY-MM` |
| `page` | string | no | Page number, 1-based. Default `1` |
| `page_size` | string | no | Records per page. Default `12` |

### Example request

```bash
curl -X GET 'https://api.qashio.com/public/v1/erp/statements/%3AstatementAccountId?from_month=2026-01&to_month=2026-03' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <access_token>'
```

### Example response (200)

```json
{
  "status_code": 200,
  "success": true,
  "data": {
    "account_name": "Qashio Pool Account - 1",
    "account_external_id": "AChhak778j2251b0",
    "account_type": "PoolAccount",
    "page": 1,
    "total_pages": 1,
    "total": 1,
    "data": [
      {
        "opening_balance": 0,
        "closing_balance": 100,
        "currency": "AED",
        "statement_period": {
          "month": null,
          "from": null,
          "to": null
        }
      }
    ]
  },
  "meta": {
    "request_id": "3adb2d16090c7b3bdbde3b326a814b30",
    "timestamp": "2026-09-09T10:07:52.143Z"
  }
}
```

### Errors

- `401` Unauthorized - missing or invalid Bearer token
- `404` Not Found
