Skip to content

Report Service API

The Report Service API provides an efficient and secure way to download On-Demand Liquidity (ODL) payment transactions on the RippleNet network.

Report types

Three report types are available in either CSV or JSON format when performing a List reports operation:

Report typeDescription
PAYMENT_OPSThis is a Basic payment report suitable for high-level payment investigation and reporting.
RECONThis is a Reconciliation report suitable for reconciliation and detailed state-by-state investigation.
FAILURE_CONVERSION_SSAThis is a Failure conversion & SSA report suitable for failed payments investigation.

Note: These On-Demand Liquidity (ODL) statement reports do not include data on fiat payments in RippleNet.

Basic payment report

The Basic payment report (PAYMENT_OPS) provides basic payment data, but not the transaction data within payments.

Reconciliation report

The Reconciliation report (RECON) includes all basic payment data, and also includes trade and liquidation data that may be associated with a payment.

A single payment with multiple transactions appears in multiple lines, one line per transaction. Each line includes data that has occurred during the transaction, and all subordinate transactions share the same Payment ID.

Failure conversion & SSA report

The Failure conversion & SSA report (FAILURE_CONVERSION_SSA) includes failed payments data.

Report availability

Reports are available in pre-generated formats for the previous two months and the current month-to-date.

The month-to-date report is generated daily at 00:00 AM (UTC) and is generally available one minute later, at 00:01 AM.

Example: Report availability

On October 16th, you can get:

  • Full month reports for August and September.
  • A month-to-date report from October 1st to October 16th.
MonthExampleDescription
CurrentOctober 1, 2022 to
October 16, 2022 at 00:00 AM
Includes ODL payment data from the first day of the current month up to 00:00 AM (UTC) of the current day.
PreviousSeptember
(If the current month is October)
Includes all ODL payment data for the month preceding the current month.
Month Before LastAugust
(If the current month is October)
Includes all ODL payment data from the month preceding the last month.

API operations

Use these operations to view a list of reports, or download a specific report.

API operationDescription
List reportsView a list of available reports.
Create a reportCreate a report.
Get a reportView a specific report.
Delete a reportDelete a specific report.
Download a reportDownload an individual report in JSON or CSV format.

Authentication

To use any API operation you need a valid access token. You must include a valid access token in the Authorization header of each request.

For more information about getting an access token, see Authentication.

Environments

You can use the Report Service API with the test and production environments by using different base URLs.

EnvironmentBase URLDescription
Testreporting-test.rnc.ripplenet.comTest environment with simulated partners and simulated currency.
Productionreporting.rnc.ripplenet.comProduction environment with actual partners and actual currency.
Languages
Servers
Mock server

https://docs.ripple.com/_mock/products/payments-odl/api-docs/report_service/report_service/

Test environment<br/>Learn about <a href="https://docs.ripple.com/ripplenet/implementation/baseurls/#base-url-by-api-environment" class="api-console-href">API environments</a>

https://reporting-test.rnc.ripplenet.com/

Production environment

https://reporting.rnc.ripplenet.com/

Reports

The Report Service API provides PAYMENT_OPS, RECON, and FAILURE_CONVERSION_SSA reports in either CSV or JSON format.

Operations

Report data fields

View the data fields for the different report types.

Schemas

Scheduler

Operations

InternalReports

Operations

Get Reports

Request

Returns a JSON array of report metadata

Security
Bearer
Query
caspian-onlyboolean

Include Caspian reports in response

created-bystring

Query for report types based on the entity that initiated report creation.

ValueDescription
SCHEDULERGet automated system-generated reports.
USERCustomized reports generated by users through the UI.
APICustomized reports generated using the API.
Enum"USER""SCHEDULER""API"
Example: created-by=USER
curl -i -X GET \
  'https://docs.ripple.com/_mock/products/payments-odl/api-docs/report_service/report_service/internal/reports?caspian-only=true&created-by=USER' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Returns an array of report metadata for the calling tenant

Bodyapplication/json
reportsArray of objects>= 0 itemsrequired
reportIdstring(uuid)required

Unique identifier for a report.

Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
reportNamestring[ 1 .. 256 ] characters

User defined name of the report.

Example: "My custom report"
reportTypestringrequired

The report type of the downloadable report.

Enum ValueDescription
PAYMENT_OPS

Basic payment report suitable for high-level payment investigation and reporting.
View Payment report data fields.

RECON

Reconciliation report suitable for reconciliation and detailed state-by-state investigation.
View Reconciliation report data fields.

FAILURE_CONVERSION_SSA

Failure conversion & SSA report suitable for failed payments investigation.
View Failure conversion & SSA report data fields.

reportFormatstringrequired

The report format of the downloadable report.

Enum ValueDescription
CSV

A CSV file is a text file that uses a comma to delimit values. Each line of text corresponds to a unique record.

JSON

JSON (Javascript Object Notation) is a file format that uses human-readable text to store and transmit data objects consisting of attribute-value pairs and arrays.

reportStatusstringrequired

The status of the report.

Enum ValueDescription
PENDING

Report isn't ready for download.

READY

Report is ready for download.

FAILED

Unable generate the report.

EMPTY

Report has no transactions for the date range.

Example: "READY"
startDatestring(date-time)required

The ISO-8601 start date (inclusive) of the report.

Example: "2018-04-06T20:33:35Z"
endDatestring(date-time)required

The ISO-8601 end date (inclusive) of the report.

Note: Must be after startDate, but no more than 90 days after.

Example: "2018-04-06T20:33:35Z"
createdOnstring(date-time)

Report creation time

Example: "2018-04-06T20:33:35Z"
reportCreatedBystring[ 1 .. 128 ] characters

Identifies the entity that initiated the report creation.

ValueDescription
SCHEDULERAutomated system-generated report initiated by the scheduler.
APIUser-generated report initiated through the API.
[full name]Full name of the user who initiated the creation of the report through the UI.
nullLegacy support for older reports.
Example: "Norma Jean"
Response
application/json
{ "reports": [ {} ] }

Update reports

Request

Request regeneration of a list of reports

Security
Bearer
Query
tenant-idstring[ 1 .. 128 ] charactersrequired

id for tenant

use-caspianboolean

Use Caspian flag to use Caspian to generate updated report

Body*/*

List of IDs for report regeneration

Array [
string(uuid)
]
curl -i -X PUT \
  'https://docs.ripple.com/_mock/products/payments-odl/api-docs/report_service/report_service/internal/reports?tenant-id=string&use-caspian=true' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: */*' \
  -d 497f6eca-6276-4993-bfeb-53cbbbba6f08

Responses

Returns the list of reports with resulting retry STATUS attached

Bodyapplication/json
reportsArray of objects>= 0 itemsrequired
reportIdstring(uuid)required

Unique identifier for a report.

Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
reportNamestring[ 1 .. 256 ] characters

User defined name of the report.

Example: "My custom report"
reportTypestringrequired

The report type of the downloadable report.

Enum ValueDescription
PAYMENT_OPS

Basic payment report suitable for high-level payment investigation and reporting.
View Payment report data fields.

RECON

Reconciliation report suitable for reconciliation and detailed state-by-state investigation.
View Reconciliation report data fields.

FAILURE_CONVERSION_SSA

Failure conversion & SSA report suitable for failed payments investigation.
View Failure conversion & SSA report data fields.

reportFormatstringrequired

The report format of the downloadable report.

Enum ValueDescription
CSV

A CSV file is a text file that uses a comma to delimit values. Each line of text corresponds to a unique record.

JSON

JSON (Javascript Object Notation) is a file format that uses human-readable text to store and transmit data objects consisting of attribute-value pairs and arrays.

reportStatusstringrequired

The status of the report.

Enum ValueDescription
PENDING

Report isn't ready for download.

READY

Report is ready for download.

FAILED

Unable generate the report.

EMPTY

Report has no transactions for the date range.

Example: "READY"
startDatestring(date-time)required

The ISO-8601 start date (inclusive) of the report.

Example: "2018-04-06T19:33:35Z"
endDatestring(date-time)required

The ISO-8601 end date (inclusive) of the report.

Note: Must be after startDate, but no more than 90 days after.

Example: "2018-04-06T20:33:35Z"
createdOnstring(date-time)

Report creation time

Example: "2018-04-06T20:33:35Z"
Response
application/json
{ "reports": [ {} ] }

Create report

Request

Request generation of a report

Security
Bearer
Query
use-caspianboolean

Use Caspian flag to use Caspian to generate report

Body*/*

Parameters defining the requested report

reportNamestring[ 1 .. 256 ] charactersrequired

User defined name of the report.

Example: "My custom report"
startDatestring(date-time)required

The ISO-8601 start date (inclusive) for requested report.

Example: "2018-04-06T19:33:35Z"
endDatestring(date-time)required

The ISO-8601 end date (inclusive) for a requested report.

Note: Must be after startDate, but no more than 90 days after.

Example: "2018-04-06T20:33:35Z"
reportTypestringrequired

The report type of the downloadable report.

Enum ValueDescription
PAYMENT_OPS

Basic payment report suitable for high-level payment investigation and reporting.
View Payment report data fields.

RECON

Reconciliation report suitable for reconciliation and detailed state-by-state investigation.
View Reconciliation report data fields.

FAILURE_CONVERSION_SSA

Failure conversion & SSA report suitable for failed payments investigation.
View Failure conversion & SSA report data fields.

reportFormatstringrequired

The report format of the downloadable report.

Enum ValueDescription
CSV

A CSV file is a text file that uses a comma to delimit values. Each line of text corresponds to a unique record.

JSON

JSON (Javascript Object Notation) is a file format that uses human-readable text to store and transmit data objects consisting of attribute-value pairs and arrays.

curl -i -X POST \
  'https://docs.ripple.com/_mock/products/payments-odl/api-docs/report_service/report_service/internal/reports?use-caspian=true' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: */*' \
  -d '[object Object]'

Responses

Returns the JSON record for the posted report

Bodyapplication/json
reportIdstring(uuid)required

Unique identifier for a report.

Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
reportNamestring[ 1 .. 256 ] characters

User defined name of the report.

Example: "My custom report"
reportTypestringrequired

The report type of the downloadable report.

Enum ValueDescription
PAYMENT_OPS

Basic payment report suitable for high-level payment investigation and reporting.
View Payment report data fields.

RECON

Reconciliation report suitable for reconciliation and detailed state-by-state investigation.
View Reconciliation report data fields.

FAILURE_CONVERSION_SSA

Failure conversion & SSA report suitable for failed payments investigation.
View Failure conversion & SSA report data fields.

reportFormatstringrequired

The report format of the downloadable report.

Enum ValueDescription
CSV

A CSV file is a text file that uses a comma to delimit values. Each line of text corresponds to a unique record.

JSON

JSON (Javascript Object Notation) is a file format that uses human-readable text to store and transmit data objects consisting of attribute-value pairs and arrays.

reportStatusstringrequired

The status of the report.

Enum ValueDescription
PENDING

Report isn't ready for download.

READY

Report is ready for download.

FAILED

Unable generate the report.

EMPTY

Report has no transactions for the date range.

Example: "READY"
startDatestring(date-time)required

The ISO-8601 start date (inclusive) of the report.

Example: "2018-04-06T19:33:35Z"
endDatestring(date-time)required

The ISO-8601 end date (inclusive) of the report.

Note: Must be after startDate, but no more than 90 days after.

Example: "2018-04-06T20:33:35Z"
createdOnstring(date-time)

Report creation time

Example: "2018-04-06T20:33:35Z"
Response
application/json
{ "reportId": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "reportName": "My custom report", "reportType": "PAYMENT_OPS", "reportFormat": "CSV", "reportStatus": "READY", "startDate": "2018-04-06T19:33:35Z", "endDate": "2018-04-06T20:33:35Z", "createdOn": "2018-04-06T20:33:35Z" }

Create report

Request

Request generation of a report created by a SCHEDULER job

Security
Bearer
Query
use-caspianboolean

Use Caspian flag to use Caspian to generate report

Body*/*required

Parameters defining the requested report

reportTypeListArray of stringsrequired
Items Enum ValueDescription
PAYMENT_OPS

Basic payment report suitable for high-level payment investigation and reporting.
View Payment report data fields.

RECON

Reconciliation report suitable for reconciliation and detailed state-by-state investigation.
View Reconciliation report data fields.

FAILURE_CONVERSION_SSA

Failure conversion & SSA report suitable for failed payments investigation.
View Failure conversion & SSA report data fields.

tenantIdsArray of stringsrequired

Comma-separated tenant IDs.

reportEndpointstringrequired
Enum ValueDescription
EXTERNAL

External endpoint

INTERNAL

Internal endpoint

Example: "INTERNAL"
startDatestring(date-time)required

The ISO-8601 start date (inclusive) for the requested report.

Example: "2018-04-06T20:33:35Z"
endDatestring(date-time)required

The ISO-8601 end date (inclusive) for the requested report.

Note: Must be after startDate, but no more than 90 days after.

Example: "2018-04-06T20:33:35Z"
curl -i -X POST \
  'https://docs.ripple.com/_mock/products/payments-odl/api-docs/report_service/report_service/internal/scheduler/reports?use-caspian=true' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: */*' \
  -d '[object Object]'

Responses

Returns an array of reports created

Bodyapplication/json
reportsArray of objects>= 0 itemsrequired
reportIdstring(uuid)required

Unique identifier for a report.

Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
reportNamestring[ 1 .. 256 ] characters

User defined name of the report.

Example: "My custom report"
reportTypestringrequired

The report type of the downloadable report.

Enum ValueDescription
PAYMENT_OPS

Basic payment report suitable for high-level payment investigation and reporting.
View Payment report data fields.

RECON

Reconciliation report suitable for reconciliation and detailed state-by-state investigation.
View Reconciliation report data fields.

FAILURE_CONVERSION_SSA

Failure conversion & SSA report suitable for failed payments investigation.
View Failure conversion & SSA report data fields.

reportFormatstringrequired

The report format of the downloadable report.

Enum ValueDescription
CSV

A CSV file is a text file that uses a comma to delimit values. Each line of text corresponds to a unique record.

JSON

JSON (Javascript Object Notation) is a file format that uses human-readable text to store and transmit data objects consisting of attribute-value pairs and arrays.

reportStatusstringrequired

The status of the report.

Enum ValueDescription
PENDING

Report isn't ready for download.

READY

Report is ready for download.

FAILED

Unable generate the report.

EMPTY

Report has no transactions for the date range.

Example: "READY"
startDatestring(date-time)required

The ISO-8601 start date (inclusive) of the report.

Example: "2018-04-06T19:33:35Z"
endDatestring(date-time)required

The ISO-8601 end date (inclusive) of the report.

Note: Must be after startDate, but no more than 90 days after.

Example: "2018-04-06T20:33:35Z"
createdOnstring(date-time)

Report creation time

Example: "2018-04-06T20:33:35Z"
Response
application/json
{ "reports": [ {} ] }

Get Report

Request

Returns a single JSON record of report metadata

Security
Bearer
Path
report-idstring(uuid)required

Unique ID for a report

Query
caspian-onlyboolean

Include Caspian reports in response

curl -i -X GET \
  'https://docs.ripple.com/_mock/products/payments-odl/api-docs/report_service/report_service/internal/reports/{report-id}?caspian-only=true' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Returns the JSON record of the report specified in the path parameter

Bodyapplication/json
reportIdstring(uuid)required

Unique identifier for a report.

Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
reportNamestring[ 1 .. 256 ] characters

User defined name of the report.

Example: "My custom report"
reportTypestringrequired

The report type of the downloadable report.

Enum ValueDescription
PAYMENT_OPS

Basic payment report suitable for high-level payment investigation and reporting.
View Payment report data fields.

RECON

Reconciliation report suitable for reconciliation and detailed state-by-state investigation.
View Reconciliation report data fields.

FAILURE_CONVERSION_SSA

Failure conversion & SSA report suitable for failed payments investigation.
View Failure conversion & SSA report data fields.

reportFormatstringrequired

The report format of the downloadable report.

Enum ValueDescription
CSV

A CSV file is a text file that uses a comma to delimit values. Each line of text corresponds to a unique record.

JSON

JSON (Javascript Object Notation) is a file format that uses human-readable text to store and transmit data objects consisting of attribute-value pairs and arrays.

reportStatusstringrequired

The status of the report.

Enum ValueDescription
PENDING

Report isn't ready for download.

READY

Report is ready for download.

FAILED

Unable generate the report.

EMPTY

Report has no transactions for the date range.

Example: "READY"
startDatestring(date-time)required

The ISO-8601 start date (inclusive) for a requested report.

Example: "2018-04-06T19:33:35Z"
endDatestring(date-time)required

The ISO-8601 end date (inclusive) for a requested report.

Note: Must be after startDate, but no more than 90 days after.

Example: "2018-04-06T20:33:35Z"
createdOnstring(date-time)

Report creation time

Example: "2018-04-06T20:33:35Z"
downloadLinkstring(uri)[ 1 .. 2048 ] characters

Link where you can download the report in the available format. This field is available when the report status is READY.

Example: "https://reporting-test.rnc.ripplenet.com/v1/reports/download/497f6eca-6276-4993-bfeb-53cbbbba6f08"
reportCreatedBystring[ 1 .. 128 ] characters

Identifies the entity that initiated the report creation.

ValueDescription
SCHEDULERAutomated system-generated report initiated by the scheduler.
APIUser-generated report initiated through the API.
[full name]Full name of the user who initiated the creation of the report through the UI.
nullLegacy support for older reports.
Example: "Norma Jean"
Response
application/json
{ "reportId": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "reportName": "My custom report", "reportType": "PAYMENT_OPS", "reportFormat": "CSV", "reportStatus": "READY", "startDate": "2018-04-06T19:33:35Z", "endDate": "2018-04-06T20:33:35Z", "createdOn": "2018-04-06T20:33:35Z", "downloadLink": "https://reporting-test.rnc.ripplenet.com/v1/reports/download/497f6eca-6276-4993-bfeb-53cbbbba6f08", "reportCreatedBy": "Norma Jean" }

Delete reports

Request

Delete provided report-id for the current tenant

Security
Bearer
Path
report-idstring(uuid)required

Unique ID for a report

Query
caspian_onlyboolean

Include Caspian reports in response

curl -i -X DELETE \
  'https://docs.ripple.com/_mock/products/payments-odl/api-docs/report_service/report_service/internal/reports/{report-id}?caspian_only=true' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The resource was successfully deleted.

Get the contents of a report

Request

Get the contents of a report

Security
Bearer
Path
report-idstring(uuid)required

Unique identifier for a report.

Example: 497f6eca-6276-4993-bfeb-53cbbbba6f08
Query
caspian-onlyboolean

Include Caspian reports in response

curl -i -X GET \
  'https://docs.ripple.com/_mock/products/payments-odl/api-docs/report_service/report_service/internal/reports/download/497f6eca-6276-4993-bfeb-53cbbbba6f08?caspian-only=true' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Returns the JSON record of the report specified in the path parameter

Bodyapplication/json
string(binary)
Response
application/json
"string"

Delete reports

Request

Delete all reports for all tenants

Security
Bearer
curl -i -X DELETE \
  https://docs.ripple.com/_mock/products/payments-odl/api-docs/report_service/report_service/internal/reports/all \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The reports were successfully deleted.

Rerun reports for all tenants for specified dates

Request

Returns a JSON array of rerun report metadata

Security
Bearer
Query
use-caspianboolean

Use Caspian flag to use Caspian to generate updated report

Body*/*

Parameters defining the reports to update

startDatestring(date-time)required

Start date for requested reports.

Example: "2018-04-06T19:33:35Z"
endDatestring(date-time)required

End date for requested reports.

Example: "2018-04-06T20:33:35Z"
curl -i -X PUT \
  'https://docs.ripple.com/_mock/products/payments-odl/api-docs/report_service/report_service/internal/reports/all?use-caspian=true' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: */*' \
  -d '[object Object]'

Responses

Returns an array of report metadata for rerun reports

Bodyapplication/json
reportsArray of objects>= 0 itemsrequired
reportIdstring(uuid)required

Unique identifier for a report.

Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
reportNamestring[ 1 .. 256 ] characters

User defined name of the report.

Example: "My custom report"
reportTypestringrequired

The report type of the downloadable report.

Enum ValueDescription
PAYMENT_OPS

Basic payment report suitable for high-level payment investigation and reporting.
View Payment report data fields.

RECON

Reconciliation report suitable for reconciliation and detailed state-by-state investigation.
View Reconciliation report data fields.

FAILURE_CONVERSION_SSA

Failure conversion & SSA report suitable for failed payments investigation.
View Failure conversion & SSA report data fields.

reportFormatstringrequired

The report format of the downloadable report.

Enum ValueDescription
CSV

A CSV file is a text file that uses a comma to delimit values. Each line of text corresponds to a unique record.

JSON

JSON (Javascript Object Notation) is a file format that uses human-readable text to store and transmit data objects consisting of attribute-value pairs and arrays.

reportStatusstringrequired

The status of the report.

Enum ValueDescription
PENDING

Report isn't ready for download.

READY

Report is ready for download.

FAILED

Unable generate the report.

EMPTY

Report has no transactions for the date range.

Example: "READY"
startDatestring(date-time)required

The ISO-8601 start date (inclusive) of the report.

Example: "2018-04-06T19:33:35Z"
endDatestring(date-time)required

The ISO-8601 end date (inclusive) of the report.

Note: Must be after startDate, but no more than 90 days after.

Example: "2018-04-06T20:33:35Z"
createdOnstring(date-time)

Report creation time

Example: "2018-04-06T20:33:35Z"
Response
application/json
{ "reports": [ {} ] }

Get Reports list grouped by tenant id

Request

Returns a list of all reports grouped by tenant id. If tenant id is not supplied returns list of all tenants

Security
Bearer
Query
tenant-idsArray of strings

comma separated tenant-ids

curl -i -X GET \
  'https://docs.ripple.com/_mock/products/payments-odl/api-docs/report_service/report_service/internal/reports/tenants?tenant-ids=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Returns the list of reports grouped by tenant id

Bodyapplication/json
property name*Array of objectsadditional property
Response
application/json
{ "property1": [ {} ], "property2": [ {} ] }

Delete reports

Request

Delete all reports, or singular report if specified, for the tenant provided,

Security
Bearer
Query
tenant-idstring[ 1 .. 128 ] charactersrequired

tenant-id

report-idstring(uuid)required

Unique ID for a report

curl -i -X DELETE \
  'https://docs.ripple.com/_mock/products/payments-odl/api-docs/report_service/report_service/internal/reports/tenants?tenant-id=string&report-id=497f6eca-6276-4993-bfeb-53cbbbba6f08' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The report(s) were successfully deleted.

Validates if tenant is enabled for reporting

Request

Security
Bearer
curl -i -X GET \
  https://docs.ripple.com/_mock/products/payments-odl/api-docs/report_service/report_service/internal/validate-tenant \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Success

Response
No content