---
title: "Generate Report"
slug: "generate-report"
updated: 2025-11-26T06:31:12Z
published: 2025-11-26T06:31:12Z
---

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

# Generate Report

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.

SecurityHTTPType 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 parametersfor-user-idstring

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<select class='api-response-data' aria-label='Media type'><option value='025122d8-856b-46a5-9348-813784605fb4'>application/json</option>
</select>Expand Allobject  typestring    Required

The type of report that will be generated

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

Filtering that are applied to report

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

fromstring  (date-time)    Required

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

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

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

Example2025-07-31T23:59:59Z

formatstring    

The format of the report. Available format is `CSV`.

Valid values[
  "CSV"
]Default"CSV"
currencystring    

The currency to filter.

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

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"

Responses200

Successful operation

<select class='api-response-data' aria-label='Media type'><option value='17ea2e3c-acb1-4c85-91fb-bef6e5957b68'>application/json</option>
</select><select class='select-example' aria-label='Media type'><option value='d772b634-2005-42bf-8788-24d578750d5f'>Basic Transaction Report</option>
<option value='f9e34220-1109-4bca-ae6b-18c02ec76ea6'>Complete Request</option>
</select>Basic Transaction Report

```json
{
  "type": "TRANSACTIONS",
  "filter": {
    "from": "2025-07-01",
    "to": "2025-07-31T23:59:59Z"
  }
}
```

Complete Request

```json
{
  "type": "DETAILED_TRANSACTIONS",
  "filter": {
    "from": "2025-07-01",
    "to": "2025-07-15T23:59:59Z"
  },
  "format": "CSV",
  "currency": "USD",
  "report_version": "VERSION_2"
}
```

Expand Allobject  idstring    

Report ID

typestring    

The type of report that will be generated

Valid values[
  "BALANCE_HISTORY",
  "TRANSACTIONS",
  "UPCOMING_TRANSACTIONS",
  "DETAILED_TRANSACTIONS"
]
statusstring    Valid values[
  "PENDING",
  "COMPLETED",
  "FAILED"
]
filterobject (ReportFilter)  

Filtering that are applied to report

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

fromstring  (date-time)    

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

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

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

Example2025-07-31T23:59:59Z

formatstring    

The format of the report. Available format is `CSV`.

Valid values[
  "CSV"
]Default"CSV"
currencystring    

The currency to filter.

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

Unique ID generated by Xendit for the particular file

createdstring    

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

updatedstring    

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

report_versionstring    

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

<select class='api-response-data' aria-label='Media type'><option value='3198b4e5-1059-4b49-962c-179986ac3ace'>application/json</option>
</select>object  error_codestring    Valid values[
  "RATE_LIMIT_EXCEEDED"
]
messagestring    
errors Array  OneOfstringstring
objectobject
