SETSimple Easy Transactions
SET DocsAPI reference and complianceUpdated 2026-11-10
Browse: SET API (Platforms)

Account-wide export

SET API (Platforms), SET Merchant API and SET Direct Deposit API · Live since 2026-11-13

The problem

You want your own copy of everything SET holds for your account. You may need it for an audit, for a migration, or to keep working if SET is unreachable. Reading every list call by hand takes dozens of calls, and the result is not consistent across them.

The answer

Start one export, then read it page by page:

POST /v1/exports
GET  /v1/exports/{id}/objects?limit=500
  • POST /v1/exports needs a key with the approve scope (403 scope_missing otherwise). The answer is the export: a snapshot time, asOf, and the count of each kind of object created at or before it.
  • GET /v1/exports/{id}/objects is NDJSON, one object per line, with object naming its kind. Within each kind, objects come oldest first. limit is 1 to 1,000 (500 by default).
  • The SET-Next-Cursor header (and Link: rel="next") names the next page. Pass it as cursor. When neither header is present, the export is complete. A page can be short and still carry a cursor.
  • GET /v1/exports lists your exports. GET /v1/exports/{id} reads one export again.

What is in it

Every kind of object your account has: customers, bank accounts, recipients, wallets, virtual accounts, Cash-Out and Conversion Addresses, static memos and templates, deposits and returns, COP pay-ins, cash-out, conversion and card payments, withdrawals, payout batches, payouts and schedules, refunds, transfers, payers, payment links, payment references, invoices, invoice payments and schedules, journal entries, statements, revenue-share payouts, Travel Rule evidence, holds, data requests, webhook endpoints, the audit log, events, and SET Close's sources, imports, records, matches and periods.

Each object appears as SET holds it, including the provider's object ids. Nothing is copied when the export starts: pages read the live tables, so each object shows its state at the moment you read it.

The counts of deposits, cash-out payments, withdrawals, payouts, conversion and card payments and refunds equal what /v1/balance_transactions lists. There is one difference: a payout that carries a refund counts as a payout here, while /v1/balance_transactions lists it only as the refund.

What is never in it

SET's keyed hashes and sealed values (they are usable only with SET's keys), idempotency keys, API keys, webhook secrets and ledger tokens. A payment reference is exported without its payer: the payer is sealed, as it is in every API answer.

SET Direct Deposit partners

POST /api/partner/exports (a write key), and the same reads under /api/partner/exports, export your sender wallets, the payments made from them, and your payout intents. Payee data belongs to the payee and is not exported.