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

# Statement

> Generate statement reports in CSV or PDF format to get a summary of balances and completed transactions on your accounts.

Generate statement reports in CSV or PDF format to get a summary of balances and completed transactions on your accounts.

<Warning>
  This endpoint requires a **person-level API key**, available to customers using Equals apps. If you're using a standard API key, use the [transaction activity report](/pages/reports/generate-transaction-activity) instead.
</Warning>

## Download a statement

<Note>
  **POST** `/v2/statement/download`
</Note>

Use this request to generate a statement CSV or PDF. A statement is a list of balances and completed transactions that occurred on an account over a given period. [Find out more about the statement CSV format](/pages/reports/about-reports#transaction-activity-and-statement-csv-format) and the [statement PDF format](/pages/reports/about-reports#statement-pdf-format).

<Info>
  The statement is generated asynchronously. You will receive a `202` response immediately. The statement file will be emailed to the email address of the user who authenticated the request.
</Info>

<Warning>
  The `endDate` for a statement must be at least one day before the date you are making the request. Unlike transaction activity reports, statements cannot include today's transactions.
</Warning>

You can use optional parameters to filter the transactions included in the statement. For example, use `budgetIds` to return only transactions associated with a given list of budgets, or `currencyCodes` to filter by currency.

<CodeGroup>
  ```bash Sample request theme={null}
  curl -i -X POST \
    https://api.equalsmoney.com/v2/statement/download \
    -H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
    -H 'Content-Type: application/json' \
    -d '{
      "accountId": "F12345",
      "name": "Jane Doe",
      "startDate": "2023-02-15",
      "endDate": "2023-03-30",
      "currencyCodes": "EUR,GBP,USD",
      "budgetIds": [
        "34edaf73-49be-4669-83ee-1b1f8c680d16"
      ],
      "fileFormat": "csv"
    }'
  ```

  ```bash Request structure theme={null}
  curl -i -X POST \
    https://api.equalsmoney.com/v2/statement/download \
    -H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
    -H 'Content-Type: application/json' \
    -d '{
      "accountId": "string",
      "name": "string",
      "startDate": "string",
      "endDate": "string",
      "currencyCodes": "string",
      "budgetIds": [
        "string"
      ],
      "fileFormat": "string"
    }'
  ```
</CodeGroup>

### Request body

<ParamField body="accountId" type="string" required>
  The ID of the account for which you're downloading the statement.

  Allowable values: An existing `accountId` (≤ 36 characters)
</ParamField>

<ParamField body="name" type="string" required>
  The name of the person that you're sending the statement to. This will appear in the email template.

  Allowable values: ≤ 256 characters
</ParamField>

<ParamField body="startDate" type="string" required>
  The date from which to generate the statement. Format: `YYYY-MM-DD`
</ParamField>

<ParamField body="endDate" type="string" required>
  The date until which to generate the statement. This must be at least one day before the date you are making the request. Format: `YYYY-MM-DD`
</ParamField>

<ParamField body="currencyCodes" type="string">
  The currencies for which you want to retrieve transactions, in ISO 4217 format. Use commas to pass multiple values (e.g., `EUR,GBP,USD`).
</ParamField>

<ParamField body="budgetIds" type="array">
  The IDs of the budgets for which you want to retrieve transactions. One or more existing `budgetId`s (36 characters).
</ParamField>

<ParamField body="fileFormat" type="string" required>
  The format of the statement file. Allowable values: `csv`, `pdf`
</ParamField>

### Response

If your request is successful, you'll receive a `202` response. Once the statement is generated, it will be emailed to the email address of the user who authenticated the request.

```json Sample response theme={null}
{
  "message": "accepted"
}
```

<Info>
  If you need a comprehensive view of all transaction activity (including pending transactions) across your accounts, you can [download a transaction activity report in CSV format](/pages/reports/generate-transaction-activity) instead.
</Info>
