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

# List Transfer History — GET /merchants/disbursements

> Retrieve a paginated list of all outbound bank transfers on your merchant account, filterable by status, recipient email, and date range.

Use this endpoint to browse and reconcile your complete transfer history. Results are paginated and can be filtered by status, recipient email, and date range to narrow down exactly the records you need.

```http theme={null}
GET https://sandbox.lyseis-pay.com/merchants/disbursements
```

**Headers**

| Header        | Value                         |
| ------------- | ----------------------------- |
| `X-Key-Id`    | Your merchant key ID          |
| `X-Timestamp` | Unix timestamp of the request |
| `X-Signature` | HMAC request signature        |

## Query parameters

<ParamField query="status" type="string">
  Filter results by transfer status. Accepted values: `processing`, `success`, `failed`, `reversed`, `expired`.
</ParamField>

<ParamField query="customer_email" type="string">
  Filter results to transfers sent to a specific recipient email address.
</ParamField>

<ParamField query="start_date" type="string">
  Return only transfers created on or after this date. Format: `YYYY-MM-DD`.
</ParamField>

<ParamField query="end_date" type="string">
  Return only transfers created on or before this date. Format: `YYYY-MM-DD`.
</ParamField>

<ParamField query="page" type="integer" default="1">
  Page number to retrieve. Defaults to `1`.
</ParamField>

<ParamField query="page_size" type="integer" default="10">
  Number of records per page. Defaults to `10`. Maximum is `100`.
</ParamField>

## Example request

```http theme={null}
GET https://sandbox.lyseis-pay.com/merchants/disbursements?status=success&customer_email=ada@example.com&page=1&page_size=25
```

## Example response

```json theme={null}
{
  "status": "success",
  "data": {
    "total": 134,
    "page": 1,
    "pageSize": 25,
    "data": [
      {
        "reference": "payout_12345",
        "destination_bank_code": "058",
        "destination_bank_account": "0123456789",
        "destination_bank_name": "Example Bank",
        "customer_name": "Ada Lovelace",
        "customer_email": "ada@example.com",
        "amount": 10000.00,
        "fee": 50.00,
        "currency": "NGN",
        "narration": "Merchant payout",
        "transfer_status": "success",
        "metadata": {
          "payout_id": "12345"
        },
        "created_at": "2026-01-15T10:00:00Z",
        "updated_at": "2026-01-15T10:02:30Z"
      }
    ]
  }
}
```

## Response fields

<ResponseField name="total" type="integer">
  Total number of transfer records matching the applied filters (across all pages).
</ResponseField>

<ResponseField name="page" type="integer">
  The current page number returned.
</ResponseField>

<ResponseField name="pageSize" type="integer">
  The number of records returned on this page.
</ResponseField>

<ResponseField name="data" type="array">
  Array of transfer records. Each record contains the following fields:

  <Expandable title="Transfer record fields">
    <ResponseField name="reference" type="string">
      The unique reference assigned to this transfer.
    </ResponseField>

    <ResponseField name="destination_bank_code" type="string">
      Bank code of the recipient's bank.
    </ResponseField>

    <ResponseField name="destination_bank_account" type="string">
      Recipient's bank account number.
    </ResponseField>

    <ResponseField name="destination_bank_name" type="string">
      Name of the recipient's bank.
    </ResponseField>

    <ResponseField name="customer_name" type="string">
      Full name of the transfer recipient.
    </ResponseField>

    <ResponseField name="customer_email" type="string">
      Email address of the transfer recipient.
    </ResponseField>

    <ResponseField name="amount" type="number">
      Transfer amount.
    </ResponseField>

    <ResponseField name="fee" type="number">
      Processing fee charged for this transfer.
    </ResponseField>

    <ResponseField name="currency" type="string">
      ISO 4217 currency code.
    </ResponseField>

    <ResponseField name="narration" type="string">
      The narration supplied when the transfer was initialized.
    </ResponseField>

    <ResponseField name="transfer_status" type="string">
      Current status of the transfer: `processing`, `success`, `failed`, `reversed`, or `expired`.
    </ResponseField>

    <ResponseField name="metadata" type="object">
      The metadata object supplied at initialization, if any.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      ISO 8601 timestamp when the transfer was created.
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      ISO 8601 timestamp of the most recent status update.
    </ResponseField>
  </Expandable>
</ResponseField>
