file-chart-pieReconciliation report API

XGateway offers an API endpoint for reconciliation reports. This API may be used for automation of reporting.

circle-check
post

Exports transactions to CSV format based on provided filters.

This endpoint generates a CSV export of transactions with the following logic:

  • Increment: Transactions where both created_at AND updated_at fall within the specified period

  • Carry-over: Transactions where created_at < period_start AND updated_at falls within the period.

The export is limited to 50,000 records to ensure optimal performance.

This endpoint allows filtering transactions with various filters including:

  • Transaction ID - UUID of the transaction.

  • Order ID - Merchant's order identifier.

  • Transaction hashes - Array of blockchain transaction hashes.

  • Customer IDs - Array of customer IDs (UUIDs) for filtering (not included in export).

  • Date ranges - ISO 8601 datetime format (e.g., '2024-01-01T00:00:00.000Z').

  • Networks - Blockchain networks (ethereum, bitcoin, tron, polygon, bnb_smart_chain, solana, bahamut).

  • Accounts - List of account IDs (UUIDs).

  • Statuses - Transaction statuses (confirmed, created, failed, misdirected, on_hold_review, processing, automatically_approved, automatically_rejected, manually_approved, manually_rejected).

  • Transaction types - Types of transactions (deposit, withdrawal, correction_up, correction_down, merchant_deposit, settlement).

The CSV includes the following fields:

  • id, order_id, created_at, updated_at

  • type, status, merchant_id, invoice_id, account_id

  • amount_original_currency, original_currency

  • transaction_amount, transaction_currency

  • processing_fee, technical_fee

  • balance_before, balance_after, balance_currency.

All amount fields are exported as strings with a prefix (') to preserve precision in Excel/CSV viewers.

All date/time parameters must be in ISO 8601 format with timezone. Examples:

  • UTC: '2024-01-01T00:00:00.000Z' or '2024-01-01T00:00:00Z'

  • Dubai time (UTC+4): '2024-01-01T04:00:00+04:00'

  • New York time (UTC-5): '2024-01-01T07:00:00-05:00'.

Input dates with any timezone are properly handled - they are converted to UTC for database queries. The dates in the CSV export will be converted to the timezone specified in the 'tz' parameter.

Access to this endpoint requires a valid API key. The API key is sent in the x-api-key header.

Authorizations
x-api-keystringRequired
Query parameters
tzstringOptional

IANA timezone identifier for date formatting in the export. All dates in the CSV will be converted to this timezone.

  • Timezone for date conversion in the export. Accepts IANA timezone identifiers.
Default: UTC
Body

Export filters for transactions.

  • The export filters including required date range.
transactionIdsstring[]Optional

Filter by transaction UUIDs.

Example: ["550e8400-e29b-41d4-a716-446655440000","123e4567-e89b-12d3-a456-426655440000"]
orderIdsstring[]Optional

Filter by merchant's order IDs.

Example: ["ORDER-123456","ORDER-789012"]
hashesstring[]Optional

Filter by blockchain transaction hashes.

Example: ["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"]
blockHashesstring[]Optional

Filter by blockchain block hashes.

Example: ["0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890"]
recipientsstring[]Optional

Filter by transaction recipients.

Example: ["0x1234567890123456789012345678901234567890","0xabcdefabcdefabcdefabcdefabcdefabcdefabcd"]
customerIdsstring[]Optional

Filter by customer IDs (must be valid UUIDs).

Example: ["550e8400-e29b-41d4-a716-446655440000","123e4567-e89b-12d3-a456-426655440000"]
fromUpdatedAtstringRequired

REQUIRED: Start date/time for filtering by the updated_at field. Must be in ISO 8601 format with timezone. The timezone in the input is properly handled - all dates are converted to UTC for database queries.

Example: 2024-01-01T00:00:00.000Z
toUpdatedAtstringRequired

REQUIRED: End date/time for filtering by the updated_at field. Must be in ISO 8601 format with timezone. The timezone in the input is properly handled - all dates are converted to UTC for database queries.

Example: 2024-12-31T23:59:59.999Z
accountsstring[]Optional

Filter by account IDs (must be valid UUIDs).

Example: ["550e8400-e29b-41d4-a716-446655440000","123e4567-e89b-12d3-a456-426655440000"]
Responses
chevron-right
200

CSV file exported successfully

No content

post
/transactions/export
200

CSV file exported successfully

No content

Last updated