Skip to main content
Status: the dedicated export endpoints described below (CSV, JSON, signed PDF dossier) are coming. In the interim, per-intent records are retrievable via the existing compliance snapshot endpoint GET /api/v1/compliance/orders/{intent_id}, which returns the full signed FXOrder + attestations. Batch downloads and signed PDF dossiers are on the roadmap.
Audit Exports is the default integration path for the settlement side of the workflow. Your compliance archive subscribes to scheduled downloads rather than to a real-time stream — matching how compliance systems typically consume data today. For custodians with downstream systems that can’t wait for scheduled exports (custom accounting reconciliation, real-time client-reporting dashboards, etc.), see Programmatic Access.

Export formats

One row per settled intent over the date range. Columns match accounting needs:
ColumnDescription
intent_idFXOrder UUID
transaction_hashAtomic DvP settlement proof — one hash covers all four legs
settled_atISO 8601 timestamp
source_currency / source_amount_actualWhat left your custody (sender) or what the sender paid (receiver)
target_currency / target_amountWhat the receiver got
fx_rateExecuted rate
sender_party_id / receiver_party_idCanton identities
originating_vasp_code / beneficiary_vasp_codeIVMS 101 VASP codes
jurisdiction_sender / jurisdiction_receiverFor reporting routing
Status: coming. Interim: the per-intent snapshot endpoint returns the equivalent data one intent at a time.

Filtering

Planned filters:
  • Date rangefrom / to on settled_at
  • Status — filter to SETTLED, or include FAILED / EXPIRED for operational reviews
  • Institution — limit to a specific sender_party_id or receiver_party_id
  • Jurisdiction — limit by jurisdiction_sender or jurisdiction_receiver for per-regime reporting
  • Currency pair — limit to JPYSC0 → USDCx, etc.

Consuming exports

Once exports land, your compliance archive picks them up via your existing ingestion — whatever you already use for ingesting daily reconciliation from your KYC / sanctions / Travel Rule providers. Musubi retains the on-ledger record for 10 years independently of what your internal archive does; the dual-retention model means a regulator subpoena can be answered from either side. See Audit Trail.

Interim: per-intent snapshot

Until the batch endpoints ship, you can retrieve one intent at a time:
GET /api/v1/compliance/orders/{intent_id}
The response is the full signed FXOrder + attestations — structurally the same content that will appear in the monthly JSON export, just retrieved on demand instead of batched. If your compliance team needs records now, scripting against this endpoint is the path.

Next steps