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

SET Direct Deposit API · Reporting

Daily settlement report

GET/api/partner/reports/settlement

Key scope: partner key

Your payouts created in one UTC day, oldest first, the same rows as GET /api/partner/statement: state, amount, SET's fee, your share once paid, the deposit hash and railReference. Totals by state, amount, fee and paid to the bank, summed exactly.

Query parameters

date YYYY-MM-DDrequired
A UTC day.
format "json" | "csv"
csv answers one line per payout, with the header set-report-complete and the next part in a Link header.
startingAfter string
The last answer's nextCursor for the same date, unchanged.

Notes

  • An answer reads up to 10,000 payouts. Past that it stops with complete: false, hasMore: true and nextCursor (<createdAt>~<id>); send startingAfter=<nextCursor> for the rest of the day, oldest first, so nothing is skipped or repeated. totals cover the answer's own rows. In CSV, follow the Link header (rel="next"). The same contract as GET /v1/reports/settlement.
  • 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 format_invalid
  • 400 starting_after_invalid
  • 401 partner_key_required
  • 401 partner_key_invalid
  • 401 api_key_expired
  • 403 scope_missing
  • 403 ip_not_allowed
  • 403 merchant_no_direct_deposit
  • 429 rate_limited
  • 503 direct_deposit_disabled

All codes: Errors.