Reconciliation report API

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

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
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
200

CSV file exported successfully

No content

post
POST /api/v2/transactions/export HTTP/1.1
Host: api.xgateway.tech
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 792

{
  "transactionIds": [
    "550e8400-e29b-41d4-a716-446655440000",
    "123e4567-e89b-12d3-a456-426655440000"
  ],
  "orderIds": [
    "ORDER-123456",
    "ORDER-789012"
  ],
  "hashes": [
    "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
  ],
  "blockHashes": [
    "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
  ],
  "recipients": [
    "0x1234567890123456789012345678901234567890",
    "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd"
  ],
  "customerIds": [
    "550e8400-e29b-41d4-a716-446655440000",
    "123e4567-e89b-12d3-a456-426655440000"
  ],
  "fromUpdatedAt": "2024-01-01T00:00:00.000Z",
  "toUpdatedAt": "2024-12-31T23:59:59.999Z",
  "networks": [
    "ethereum",
    "polygon"
  ],
  "accounts": [
    "550e8400-e29b-41d4-a716-446655440000",
    "123e4567-e89b-12d3-a456-426655440000"
  ],
  "statuses": [
    "confirmed",
    "failed"
  ],
  "transactionTypes": [
    "deposit",
    "withdrawal"
  ]
}
200

CSV file exported successfully

No content

Last updated