SETSimple Easy Transactions
SET DocsAPI reference and complianceUpdated 2026-11-10
Browse: SET Merchant API

SET Merchant API · Tools

Daily settlement report

GET/v1/reports/settlement

Key scope: read

Every balance transaction created in one UTC day, oldest first, each with its railReference, and totals per type, direction and currency. Use it to tie each line on your bank statement to an API object. The rows are the ones GET /v1/balance_transactions answers for the same day.

Query parameters

date YYYY-MM-DDrequired
A UTC day.
type string
Only this type: deposit, cash_out_payment, conversion_payment, card_payment, wallet_withdrawal, payout or refund.
format "json" | "csv"
csv answers one line per row, with the header set-report-complete.

Notes

  • The report goes by createdAt, as balance transactions do, not by the bank's settlement date.
  • complete is false when a type had more than 10,000 rows that day. In CSV, read the set-report-complete header.
  • The CSV columns are createdAt, id, type, direction, state, amount, currency, setFee, platformFee, providerFee, settledAmount, settledCurrency, rail, traceNumber, imad, trackingNumber, endToEndId and simulated.
  • railReference is the bank's own reference for the payment: {rail, traceNumber, imad, trackingNumber, endToEndId}. traceNumber is the ACH trace number, imad the Fedwire IMAD, trackingNumber the UETR on SWIFT, SEPA and Faster Payments (clave de rastreo on SPEI, end-to-end id on Pix), and endToEndId the FedNow id. It is null until the bank payment is processed, and for payments on chain or by card. On staging it is written by SET's simulator and marked "simulated": true.

Errors

  • 400 date_invalid
  • 400 type_invalid
  • 400 format_invalid
  • 401 api_key_required
  • 401 api_key_invalid
  • 401 api_key_wrong_mode
  • 401 api_key_expired
  • 403 scope_missing
  • 403 platform_api_paused
  • 429 rate_limited
  • 503 api_disabled

All codes: Errors.