Transaction Report Generation
Generate transaction reports in CSV or XLS format
The Report Generator API lets you export transaction data in CSV or XLS format, with flexible filtering and field selection. There are three modes:
| Mode | Endpoint | Use When |
|---|---|---|
| Preset | GET /report-generator/{id} | You have a saved report configuration (preset) and want to re-run it with optional filter overrides |
| Ad-hoc (raw) | GET /report-generator/raw | You want to choose exactly which fields and filters to include per request |
| Server-to-Server | POST /report-generator/s2s | Backend-to-backend streaming for large datasets; uses x-merchant-key / x-merchant-secret authentication |
#Output Formats
Both csv and xls formats are supported (case-insensitive). The response includes a Content-Disposition: attachment header with the filename.
#Filtering
All endpoints support date range filtering (dateFrom / dateTo in yyyy-MM-dd HH:mm:ss format), plus filters by currency, status, card, merchant, email, and more. If dateFrom/dateTo are omitted in GET requests, the default range is the last ~90 days.
#Field Selection (Raw Mode)
The raw endpoint requires at least one selectedFields parameter. Available fields include transaction ID, card mask, amounts, currencies, status, billing data, device IP, and timestamps. See the API Reference for the complete field list.
#Sorting
Use sortBy (snake_case field name, e.g. created_date) and sortOrder (asc or desc). Default is created_date descending.
#S2S Authentication
The POST /report-generator/s2s endpoint uses x-merchant-key and x-merchant-secret headers instead of Bearer token auth. Keep these credentials confidential — they are intended for backend-to-backend use only.
#Related
- Transaction Status Guide — Status values used in report filters
- Webhook Best Practices — Complement reports with real-time webhook data