Skip to content

Cases

Cases are compliance work items. They are linked to transfers when screening, provider behavior, KYC, sanctions, or manual review needs a compliance officer's attention.

Work cases through /api/v2/cases or in the dashboard: list, open, assign, annotate and resolve them. See Cases in the API reference.

Status Meaning
open The case is active and needs review or follow-up.
closed The case has been resolved with a final verdict.

Case status is intentionally simple. The verdict lives on resolution. A case closes only by being resolved, and a closed case cannot be changed or resolved again; it still takes notes.

Resolution Meaning
approved Review allowed the related transfer or issue to proceed.
rejected Review blocked or rejected the related transfer or issue.
Type Meaning
compliance_review General compliance review.
sanctions_hit Possible sanctions match.
provider_rejection Provider or counterparty rejection.
manual_escalation Operator-created escalation.
threshold_breach Threshold-related review.
kyc_failure KYC or identity failure.
Category Meaning
aml Anti-money-laundering review.
sanctions Sanctions screening review.
kyc Identity or KYC review.
fraud Fraud investigation.
threshold Threshold or jurisdiction review.
Priority Meaning
low Lower operational urgency.
medium Default priority.
high Needs faster review.
Source Meaning
manual Opened by a person, in the dashboard or through the API.
auto_created Opened by automated screening: a sanctions match, a high risk score, or a structuring pattern.

Cases can be linked to one or more transfers. Transfer records cannot be deleted while they are linked to cases.

Resolving a case acts on its first linked transfer while that transfer is held: approval resumes it, and rejection rejects it and, when the resolver may, drafts a suspicion report. The answer's meta.transferAction says what happened.

In the dashboard, an open case linked to a transfer holds back accepting or rejecting that transfer until the case is resolved. An API key's accept and reject are not held back.

For API clients, the relevant transfer fields are:

Transfer Field Meaning
state Lifecycle state such as held, rejected, or completed.
compliance.status Compliance verdict in transfer detail.
rejection.reason Reason when a transfer is rejected.
rejection.details Optional details for internal or counterparty rejection.

Suspicion reports (STRs, SARs or SMRs, depending on the jurisdiction) use a separate status lifecycle:

Status Meaning
draft Report exists but has not been submitted for review.
pending_review Report is awaiting internal review.
submitted Report has been submitted for filing.
filed Report has been filed with the relevant authority.

Valid transitions are:

From To
draft pending_review
pending_review submitted, draft
submitted filed

Filing readiness requires a linked transfer, an ISO 3166-1 jurisdiction, regulatory data its jurisdiction's schema accepts, and a narrative of at least 50 characters. Filing a report places a legal hold on its customer's records for the jurisdiction's retention period.

Surface Use
/api/v2/cases List, open, change, assign, annotate and resolve cases.
GET /api/v2/transfers/:id Read transfer state, party status, compliance status, and rejection details.
Webhooks Receive case.created, case.updated and case.resolved, and transfer events.
/api/v2/reports List and read suspicion reports, and download them as PDF.

Drafting, editing, submitting and filing reports are dashboard actions.