List & Download Reports

The Reporting API exposes two operations for working with reports: a list endpoint to search and paginate available reports, and a download endpoint to retrieve the report file itself. These are used in sequence — list first to find the reportUid, then download to fetch the file.

How It Works

1

Search for reports

Call GET /reports with optional RSQL search filters to narrow results by report type, date range, entity, or clearing parameters. The response returns a paginated list of report records, each containing a reportUid.

2

Identify the target report

Locate the report you want from the results array. Note the reportUid — this is the unique identifier you'll pass to the download endpoint.

ReportsResponse
  └── reports[]
        └── reportUid   ← capture this
3

Download the report file

Call GET /reports/{reportUid} with the captured UID. The response body is the report file in its native format (PDF, CSV, or plain text).


Step 1 — Get the list of all reports

Get the list of all reports

get
/reports

By passing in the appropriate options, you can search for reports in the system.

Authorizations
AuthorizationstringRequired

Bearer Authentication scheme.

To use this authentication method indicate Authorization: Bearer <JWT> in the header.

Please replace the value of <JWT> with the JWT generated for that user.

Example

Authorization: Bearer eyJ0eX... (please note that for security reasons the JWT in this example is limited to 6 characters)

Query parameters
pageNumberinteger · min: 1Optional

Page number for records.

Default: 1Example: 1
pageSizeinteger · min: 1 · max: 1000Optional

Page size for returned records.

Default: 50Example: 50
orderBystringOptional

The ordering sequence of the selected records. If this parameter is not provided, descending order will be chosen.

Value Description
ASC Ascending order
DESC Descending order
orderCriteriastringOptional

The ordering criteria of the selected records.

If this parameter not provided, the result will be ordered by createdOn.

Value Description
createdOn Date & Time
modifiedOn Date & Time
status Report status
mimeType Mime type
reportType Report type
reportUid Report identifier
searchstringOptional

A filter query in RSQL format.

The returned reports are limited to those that can be retrieved by the user. Please note that if reportEntityUid is not provided as a search criteria, only records will be returned for the current reportEntityUid assigend to that user (and does not include descendants).

Criteria Description Operator Used
createdOn The date and time the report was created (Date & Time) ==,=lt=,=le=,=gt=,=ge=,=in=,=out=
modifiedOn Date & Time ==,=lt=,=le=,=gt=,=ge=,=in=,=out=
status Report status ==,=in=,=out=
mimeType Mime type ==,=in=,=out=
reportType Report type ==,=in=,=out=
reportUid Report identifier ==,=regex=,=in=,=out=
reportEntityUid Report entity UUID ==,=in=
reportParameter.batchUUID The unique identifier of the settlement batch this report is related to. Mapped to PDSP's transaction.context.paymentContext.batchUUID. ==,=in=
reportParameter.settlementBatchFileNumber The identifier of the settlement batch file this report is related to. Mapped to PDSP's transaction.settlementContext.settlementBatchFileNumber. ==,=regex=,=in=,=out=
reportParameter.clearingEntityUid Clearing entity UUID ==,=in=
reportParameter.clearingAccountUid clearingAccountUid ==,=in=
reportParameter.clearingDate clearingDate (Date & Time) ==,=lt=,=le=,=gt=,=ge=,=in=,=out=
reportParameter.clearingMerchantName clearingMerchantName ==,=regex=,=in=,=out=
reportParameter.clearingUid clearingUid ==,=in=
reportParameter.clearingBankAccount clearingBankAccount ==,=in=
reportParameter.bankingPartner bankingPartner ==,=regex=,=in=,=out=
reportParameter.clearingBankCode clearingBankCode ==,=regex=,=in=,=out=
reportParameter.clearingMerchantId clearingMerchantId ==,=regex=,=in=,=out=
reportParameter.clearingReference clearingReference ==,=regex=,=in=,=out=
reportParameter.generatedOn (deprecated) generatedOn ==,=lt=,=le=,=gt=,=ge=,=in=,=out=
reportParameter.invoicePeriodFrom invoicePeriodFrom ==,=lt=,=le=,=gt=,=ge=,=in=,=out=
reportParameter.invoicePeriodTo invoicePeriodTo ==,=lt=,=le=,=gt=,=ge=,=in=,=out=
reportParameter.invoiceNumber invoiceNumber ==,=regex=,=in=,=out=
reportParameter.reportDescription reportDescription ==,=regex=,=in=,=out=
reportParameter.reportableDay reportableDay ==,=lt=,=le=,=gt=,=ge=,=in=,=out=

RSQL Operators RSQL Query is composed of one or more expressions, combined to each other with following logical operators:

Operator Syntax
Logical AND ; or &
Logical OR ,

RSQL Comparators

Comparator Description
== equal
!= not equal
=lt= less than
=le= less than and equal to
=gt= greater than
=ge= greater than and equal to
=regex= pattern matching
=in= multiple arguments search
=out= exclude

Examples

  • /reports?search=reportType=in=(MERCHANT_SETTLEMENT_REPORT,DAILY_TRANSACTION_REPORT);createdOn=gt=2020-09-20T00:00:00.000Z

  • /reports?search=reportEntityUid=in=(2cbc7ec7-49dd-4e70-be98-dd751cf8640b,0d7e19f7-94d5-49ad-890d-1ce636912fb7,a3ca2522-2810-4db1-b535-6e449c3cea6c)

  • /reports?search=reportParameter.clearingReference==12345

Responses
200

search results matching criteria

application/json
totalsintegerOptional

Total number of reports. The total number of reports matching the search criteria, which can be larger than the number of elements in the array "reports" (which is upper bound by the "pageSize" parameter from the query request).

get
/reports

Pagination

Parameters

  • pageNumber — 1-based page index (default: 1)

  • pageSize — records per page, max 1000 (default: 50)

Ordering

  • orderByASC or DESC (default: DESC)

  • orderCriteria — field to sort by (default: createdOn). Options: createdOn, modifiedOn, status, mimeType, reportType, reportUid

RSQL Search Filter

The search parameter accepts a query in RSQL format. If reportEntityUid is not included, results are limited to the current user's entity (descendants are not included).

Criteria
Description
Operators

createdOn

Date & time report was created

==, =lt=, =le=, =gt=, =ge=, =in=, =out=

modifiedOn

Date & time last modified

==, =lt=, =le=, =gt=, =ge=, =in=, =out=

status

Report status

==, =in=, =out=

mimeType

MIME type

==, =in=, =out=

reportType

Report type

==, =in=, =out=

reportUid

Report identifier

==, =regex=, =in=, =out=

reportEntityUid

Report entity UUID

==, =in=

reportParameter.batchUUID

Settlement batch UUID

==, =in=

reportParameter.settlementBatchFileNumber

Settlement batch file number

==, =regex=, =in=, =out=

reportParameter.clearingEntityUid

Clearing entity UUID

==, =in=

reportParameter.clearingDate

Clearing date & time

==, =lt=, =le=, =gt=, =ge=, =in=, =out=

reportParameter.clearingReference

Clearing reference

==, =regex=, =in=, =out=

reportParameter.invoiceNumber

Invoice number

==, =regex=, =in=, =out=

reportParameter.reportableDay

Date report was generated for

==, =lt=, =le=, =gt=, =ge=, =in=, =out=

Additional clearing parameters
Criteria
Operators

reportParameter.clearingAccountUid

==, =in=

reportParameter.clearingMerchantName

==, =regex=, =in=, =out=

reportParameter.clearingUid

==, =in=

reportParameter.clearingBankAccount

==, =in=

reportParameter.bankingPartner

==, =regex=, =in=, =out=

reportParameter.clearingBankCode

==, =regex=, =in=, =out=

reportParameter.clearingMerchantId

==, =regex=, =in=, =out=

reportParameter.invoicePeriodFrom

==, =lt=, =le=, =gt=, =ge=, =in=, =out=

reportParameter.invoicePeriodTo

==, =lt=, =le=, =gt=, =ge=, =in=, =out=

reportParameter.reportDescription

==, =regex=, =in=, =out=

Report Types

Contains total summary (TS) and summary (S) records for all payment types contributing to a single merchant payout.

See the Merchant Payout Reports documentation for format details.

The CUSTOM_PDSP_REPORT type is also valid in reportType filter queries.

Report Status Values

A report in the response will have one of the following status values:

Status
Meaning

INITIATED

Report has been requested

PROCESSING_STARTED

Report generation is in progress

SUCCESSFUL

Report is ready to download

FAILED

Report generation failed

INVALID_INPUT_PARAMETERS

Report was rejected due to invalid parameters


Step 2 — Download specific report

Download specific report

get
/reports/{reportUid}

Download specific report.

Authorizations
AuthorizationstringRequired

Bearer Authentication scheme.

To use this authentication method indicate Authorization: Bearer <JWT> in the header.

Please replace the value of <JWT> with the JWT generated for that user.

Example

Authorization: Bearer eyJ0eX... (please note that for security reasons the JWT in this example is limited to 6 characters)

Path parameters
reportUidstring · uuidRequired

The unique identifier of that specific report.

Example: 04f5ea24-cc4f-11e8-a8d5-f2801f1b9fd1
Responses
200

Search results matching the criteria.

string · binaryOptional
get
/reports/{reportUid}

The response body is the raw report file. The Content-Type header reflects the file format:

Content-Type
Format

application/pdf

PDF document

text/csv

Comma-separated values

text/plain

Plain text

The reportUid path parameter is a UUID in the format 04f5ea24-cc4f-11e8-a8d5-f2801f1b9fd1. Retrieve it from the reportUid field in the list response.


Deprecated Search Criteria

Was this helpful?