## Request Payout Export

Triggers a background process to generate a CSV export of payouts
within the specified paid_at range (maximum 1 month).

An email notification is sent to the user when the export is ready.

Only one export can be in progress per user at a time. Stale exports
(older than 1 hour) are ignored for rate-limiting purposes.

## Endpoint signature

```http
POST https://api.reservepay.com/merchants/request-payout-export HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <token>

{
  start_at: string,
  end_at: string,
  format: string?,
}
```

Returns: object

## Request arguments

### `start_at` (string)

**Required**. ISO8601 datetime string for the start of the range.

### `end_at` (string)

**Required**. ISO8601 datetime string for the end of the range.

### `format` (string)

_Optional_. Currently supported: 'csv' (default: 'csv').

Allowed values:

- `csv`

## Response attributes

### `export_id` (string)

**Always present**. The unique identifier of the export.

### `type` (string)

**Always present**. The type of data exported.

Possible values:

- `PAYMENTS`
- `PAYOUTS`
- `CONTACTS`
- `PAYMENTS_BY_CONTACT`
- `PAYOUTS_BY_CONTACT`

### `format` (string)

**Always present**. The file format of the export.

Possible values:

- `csv`

### `status` (string)

**Always present**. The current status of the export.

Possible values:

- `PENDING`
- `PROCESSING`
- `COMPLETED`
- `FAILED`

### `filters` (object)

**Always present**. The filters applied to the export.

### `download_url` (string)

_Nullable_. The URL to download the exported file (available if status is completed).

### `failure_message` (string)

_Nullable_. The error message if the export failed.

### `created_at` (number)

**Always present**. The timestamp when the export was requested.

### `requester_id` (string)

**Always present**. The unique identifier of the user who requested the export.

### `requester_email` (string)

**Always present**. The email address of the user who requested the export.

## Errors specific to this endpoint

### `RATE_LIMIT_EXCEEDED`

An export is already in progress. Please wait for it to complete.

## Errors common to all endpoints

### `UNHANDLED_ERROR`

This error occurs when the server encounters an unexpected internal error that
it cannot handle gracefully. This typically happens due to bugs, infrastructure
issues, or edge cases that weren't anticipated during development.

### `INVALID_ARGUMENTS`

This error occurs when the request contains invalid or missing parameters.
Common cases include missing required fields, or values that don't match the
expected format or type.

### `BAD_VERSION`

This error occurs when making requests to an API version that does not exist.
This commonly happens when using an outdated SDK or when the API version
specified in the request URL is incorrect.
