# Get statement

`GET /accounts/{accountID}/statements/{statementID}`

API version: `v2026.07.00`. Send `X-Moov-Version: v2026.07.00` to get the behavior described here.

> AI agents: search and read all Moov docs with the docs MCP server at https://docs.moov.io/mcp (no API key). Setup: https://docs.moov.io/guides/developer-tools/mcp-ai/docs-mcp/index.md

Retrieve a statement by its ID.

Use the `Accept` header to specify the format of the response. Supported formats are `application/json` and `application/pdf`.

To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
you'll need to specify the `/accounts/{accountID}/profile.read` scope.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `X-Moov-Version` | header | string |  | Set this header to v2026.07.00 to use the API described in this specification. When omitted, the server defaults to v2024.01.00, the earliest supported version, which may not match the behavior documented here. An unrecognized well-formed version uses the latest supported version that is not newer than the requested version, when one exists. For example, `v2026.08.00` uses `v2026.07.00`. A malformed value, such as `2022`, returns a `404` response. Values: `v2026.07.00`. |
| `accountID` | path | string | Yes | A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer). |
| `statementID` | path | string | Yes | A unique identifier for a Moov resource. Supports UUID format (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) or typed format with base32-encoded UUID and type suffix (e.g., kuoaydiojf7uszaokc2ggnaaaa_xfer). |

## Response 200

The request has succeeded.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `statementID` | string | Yes | The unique identifier for the statement. |
| `statementName` | string | Yes | The name of the statement. |
| `fileName` | string | Yes | The name of the statement file. |
| `fileSize` | integer (int64) | Yes | The size of the statement file in bytes. |
| `billingPeriodStartDateTime` | string (date-time) | Yes | The start date and time of the billing period. |
| `billingPeriodEndDateTime` | string (date-time) | Yes | The end date and time of the billing period. |
| `subscriptionIDs` | array of string | Yes | List of subscription IDs associated with this statement. |
| `summary` | object | Yes | A summary of all fees included in a statement. |
| `summary.cardAcquiring` | object |  | A summary of card acquiring fees. |
| `summary.ach` | object |  | A summary of ACH fees. |
| `summary.instantPayments` | object |  | A summary of instant payment fees. |
| `summary.platformFees` | object |  | The total amount of platform fees. This field is deprecated and will be removed in a future release. Use summary.accountFees. |
| `summary.accountFees` | object |  | A summary of account fees. |
| `summary.adjustmentFees` | object |  | The total amount of adjustment fees. This field is deprecated and will be removed in a future release. Use adjustments.total. |
| `summary.otherFees` | object |  | The total amount of other card fees. This field is deprecated and will be removed in a future release. Use summary.otherCardFees. |
| `summary.otherCardFees` | object |  | A summary of other card fees. |
| `summary.total` | object |  | The total amount of all fees. |
| `summary.netIncomeSubtotal` | object |  | Total net revenue after deducting total partner fees. |
| `summary.revenueShare` | string |  | Partner’s share of the net income, expressed as a percentage. |
| `summary.residualSubtotal` | object |  | The portion of net income allocated to the partner before monthly partner costs. |
| `summary.monthlyPartnerCosts` | object |  | Monthly partner costs that are charged separately and not included in residual subtotal (e.g. platform fees, minimums). |
| `summary.netPartnerPayment` | object |  | Final partner payment after deducting monthlyPartnerCosts. |
| `summary.totalNetPartnerPayment` | object |  | Final partner payment after deducting monthlyPartnerCosts and any adjustments. |
| `cardAcquiringFees` | object |  | A detailed breakdown of card acquiring fees by card brand. |
| `cardAcquiringFees.visa` | object | Yes | Fees associated with Visa transactions. |
| `cardAcquiringFees.mastercard` | object | Yes | Fees associated with Mastercard transactions. |
| `cardAcquiringFees.discover` | object | Yes | Fees associated with Discover transactions. |
| `cardAcquiringFees.americanExpress` | object | Yes | Fees associated with American Express transactions. |
| `achFees` | object |  | A detailed breakdown of ACH fees. |
| `achFees.standardCredit` | object | Yes | Fees for standard credit transfers. |
| `achFees.sameDayCredit` | object | Yes | Fees for same-day credit transfers. |
| `achFees.debits` | object | Yes | Fees for debit transfers. |
| `achFees.return` | object | Yes | Fees for authorized returns. |
| `achFees.unauthorizedReturn` | object | Yes | Fees for unauthorized returns. |
| `achFees.noticeOfChange` | object | Yes | Fees for notices of change. |
| `achFees.bankAccountVerification` | object | Yes | Fees for successful bank account verifications via Plaid or MX. |
| `achFees.total` | object | Yes | Total ACH fees. |
| `instantPaymentFees` | object |  | A detailed breakdown of instant payment fees. |
| `instantPaymentFees.rtpCreditTransaction` | object | Yes | Fees for RTP credit transactions. |
| `instantPaymentFees.rtpDecline` | object |  | Fees for RTP declines. |
| `instantPaymentFees.pushToCardTransaction` | object | Yes | Fees for push-to-card transactions. |
| `instantPaymentFees.pushToCardDecline` | object |  | Fees for push-to-card declines. |
| `instantPaymentFees.pullFromCardTransaction` | object | Yes | Fees for pull-from-card transactions. |
| `instantPaymentFees.pullFromCardDecline` | object |  | Fees for pull-from-card declines. |
| `instantPaymentFees.pullFromCardRefund` | object |  | Fees for pull-from-card refunds. |
| `instantPaymentFees.instantVerification` | object | Yes | Fees for instant payment verifications. |
| `instantPaymentFees.total` | object | Yes | Total instant payment fees. |
| `platformFees` | object |  | A detailed breakdown of platform fees. This field is deprecated and will be removed in a future release. Use accountFees. |
| `platformFees.walletFee` | object | Yes | Fees associated with wallet services. |
| `platformFees.merchantPCIFee` | object | Yes | Fees for PCI compliance. |
| `platformFees.total` | object | Yes | Total platform fees. |
| `accountFees` | object |  | A detailed breakdown of account fees. |
| `accountFees.walletFee` | object | Yes | Fees associated with wallet services. |
| `accountFees.merchantPCIFee` | object | Yes | Fees for PCI compliance. |
| `accountFees.invoicePaymentFee` | object | Yes | Fees for invoice payments. |
| `accountFees.kybFee` | object |  | Fees for business verification. |
| `accountFees.kycFee` | object |  | Fees for customer verification. |
| `accountFees.transactionMonitoringFee` | object |  | Fees for transaction risk monitoring. |
| `accountFees.total` | object | Yes | Total platform fees. |
| `otherCardFees` | object |  | A detailed breakdown of other card-related fees. |
| `otherCardFees.disputes` | object | Yes | Fees for disputes. |
| `otherCardFees.cardAccountUpdater` | object | Yes | Fees for card account updater services. |
| `otherCardFees.cardVerification` | object | Yes | Fees for card verification. |
| `otherCardFees.nameVerification` | object | Yes | Fees for name verification. |
| `otherCardFees.total` | object | Yes | Total other card fees. |
| `partnerFees` | object |  | Monthly partner costs that are charged separately and not included in residual subtotal (e.g. platform fees, minimums). |
| `partnerFees.minimumCommitment` | object | Yes | The minimum spending amount that must be met in the billing period. If actual usage is below the minimum amount, account is charged the difference. |
| `partnerFees.monthlyPlatform` | object | Yes | Fixed recurring fee for the billing period regardless of usage. |
| `partnerFees.total` | object | Yes | Total partner fees. |
| `adjustments` | object |  | A detailed breakdown of adjustment (correction) fees by fee name. |
| `adjustments.items` | array of object | Yes | Adjustment fees grouped by fee name. |
| `adjustments.total` | object | Yes | Total adjustment fees. |
| `createdOn` | string (date-time) | Yes | The date and time the statement was created. |
| `updatedOn` | string (date-time) | Yes | The date and time the statement was last updated. |

## Errors

| Status | Meaning |
| --- | --- |
| 401 | The request contained missing or expired authentication. |
| 403 | The user is not authorized to make the request. |
| 404 | The requested resource was not found. |
| 429 | Request was refused due to rate limiting. |
| 500 | The request failed due to an unexpected error. |
| 504 | The request failed because a downstream service failed to respond. |

## Examples

### cURL

```bash
curl -X GET "https://api.moov.io/accounts/{accountID}/statements/{statementID}" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00"
```

### Typescript (SDK)

```typescript
import { Moov } from "@moovio/sdk";

const moov = new Moov({
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.statements.get({
    accountID: "5623ff52-0b05-41ea-b7b3-655835064007",
    statementID: "9d45acbf-c4fe-4843-846c-eaa43c9ca17f",
  });

  console.log(result);
}

run();
```

Full reference with SDK examples in every language: https://docs.moov.io/api/moov-accounts/billing/get-statement/
