Skip to main content

Compliance Request

Use this endpoint to run TruRisk AI analysis on an existing search case — without creating a new case via /api/search.

When to use this endpoint

Call POST /api/compliance-request when:

  1. You already created a case with /api/search and run_tru_risk was false (or omitted).
  2. You later decide to run TruRisk on that same case.
  3. You want to avoid submitting a duplicate search — instead, pass the existing search_reference.

This endpoint is also the standard way to escalate a case: screen at TruRisk Lite by default for speed, and when a case comes back as Potential Match or Uncertain and warrants deeper review, call this endpoint with tru_risk_mode set to TruRisk Advanced to re-run the same case with full identity and relationship analysis—without creating a duplicate search.

Workflow

Make Case (/api/search with run_tru_risk: false) → review results → Compliance Request (/api/compliance-request) to attach TruRisk to the same case.

Mode behavior

The TruRisk mode used for this request defaults to your organization's configured default_mode (Configuration). You can override it with tru_risk_mode.

OverrideResult
Advanced → LiteAlways allowed. Uses data already stored on the original search.
Lite → AdvancedAllowed only if the required Advanced fields are available from the original search (e.g. DOB) or from your organization's TruRisk Configuration (advanced_fields). If neither source has the needed fields, the API returns a 400 error.
Payload limitation

This endpoint does not accept Advanced identity fields in the request body. Required data must already exist on the search case or in Configuration — you cannot supply them here at compliance-request time.


Create Compliance Request

Endpoint: https://api.amlwatcher.com/api/compliance-request

Method: POST

Sample Request
POST /api/compliance-request HTTP/1.1
Host: api.amlwatcher.com
Content-Type: application/json
Authorization: Bearer Token

{
"search_reference": "Your Search Reference"
}

Request Body

ParameterTypeRequiredDescription
search_referenceStringYesThe 24-character reference returned by /api/search for the case you want to analyze with TruRisk.
tru_risk_modeEnumNoOverride the organization default. Must be TruRisk Lite or TruRisk Advanced. If omitted, uses default_mode from TruRisk Configuration.
Overriding tru_risk_mode to Advanced
  • Advanced → Lite: Safe. No extra fields needed.
  • Lite → Advanced: The original search must already include required fields (such as birth_incorporation_date), or those fields must be enabled/available via TruRisk Configuration (advanced_fields). This payload does not support passing Advanced fields (e.g. DOB, nationality, identifiers). If neither the search nor Configuration provides them, the request fails with a 400 error.

Success Response

Sample Response
{
"data": {
"message": "TruRisk request created",
"search_reference": "Your Search Reference"
},
"error": false,
"status": "SUCCESS"
}
ParameterTypeDescription
statusStringIndicates the result of the request (e.g., SUCCESS).
errorBooleanfalse when the request was accepted successfully.
data.messageStringConfirmation that the TruRisk request was created.
data.search_referenceStringEcho of the search reference now queued for TruRisk.

Error Responses

CodeMessage / ConditionWhen it occurs
400TruRisk is not enabled for this organizationOrg does not have TruRisk Lite or Advanced purchased.
400TruRisk is not enabled in your configuration. Please enable it in settings.Master switch (enabled) is off in Configuration.
400Please provide search_referencesearch_reference is missing.
400Invalid search_reference formatValue is not a 24-character string.
400No search found for: {search_reference}Case does not exist for this organization.
400A compliance request already exists for search_reference: {search_reference}TruRisk was already requested for this case.
400Not enough data is available to perform a TruRisk Advanced search. Please create a new search with the required fields, or select TruRisk Lite mode.Lite → Advanced (or Advanced by default), and required fields are missing from both the original search and Configuration.
400TruRisk Advanced mode is not available for this organization. / TruRisk Lite mode is not available for this organization.Requested mode is not purchased for the org.
400TruRisk check not required for 'No Match' resultsSearch has no potential matches to analyze.
403Insufficient TruRisk Lite credits. / Insufficient TruRisk Advanced credits.Mode-specific credit limit reached.
401UnauthorizedMissing or invalid Bearer Token.

1. POST /api/search
{ "name": "...", "run_tru_risk": false, "birth_incorporation_date": "10-03-1947", ... }
→ receive search_reference

2. Later, when TruRisk is needed:
POST /api/compliance-request
{ "search_reference": "<from step 1>" }
→ uses organization default_mode

3. Mode overrides:
Advanced → Lite:
{ "search_reference": "...", "tru_risk_mode": "TruRisk Lite" } → OK

Lite → Advanced:
OK only if required fields already exist on the original search
OR are available via TruRisk Configuration (advanced_fields).
Otherwise → 400 error. Do not send Advanced fields in this payload.