> For the complete documentation index, see [llms.txt](https://tembo.gitbook.io/tembo/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tembo.gitbook.io/tembo/wallet-management-api/api-reference/get-wallet-statement.md).

# Get Wallet Statement

### Endpoint

```
POST /wallet/statement
```

***

### Request

#### **Headers**

* **`Content-Type`**<mark style="color:red;">**\***</mark> — Must be `application/json`&#x20;
* **`x-account-id`**<mark style="color:red;">**\***</mark> — Your unique TemboPlus account identifier
* **`x-secret-key`**<mark style="color:red;">**\***</mark> — Your TemboPlus API secret key
* **`x-request-id`**<mark style="color:red;">**\***</mark> — Unique UUID per request for tracing

#### **Body Parameters**

* **`accountNo`**<mark style="color:red;">**\***</mark> *(string)* — Wallet account number.
* **`startDate`**<mark style="color:red;">**\***</mark> *(string)* — The starting date of the statement period, formatted as `YYYY-MM-DD`.
* **`endDate`**<mark style="color:red;">**\***</mark> *(string)* — The ending date of the statement period, formatted as `YYYY-MM-DD`.

#### Example Request Payload

```json
{
  "accountNo": "900XXXXXXX",
  "startDate": "2025-09-01",
  "endDate": "2025-09-30"
}
```

***

### Responses

<details>

<summary><code>200</code> OK</summary>

Returns the current and available balance along with account details such as account name, number and status.

#### Response Format

```json
[
  {
    "tranRefNo": "sample-collection", // Your original transaction reference
    "valueDate": "2025-09-12 15:25:35", // Date when transaction was processed
    "txnDate": "2025-08-25 00:00:00", // Original transaction date
    "narration": "Inbound trx from 255628212684", // Transaction description
    "debitOrCredit": "CR", // Transaction type (CR = Credit, DR = Debit)
    "amountCredited": 1000, // Amount credited to your account (TZS)
    "amountDebited": 0, // Amount debited from your account (TZS)
    "balance": 8880 // Account balance after this transaction (TZS)
  },
  {
    "tranRefNo": "sample-collection-PAYIN", // Service fee transaction reference
    "valueDate": "2025-09-12 15:25:36", // Date when fee was processed
    "txnDate": "2025-09-12 00:00:00", // Fee transaction date
    "narration": "SERVICE FEE FOR REF:sample-collection TXNID:ZYIcRFnHFkXz Inbound trx from 255628212684", // Service fee description
    "debitOrCredit": "DR", // Transaction type (DR = Debit for fees)
    "amountCredited": 0, // Amount credited (0 for fee transactions)
    "amountDebited": 15, // Service fee amount debited (TZS)
    "balance": 8865 // Account balance after fee deduction (TZS)
  }
]
```

</details>

<details>

<summary><code>400</code> BAD REQUEST</summary>

Returned when the request payload is missing one or more required fields, or when any field contains invalid data.

#### Response Format

```json
{
    "statusCode": 400,
    "reason": "VALIDATION_ERROR",
    "details": {
        "endDate": "\"endDate\" is required"
    },
    "message": "{\"endDate\":\"\\\"endDate\\\" is required\"}"
}
```

*Fields inside `details` and `message` are optional and vary depending on the specific validation failure.*

***

**Common Validation Errors to Avoid**

* Ensure all **required fields** are included in the request body in the right format.
* **`x-request-id`** must be included in the request headers.

</details>

<details>

<summary><code>401</code> UNAUTHORIZED</summary>

Returned when authentication headers are missing or invalid.

#### Response Format:

```json
{
    "statusCode": 401,
    "reason": "INVALID_CREDENTIALS",
    "details": {}
}
```

</details>

<details>

<summary><code>404</code> NOT FOUND</summary>

Returned when no wallet was found for the provided account number.

#### Response Format

```json
{
    "statusCode": 404,
    "reason": "NOT_FOUND",
    "details": {}
}
```

***

**Common Validation Errors to Avoid**

* Ensure the account number passed in the request payload is a valid account

</details>

<details>

<summary><code>500</code> INTERNAL SERVER ERROR</summary>

Indicates a temporary issue within TemboPlus. Retry later or contact TemboPlus Support with your `x-request-id`.

#### Response Format:

```json
{
    "statusCode": 500,
    "reason": "SERVER_ERROR"
}
```

</details>
