> ## 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.

# Generate transaction activity

> Generate reports in CSV format to get a comprehensive view of transaction activity across your accounts.

# Transaction activity

Generate reports in CSV format to get a comprehensive view of transaction activity across your accounts.

## Download a transaction activity report

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

### Request

Use this request to generate a transaction activity CSV. A transaction activity CSV is a list of all transactions generated for an account over a given period. Results are ordered chronologically by creation date, with the most recent transaction appearing first. [Find out more about the transaction activity report format](/pages/reports/about-reports#transaction-activity-and-statement-csv-format).

<Info>
  If you need confirmation of a single payment for reporting purposes, you can [download a PDF confirmation of a payment](../payments/download-payment-confirmations) instead.
</Info>

You can use optional parameters to filter the transactions. For example, use `budgetIds` to return only transactions associated with a given list of budgets.

<CodeGroup>
  ```bash Sample request theme={null}
  curl -i -X POST \
    https://api.equalsmoney.com/v2/activity/download \
    -H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
    -H 'Content-Type: application/json' \
    -d '{
      "accountId": "F12345",
      "personId": "530a5e60-0285-4c88-9671-53aba08a971a",
      "name": "Jane Doe",
      "startDate": "2021-02-15",
      "endDate": "2021-03-30",
      "currencyCodes": "EUR,GBP,USD",
      "budgetIds": [
        "34edaf73-49be-4669-83ee-1b1f8c680d16"
      ],
      "sellCurrency": "EUR,GBP,USD",
      "buyCurrency": "EUR,GBP,USD",
      "type": [
        "payment"
      ],
      "status": [
        "cancelled"
      ],
      "search": "string",
      "settlementStartDate": "2021-02-15",
      "settlementEndDate": "2021-03-30",
      "limit": 100,
      "offset": 200
    }'
  ```

  ```bash Request structure theme={null}
  curl -i -X POST \
    https://api.equalsmoney.com/v2/activity/download \
    -H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
    -H 'Content-Type: application/json' \
    -d '
    {
      "accountId": "string",
      "personId": "string",
      "name": "string",
      "startDate": "string",
      "endDate": "string",
      "currencyCodes": "string",
      "budgetIds": [
        "string"
      ],
      "sellCurrency": "string",
      "buyCurrency": "string",
      "type": [
        "string"
      ],
      "status": [
        "string"
      ],
      "search": "string",
      "settlementStartDate": "string",
      "settlementEndDate": "string",
      "limit": integer,
      "offset": integer
    }'
  ```
</CodeGroup>

#### Request body schema

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

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

<ParamField body="personId" type="string">
  The ID of the person for whom you're downloading transaction activity.

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

<ParamField body="name" type="string" required>
  The name of the person that you're sending the CSV 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 transaction activity CSV.

  Allowable values: Format: `YYYY-MM-DD`
</ParamField>

<ParamField body="endDate" type="string" required>
  The date until which to generate the transaction activity CSV. This can be any date after the `startDate`, including the date on which you're making the request.

  Allowable values: Format: `YYYY-MM-DD`
</ParamField>

<ParamField body="currencyCodes" type="string">
  The currencies for which you want to retrieve transactions, in ISO 4217 format. You must include at least one. Use commas to pass multiple values.

  Allowable values: 3 characters
</ParamField>

<ParamField body="budgetIds" type="array of strings">
  The IDs of the budgets for which you want to retrieve transactions. You must include at least one.

  Allowable values: One or more existing `budgetId`s (36 characters)
</ParamField>

<ParamField body="ignoreRunningBalanceErrors" type="boolean">
  When true, running balance errors are ignored.

  Allowable values: `true`, `false`
</ParamField>

<ParamField body="sellCurrency" type="string">
  Filters transactions that include selling this currency. Use commas to pass multiple values.

  Allowable values: A comma-separated list of currency codes (3 characters)
</ParamField>

<ParamField body="buyCurrency" type="string">
  Filters transactions that include buying this currency. Use commas to pass multiple values.

  Allowable values: A comma-separated list of currency codes (3 characters)
</ParamField>

<ParamField body="type" type="array of strings">
  Filters results that include this type of transaction. Use commas to pass multiple values.

  Allowable values: `exchange`, `payment`, `deposit`, `forwardContract`, `drawdown`, `card`, `cardCheck`, `cardRefund`, `cashWithdrawal`, `atm`, `unload`, `otherDebit`, `load`, `cashback`, `chargeback`, `compensation`, `otherCredit`
</ParamField>

<ParamField body="status" type="array of strings">
  Filters results that include transactions with this status. Use commas to pass multiple values.

  Allowable values: `needsApproval`, `fundsRequired`, `pending`, `complete`, `declined`, `reverted`, `refunded`, `cancelled`, `open`, `cardCheck`
</ParamField>

<ParamField body="search" type="string">
  Filters results that include this string. For example, `Jane+Doe`.

  Allowable values: A valid string
</ParamField>

<ParamField body="settlementStartDate" type="string">
  The settlement date from which to filter results. Transactions that were created but not yet settled before this date will be excluded from results.

  Allowable values: Format: `YYYY-MM-DD`
</ParamField>

<ParamField body="settlementEndDate" type="string">
  The settlement date until which to filter results. Transactions that were created but only settled after this date will be excluded from results.

  Allowable values: Format: `YYYY-MM-DD`
</ParamField>

<ParamField body="limit" type="integer">
  The maximum number of results to return. By default, this is set to `100`.

  Allowable values: A valid integer
</ParamField>

<ParamField body="offset" type="integer">
  The number of results to skip before returning. By default, this is set to `0`.

  Allowable values: A valid integer
</ParamField>

### Response

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

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

  ```json Response structure theme={null}
  {
    "message": "string"
  }
  ```
</CodeGroup>

For more information about this request and its response, see the API reference.
