What Each Endpoint Is For
POST /contracts/reconciliations/initopens a new reconciliation for a contract and returns the reconciliation identifier plus the funding scope that will receive funds.GET /contracts/{contract_id}/reconciliations/{reconciliation_id}returns the current reconciliation state, including statement status, funding status, settlement status, and channel-level matching results.POST /contracts/{contract_id}/reconciliations/{reconciliation_id}/uploadsissues presigned upload URLs for reconciliation statement files.
Important Behavior
- Only one open reconciliation is allowed per contract at a time.
- The current implementation rejects external
funding_wallet_addressvalues and uses the Lumx wallet scope when available. - Reconciliation uploads are channel-specific and enforce the expected file extension for each channel.
Recommended Client Flow
- Call
POST /contracts/reconciliations/initwith the targetcontract_id. - Store the returned
reconciliation_id. - Request upload URLs for each statement file with
POST /contracts/{contract_id}/reconciliations/{reconciliation_id}/uploads. - Upload the files to the returned presigned URLs.
- Poll
GET /contracts/{contract_id}/reconciliations/{reconciliation_id}for statement matching, funding attachment, and settlement progress.