For archived content, access the previous documentation here or the previous API reference here.

Generate Report

Prev Next
Post
/reports

Request this endpoint to generate the report. You can specify the type and filter the content of the report. The flow of this endpoint is asynchronous. Xendit will send callbacks to you after the report is done.

Currency parameter usage:

  • If type is BALANCE_HISTORY, the currency field in the request body must be one of: IDR, PHP, USD, VND, THB, MYR, SGD, EUR, GBP, HKD, AUD.
  • For all other report types, the currency field in the request body may be any applicable ISO 4217 currency code (e.g., IDR, PHP, USD, EUR, etc.).

Once the report is generated, you can use the get report endpoint to download the report file.

Security
HTTP
Type basic

API Key authentication using HTTPS Basic Auth. Use your API key as the username. The password field can be left empty. Note: In the API documentation "Try it" section, password is required, you may include any value.

Header parameters
for-user-id
string

The sub-account user-id that you want to make this transaction for.

This header is only used if you have access to xenPlatform. See xenPlatform for more information

Body parameters
Expand All
object
type
string Required

The type of report that will be generated

Valid values[ "BALANCE_HISTORY", "TRANSACTIONS", "UPCOMING_TRANSACTIONS", "DETAILED_TRANSACTIONS" ]
filter
object (ReportFilter) Required

Filtering that are applied to report

The combination of from and to must be less than 92 days.

from
string (date-time) Required

The start time of the transaction to be filtered (ISO 8601)

Example2025-07-01T00:00:00Z
to
string (date-time) Required

The end time of the transaction to be filtered (ISO 8601)

Example2025-07-31T23:59:59Z
format
string

The format of the report. Available format is CSV.

Valid values[ "CSV" ]
Default"CSV"
currency
string

The currency to filter.

Valid values[ "IDR", "PHP", "USD", "VND", "THB", "MYR", "SGD", "EUR", "GBP", "HKD", "AUD" ]
Default"IDR"
report_version
string

Report version indicates which version of report you need. This parameter is only applicable to Transaction Report and is request-only (not returned in response).

Version value <> changelog: VERSION_0: Original version VERSION_1: Includes Settlement Status, Actual Settlement Time, and Estimated Settlement Time VERSION_2: Includes Early Settlement Fee Columns, swapped Payment ID with Product ID

Valid values[ "VERSION_0", "VERSION_1", "VERSION_2" ]
Default"VERSION_0"
Responses
200

Successful operation

Basic Transaction Report
{
  "type": "TRANSACTIONS",
  "filter": {
    "from": "2025-07-01",
    "to": "2025-07-31T23:59:59Z"
  }
}
Complete Request
{
  "type": "DETAILED_TRANSACTIONS",
  "filter": {
    "from": "2025-07-01",
    "to": "2025-07-15T23:59:59Z"
  },
  "format": "CSV",
  "currency": "USD",
  "report_version": "VERSION_2"
}
Expand All
object
id
string

Report ID

type
string

The type of report that will be generated

Valid values[ "BALANCE_HISTORY", "TRANSACTIONS", "UPCOMING_TRANSACTIONS", "DETAILED_TRANSACTIONS" ]
status
string
Valid values[ "PENDING", "COMPLETED", "FAILED" ]
filter
object (ReportFilter)

Filtering that are applied to report

The combination of from and to must be less than 92 days.

from
string (date-time)

The start time of the transaction to be filtered (ISO 8601)

Example2025-07-01T00:00:00Z
to
string (date-time)

The end time of the transaction to be filtered (ISO 8601)

Example2025-07-31T23:59:59Z
format
string

The format of the report. Available format is CSV.

Valid values[ "CSV" ]
Default"CSV"
currency
string

The currency to filter.

Valid values[ "IDR", "PHP", "USD", "VND", "THB", "MYR", "SGD", "EUR", "GBP", "HKD", "AUD" ]
Default"IDR"
business_id
string

Unique ID generated by Xendit for the particular file

created
string

The time when the report request is created at UTC+0.

updated
string

The time when the report is updated at UTC+0.

report_version
string

Report version indicates which version of report you need. This parameter is only applicable to Transaction Report and is request-only (not returned in response).

Version value <> changelog: VERSION_0: Original version VERSION_1: Includes Settlement Status, Actual Settlement Time, and Estimated Settlement Time VERSION_2: Includes Early Settlement Fee Columns, swapped Payment ID with Product ID

Valid values[ "VERSION_0", "VERSION_1", "VERSION_2" ]
Default"VERSION_0"
404

The provided id does not exist. Please review the id and try again

object
error_code
string
Valid values[ "RATE_LIMIT_EXCEEDED" ]
message
string
errors
Array
OneOf
string
string
object
object