Skip to main content
Use this guide to map Minerva screening responses into an integration, case management system, or analyst review workflow. It focuses on the fields needed to answer four practical questions:
  1. Did Minerva find a Sanctions, PEP, or News/adverse-media indicator?
  2. How closely does the potential match resemble the submitted subject?
  3. Which identity details and sources support or contradict the match?
  4. How can an integration retrieve the same evidence later from profile and search history?
A potential match is a candidate for analyst review. It is not a confirmed identity match, a legal conclusion, or an instruction to accept or reject a customer. Apply your organization’s policies and human-review requirements when determining the final disposition.

The Screening Response Mental Model

Keep risk, identity match strength, and source evidence separate: For a synchronous search, every results[i] object is one ranked potential match. For the historical match API, the equivalent object is matches[i]. The same interpretation applies at either path.

Detect Sanctions, PEP, And News

The direct risk indicators are: A true value means Minerva found a qualifying finding for that candidate in that feed. A false value means no qualifying hit was found for that candidate given the requested feeds, submitted identifiers, available source coverage, and configured thresholds. It is not a universal guarantee that the subject has no risk outside the scope of that screen.
Always retain the original search request with the response. It tells a reviewer which feeds and identifiers were actually available to the matching logic and prevents a missing input from being misread as contradictory evidence.

The checklist Hierarchy

Each hits_info identity attribute generally includes: An optional hits_info attribute can have match_score: 0.0 when that attribute was not supplied in the original search. For example, if the request did not include a DOB or occupation, zero for that comparison should not automatically be treated as conflicting evidence.

Detailed Sanctions Example

The following abbreviated example is illustrative. It shows the relationship between the overall candidate, the feed flag, the triggering source, and source-reported identity values.
A review workflow should read this example in the following order:
  1. checklist.screen.Sanctions confirms that the Sanctions feed flagged.
  2. score says the overall candidate is a strong criteria match.
  3. checklist.hits.Sanctions names the list that triggered the risk finding.
  4. The matching hits_info item shows the original name, date, nationality, and location reported by that list.
  5. ID, source_details, sourced-field sources[], and notes provide corroborating or contradictory evidence for disposition.

Overall Score And Field-Level Closeness

The overall candidate match score is results[i].score. It is normalized from 0.0 to 1.0, with values closer to 1.0 indicating stronger agreement with the submitted search criteria. The score is:
  • a criteria match score, not a risk-severity score
  • not a statistical probability that the candidate is the same person
  • not a measure of how sanctioned, politically exposed, or adverse the subject is
  • not necessarily a simple average of the visible field scores
For example, score: 0.92 means that the candidate matched the submitted identity criteria strongly. It does not mean “92% sanctioned” or “92% risky.” In a name-only request, a score of 1.0 normally means the candidate name matched the submitted name fully. In a name-and-DOB request, a 1.0 normally means both scored criteria matched fully. When optional evidence is unavailable, workspace matching settings can apply missing-evidence treatment rather than counting absence as a direct contradiction. The field-level summary is results[i].match_score_info.<field>. Common keys include:
  • name and aliases
  • date
  • address, city, state, and country
  • gender
  • occupation and organization
  • email and phone
  • personalId and registrationId
  • notes
Each populated field can include score, criteria_match_level, and verified. The verified flag indicates that the field met Minerva’s verification requirements for source reputation and closeness; it should not be treated as a final identity disposition on its own.

Closeness Labels

The closeness label can appear at several levels: Several agreeing exact or close identifiers generally deserve the most attention. A close name alone can still be a false positive when DOB, location, nationality, or identifiers conflict. Conversely, transliteration, initials, reversed names, punctuation, spelling variations, and partial dates can produce a legitimate match without every field being exact.

Consensus Values And Source Data Points

Minerva uses entity resolution to consolidate source records that are likely to refer to the same subject. Many profile fields therefore include both a representative consensus value and the source observations that contributed to it. For example:
  • results[i].nationality.value is the representative nationality selected for the resolved candidate.
  • results[i].nationality.sources[] contains the individual source observations for nationality.
A source observation can include: The consensus is not simply the value reported by the greatest number of sources. Entity resolution considers the available evidence, source reputation, and whether values were directly reported or inferred. When sources disagree, review the complete sources[] array. The number of sources reporting a value is not itself a confidence score.

Identity And Context Field Mapping

Use the following fields to corroborate identity and understand the candidate: time_begin.value is structured as year, month, and day. Month and day can be absent when a source only provides a year or year-month. Source-specific date observations are in time_begin.sources[]. Identifiers in ID are particularly common when sanctions-list publishers provide passport, national-ID, or registration-number details. Do not assume every source will provide a public identifier.

Source Details, URLs, And Explanations

results[i].sources[] is the concise list of contributing source names. results[i].source_details[] is the richer evidence trail. Each source_details[] item can contain: A URL object can include url, title, source_name, snippet, language, date_time_published, http_status_code, and classification flags. An inference can include feed, reason, field, context, and url. This is especially useful when PEP or another classification was inferred from role or narrative evidence rather than supplied as a direct list label. Some structured sources do not provide a record-specific public URL. In that case, use description, hits_info, sourced-field lineage, identifiers, and notes to understand the evidence trail.

Risk-Specific Review Guidance

Sanctions

  1. Confirm checklist.screen.Sanctions is true.
  2. Review checklist.hits.Sanctions for the triggering list names.
  3. Filter checklist.hits_info[] to feed == "Sanctions".
  4. Compare the source-reported name, date, nationality, locations, and identifiers with the submitted subject.
  5. Review source_details[].urls, ID, field-level sources[], and notes[].

PEP

  1. Confirm checklist.screen.PEP is true.
  2. Review checklist.hits.PEP and the corresponding hits_info entries.
  3. Compare name and identity attributes.
  4. Review occupation, organization, links[], and notes[] for role or relationship evidence.
  5. Review source_details[].inferences[] for the classification reason and supporting context.
When present, pep_level is a tier from 1 to 4, with 1 representing the highest-risk tier. It is separate from the identity match score. A PEP flag is a screening signal for review, not an automatic legal conclusion. An abbreviated PEP result can look like this:
Here, pep_level describes PEP tiering, while score describes identity-match strength. The occupation lineage and inferences[] explain why the source supported the PEP classification.

News / Adverse Media

  1. Confirm checklist.screen.News is true.
  2. Review checklist.hits.News for contributing publishers or sources.
  3. Filter checklist.hits_info[] to feed == "News".
  4. Review media.risk_urls[] for the qualifying adverse-media articles.
  5. Review each article’s title, URL, snippet, publication date, sentiment flags, and risk-category flags.
  6. Use media.neutral_urls[] as contextual material, not as adverse-media findings.
An article normally enters media.risk_urls[] when it qualifies on both negative sentiment and a supported financial-crime or other relevant risk classification. A negative article that does not qualify on risk can remain in media.neutral_urls[]; negative sentiment alone does not make it an adverse media finding. A News flag still requires an identity check. Confirm that the article concerns the submitted subject rather than a namesake or incidental mention. An abbreviated News result can look like this:
The article classification explains why News flagged, but the candidate’s identity fields and the article context still determine whether the article is about the submitted subject.
  1. Confirm which requested feeds flagged in checklist.screen.
  2. Review the overall score and field-level closeness. Confirm that configured thresholds match the organization’s risk appetite.
  3. Compare strong identifiers such as DOB or incorporation date, location, nationality, passport, registration number, or personal ID.
  4. Review the exact sources in checklist.hits and the source-reported values in checklist.hits_info[].
  5. Open source links and read the source description, article context, notes, or inference explanation.
  6. Apply the organization’s policy to classify the candidate as true positive, false positive, unresolved, suppressed, or another supported disposition.
See the Match Scoring Guide before changing thresholds or weights. Changing matching configuration affects which candidates reach review and should be calibrated against representative true-positive, false-positive, and high-volume cases.

Automatic Disposition Annotations (New)

Workspaces with Automatic Disposition enabled for the Direct API channel receive Minerva’s disposition analysis inline on screened potential matches - candidates with at least one flagged feed in checklist.screen: Both annotation objects share the same shape (prediction, confidence, rationale, analysis_status, evidence_refs, score_summary, risk_flags, signature_version, source, and a bounded error). Clean matches and workspaces without the feature never carry these fields, and dispositions are computed before the response or batch row completes, which adds a few seconds per screened entity. See the Automatic Disposition Guide for the full field reference, reading order, hint and full-auto examples, and the per-request X-Minerva-Automatic-Disposition: skip opt-out header.

Profiles, Search History, And Potential Matches

When an integration uses Minerva profiles for onboarding and ongoing monitoring, the identifier chain is:

1. List Or Locate Profiles

Useful profile filters include: The screening flag names are:
  • screeningSanctionsMatch
  • screeningPepMatch
  • screeningAdverseMediaMatch
Comma-separated flag_names values return profiles carrying any listed flag. The response list is result.profiles[]. Use result.profiles[i].id as the Minerva profile_id in search APIs. Do not substitute the integration’s externalId for this internal profile ID. Useful profile summary fields include id, externalId, status, flags[], lastScreenedTime, and monitored.

2. List Searches Associated With A Profile

Add feed=Sanctions, feed=PEP, or feed=News to limit the history to searches that included that feed. The response list is requests[]. For each item:

3. Identify Searches With Potential Matches

Search history is request metadata. To find the searches that actually produced potential matches, query the match collection directly:
The response contains matches[]. Every item is a stored potential match, and its request_id links to the corresponding item in requests[]. The distinct request_id values therefore identify the profile searches that produced potential matches.
  • Omit review_status=unresolved to include already reviewed matches.
  • Add hit=Sanctions, hit=PEP, or hit=News for a feed-specific view.
  • Use the response pagination object when the profile has more matches than the requested page size.
Use the requests[i].id value as request_id:
The potential-match objects are under matches[i] rather than the direct-search results[i]. The field mapping is otherwise the same. For example:
  • Direct synchronous search: results[i].score
  • Historical match list: matches[i].score
  • Direct synchronous search: results[i].checklist.screen.Sanctions
  • Historical match list: matches[i].checklist.screen.Sanctions
If the integration uses the asynchronous /v1/search batch flow, it can also poll GET /v1/search/{jobid}. Once response is complete, each completed batch item contains its own results[] potential-match array. For persistent profiles and audit history, the profile_id → request_id → /v2/search/matches path is normally the most direct. See Search History for pagination, date-range filters, and the historical request response shape.

Integration Checklist

  • Store the original request, jobid, searchId or request_id, and profile ID with the case record.
  • Treat checklist.screen as the risk flag and score as identity-match strength.
  • Retain hits_info, source_details, sourced-field lineage, identifiers, notes, and URLs so analysts can explain the decision.
  • Do not treat missing optional inputs or unavailable source fields as automatic contradictions.
  • Require policy-appropriate human review before final disposition.
  • Paginate profile history and match lists; do not assume the first page is the complete audit record.
  • Test threshold changes against known true positives, false positives, transliterations, partial dates, common names, and conflicting identifiers.