<!-- ZenPays documentation · https://docs.zenpayz.com/docs/rest-api/endpoints/reports/list-reports -->

# List Reports

Retrieve a paginated list of generated reports.

<EndpointHeader verb="GET" path="/merchant/api/v1/reports" />

## Request

### Headers

<ParamTable
  label="Header"
  rows={[
    { name: "Authorization", required: true, desc: "`Bearer {api_key}`" },
    { name: "X-Signature", required: true, desc: "HMAC-SHA256 signature" },
    { name: "X-Timestamp", required: true, desc: "ISO 8601 timestamp" },
    { name: "X-Secret-Salt", required: true, desc: "Secret salt for HMAC validation" },
  ]}
/>

### Query Parameters

<ParamTable
  rows={[
    { name: "page", type: "integer", default: "1", desc: "Page number" },
    { name: "limit", type: "integer", default: "20", desc: "Items per page (max 100)" },
    { name: "type", type: "string", default: "-", desc: "Filter by report type" },
    { name: "status", type: "string", default: "-", desc: "Filter by status" },
    { name: "startDate", type: "string", default: "-", desc: "Created after (ISO 8601)" },
    { name: "endDate", type: "string", default: "-", desc: "Created before (ISO 8601)" },
  ]}
/>

## Response

### Success (200 OK)

```json
{
  "success": true,
  "data": [
    {
      "id": "rep_550e8400-e29b-41d4-a716-446655440000",
      "merchantId": "mer_xxxxx",
      "type": "transactions",
      "format": "csv",
      "status": "completed",
      "startDate": "2024-01-01T00:00:00.000Z",
      "endDate": "2024-01-31T23:59:59.999Z",
      "downloadUrl": "https://api.zenpayz.com/merchant/api/v1/reports/rep_550e8400/download",
      "fileSize": 125000,
      "rowCount": 1500,
      "createdAt": "2024-01-15T10:30:00.000Z",
      "completedAt": "2024-01-15T10:32:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 45,
    "totalPages": 3
  }
}
```

<CodeRail>

## Examples

<Tabs groupId="language">
  <TabItem value="curl" label="cURL" default>

```bash
curl -X GET "https://api.zenpayz.com/merchant/api/v1/reports?status=completed&limit=10" \
  -H "Authorization: Bearer zp_test_xxxxx" \
  -H "X-Timestamp: 2024-01-15T10:30:00.000Z" \
  -H "X-Signature: a1b2c3d4e5f6..." \
  -H "X-Secret-Salt: your_secret_salt"
```

  </TabItem>
  <TabItem value="sdk" label="SDK">

```javascript
const { data, pagination } = await zenpays.reports.list({
  status: 'completed',
  limit: 10,
});

console.log(`Found ${pagination.total} reports`);
```

  </TabItem>
</Tabs>

</CodeRail>

## Related Endpoints

- [Generate Report](/docs/rest-api/endpoints/reports/generate-report)
- [Get Report](/docs/rest-api/endpoints/reports/get-report)
- [Download Report](/docs/rest-api/endpoints/reports/download-report)
