Initial enrollment and portfolio onboarding
POST /v1/monitors captures the initial deal as snapshot sequence 1 and returns latest_deal_snapshot_id. It validates borrower ownership, currency, funded amount, outstanding amount, policy, connection consent and baseline before accepting. funded_at cannot be in the future; amounts are nonnegative decimal strings and currencies must agree.
For an Insights-funded deal, pass baseline.risk_package_id. For an existing portfolio deal, pass baseline.portfolio with lending_product_version_id, application (or null when unavailable) and document_ids. AMLOK prepares the Signal baseline from those inputs and the authorized sources. Portfolio preparation is included in Signal; it does not purchase a separate Insights assessment. Missing evidence remains explicit in the baseline.
Append a new snapshot
- Retrieve the monitor and its latest_deal_snapshot_id.
- Submit
POST /v1/monitors/{id}/deal-snapshotswith previous_snapshot_id, effective_at, the complete deal and performance (or null if unknown). - Save the returned immutable snapshot ID. Read its sequence and received_at to confirm acceptance.
GET /v1/monitors/{id}/deal-snapshots lists versions by sequence ascending. GET /v1/deal-snapshots/{id} retrieves one exact version. There is no update/delete operation for snapshots. Stopped monitors reject new inputs with 409 invalid_state. Paused and action-required monitors may accept current inputs without starting processing until their blocking state resolves.
A paid_off performance status records lender information; explicitly stop monitoring with PATCH when monitoring should end. Snapshots and included change-driven reassessment add no Insights charge. Normal Signal borrower/month charging still applies.