Skip to main content
Use the reconciliation endpoints after a contract is active and ready for revenue statement matching.

What Each Endpoint Is For

  • POST /contracts/reconciliations/init opens 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}/uploads issues 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_address values and uses the Lumx wallet scope when available.
  • Reconciliation uploads are channel-specific and enforce the expected file extension for each channel.
  1. Call POST /contracts/reconciliations/init with the target contract_id.
  2. Store the returned reconciliation_id.
  3. Request upload URLs for each statement file with POST /contracts/{contract_id}/reconciliations/{reconciliation_id}/uploads.
  4. Upload the files to the returned presigned URLs.
  5. Poll GET /contracts/{contract_id}/reconciliations/{reconciliation_id} for statement matching, funding attachment, and settlement progress.