Skip to main content
The Minerva API enables financial institutions and regulated entities to automate and streamline key parts of their anti-money laundering (AML) compliance workflows. It leverages advanced deep learning models to analyze and consolidate information from over 250,000 global sources, covering nearly 1 billion individuals and entities and over 4.5 billion data points. The API provides structured outputs to support screening, investigations, onboarding, and regulatory reporting.
⚠️ URL Migration Notice: Legacy *.minervaai.io URLs are deprecated. Use the *.gominerva.com URLs shown throughout this API reference for all new integrations.

Getting Access

Access to the Minerva API is managed through the Minerva dashboard:
  • API keys are created and managed from Administration > Developers. This page requires the Developer role or above.
  • Create separate live and dev applications so each integration has its own key lifecycle, usage history, and owner context.
  • For additional access or integration requests, please contact support@gominerva.com.
  • API keys are not currently scoped by per-key RBAC permissions.

API Overview

The Minerva API is organized around two key capabilities:
  1. Profile Management
  2. Real-Time Risk Assessment
This guide walks through the features and workflows of each.

1. Profile Management & Monitoring

  • Integrate Minerva into onboarding workflows to screen and register customers in a single step.
  • Keep customer profiles up to date and synchronize data across internal systems and Minerva.
  • Enable ongoing monitoring for changes in risk status or new matches.
  • Leverage APIs and webhooks to support investigation workflows, review queues, and keep internal systems in sync

2. Real-Time Risk Assessment

Minerva screens individuals and entities against global watchlists (e.g. sanctions, PEPs, criminal, terror lists) and adverse media mentions. Results are enriched with supporting evidence and confidence scoring.
  • Real-Time Screening: Instantly screen a single profile synchronously for immediate results.
  • Batch Screening: Submit large batches of profiles to be processed in parallel asynchronously, supporting high-volume operations.
  • Generate reports: Automatically summarize search results and profile data for documentation, audits, or compliance filings.
Use POST /v1/reports with a searchResultId from a previous search.
The abbreviated responses below only show the fields you need to carry from one step to the next: jobid, searchId, searchResultId, index, and reports.

Single Search Flow

Step 1: Run POST /v1/search-sync Request:
curl -X POST https://api.gominerva.com/v1/search-sync \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "individual",
    "name": "Jane Doe",
    "feeds": ["Sanctions", "PEP", "News"]
  }'
Response:
{
  "status": 200,
  "jobid": "<jobId>",
  "searchId": "<searchId>",
  "results": [
    {
      "name": {
        "value": "Jane Doe",
        "match_score": 1.0,
        "criteria_match_level": "exact"
      },
      "score": 1.0
    },
    {
      "name": {
        "value": "Jane Doe",
        "match_score": 1.0,
        "criteria_match_level": "exact"
      },
      "score": 1.0
    }
  ]
}
Save searchId. For search-sync, this value becomes searchResultId in the report-generation request.
Step 2: Run POST /v1/reports with that searchId Request:
curl -X POST https://api.gominerva.com/v1/reports \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "searchResultId": "<searchId>",
    "index": 0
  }'
Response:
{
  "status": 200,
  "response": "Reports generated",
  "reports": ["https://storage.googleapis.com/.../Minerva-Report.pdf"]
}
index selects the ranked match from the prior search response: 0 for the top match, 1 for the second match, and so on.

Batch Search Flow

Step 1: Run POST /v1/search Request:
curl -X POST https://api.gominerva.com/v1/search \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "requests": [
      { "type": "individual", "name": "Jane Doe" },
      { "type": "organization", "name": "Acme Corp" }
    ],
    "feeds": ["Sanctions", "PEP"]
  }'
Response:
{
  "status": 200,
  "message": "Requests successfully submitted",
  "id": "<jobId>"
}
Save id from this response. This is the batch jobid you use to read the completed results.
Step 2: Read the completed batch results You can use either POST /v1/searchStatus or GET /v1/search/{jobid}. The examples below use POST /v1/searchStatus. Request:
curl -X POST https://api.gominerva.com/v1/searchStatus \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "<jobId>"
  }'
Response:
{
  "status": 200,
  "response": "complete",
  "results": [
    {
      "request": { "name": "Jane Doe" },
      "searchId": "<requestId>_0",
      "results": [
        {
          "name": {
            "value": "Jane Doe",
            "match_score": 1.0,
            "criteria_match_level": "exact"
          },
          "score": 1.0
        }
      ]
    },
    {
      "request": { "name": "Acme Corp" },
      "searchId": "<requestId>_1",
      "results": [
        {
          "name": {
            "value": "Acme Corp"
          },
          "score": 1.0
        }
      ]
    }
  ]
}
Each results[n].searchId is entity-scoped. Pick the searchId for the subject you want to report on, then pass that value as searchResultId.
Step 3: Run POST /v1/reports with the batch result searchId Request:
curl -X POST https://api.gominerva.com/v1/reports \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "searchResultId": "<requestId>_0",
    "index": 0
  }'
Response:
{
  "status": 200,
  "response": "Reports generated",
  "reports": ["https://storage.googleapis.com/.../Minerva-Report.pdf"]
}

Summary

With Minerva’s API’s you can:
  • Screen individuals and entities in real time or as part of a batch
  • Integrate screening and monitoring into onboarding and compliance workflows
  • Monitor and manage customer profiles over time
  • Generate audit-ready reports for documentation and regulatory filings
  • Streamline and scale your AML compliance operations