SET Direct Deposit API · Reporting
Daily settlement report
GET/api/partner/reports/settlement
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
dateYYYY-MM-DDrequired- A UTC day.
format"json" | "csv"csvanswers one line per payout, with the headerset-report-completeand the next part in aLinkheader.startingAfterstring- The last answer's
nextCursorfor the same date, unchanged.
Notes
- An answer reads up to 10,000 payouts. Past that it stops with
complete: false,hasMore: trueandnextCursor(<createdAt>~<id>); sendstartingAfter=<nextCursor>for the rest of the day, oldest first, so nothing is skipped or repeated.totalscover the answer's own rows. In CSV, follow theLinkheader (rel="next"). The same contract asGET /v1/reports/settlement. railReferenceis the bank's own reference for the payment:{rail, traceNumber, imad, trackingNumber, endToEndId}.traceNumberis the ACH trace number,imadthe Fedwire IMAD,trackingNumberthe UETR on SWIFT, SEPA and Faster Payments (clave de rastreo on SPEI, end-to-end id on Pix), andendToEndIdthe FedNow id. It isnulluntil 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_invalid400 format_invalid400 starting_after_invalid401 partner_key_required401 partner_key_invalid401 api_key_expired403 scope_missing403 ip_not_allowed403 merchant_no_direct_deposit429 rate_limited503 direct_deposit_disabled