curl --request POST \
--url https://api.gominerva.com/v2/search \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"config": {
"execution_mode": "async",
"submission_source": "user_dashboard_risk_assessment"
},
"entities": [
{
"type": "individual",
"name": "Alice Example",
"feeds": [
"Sanctions",
"PEP"
],
"global_filters": {
"match_scoring_workflow": "risk_assessment"
}
}
]
}
'import requests
url = "https://api.gominerva.com/v2/search"
payload = {
"config": {
"execution_mode": "async",
"submission_source": "user_dashboard_risk_assessment"
},
"entities": [
{
"type": "individual",
"name": "Alice Example",
"feeds": ["Sanctions", "PEP"],
"global_filters": { "match_scoring_workflow": "risk_assessment" }
}
]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
config: {execution_mode: 'async', submission_source: 'user_dashboard_risk_assessment'},
entities: [
{
type: 'individual',
name: 'Alice Example',
feeds: ['Sanctions', 'PEP'],
global_filters: {match_scoring_workflow: 'risk_assessment'}
}
]
})
};
fetch('https://api.gominerva.com/v2/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gominerva.com/v2/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'config' => [
'execution_mode' => 'async',
'submission_source' => 'user_dashboard_risk_assessment'
],
'entities' => [
[
'type' => 'individual',
'name' => 'Alice Example',
'feeds' => [
'Sanctions',
'PEP'
],
'global_filters' => [
'match_scoring_workflow' => 'risk_assessment'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gominerva.com/v2/search"
payload := strings.NewReader("{\n \"config\": {\n \"execution_mode\": \"async\",\n \"submission_source\": \"user_dashboard_risk_assessment\"\n },\n \"entities\": [\n {\n \"type\": \"individual\",\n \"name\": \"Alice Example\",\n \"feeds\": [\n \"Sanctions\",\n \"PEP\"\n ],\n \"global_filters\": {\n \"match_scoring_workflow\": \"risk_assessment\"\n }\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.gominerva.com/v2/search")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"config\": {\n \"execution_mode\": \"async\",\n \"submission_source\": \"user_dashboard_risk_assessment\"\n },\n \"entities\": [\n {\n \"type\": \"individual\",\n \"name\": \"Alice Example\",\n \"feeds\": [\n \"Sanctions\",\n \"PEP\"\n ],\n \"global_filters\": {\n \"match_scoring_workflow\": \"risk_assessment\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gominerva.com/v2/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"config\": {\n \"execution_mode\": \"async\",\n \"submission_source\": \"user_dashboard_risk_assessment\"\n },\n \"entities\": [\n {\n \"type\": \"individual\",\n \"name\": \"Alice Example\",\n \"feeds\": [\n \"Sanctions\",\n \"PEP\"\n ],\n \"global_filters\": {\n \"match_scoring_workflow\": \"risk_assessment\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"job_id": "<string>",
"request_id": "<string>",
"dashboardViewLink": "<string>",
"errors": {},
"entity_matches": {}
}{
"job_id": "<string>",
"request_id": "<string>",
"dashboardViewLink": "<string>",
"errors": {},
"entity_matches": {}
}{
"message": "Missing required x-bulk-action-tenant-id header."
}{
"message": "Missing required x-bulk-action-tenant-id header."
}{
"message": "Missing required x-bulk-action-tenant-id header."
}Submit a v2 search
Submits one or more screening entities for synchronous or asynchronous execution. The optional config.submission_source value user_dashboard_risk_assessment is reserved for manual User Dashboard submissions authenticated with x-user-token; API-key and internal-key callers must omit it.
curl --request POST \
--url https://api.gominerva.com/v2/search \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"config": {
"execution_mode": "async",
"submission_source": "user_dashboard_risk_assessment"
},
"entities": [
{
"type": "individual",
"name": "Alice Example",
"feeds": [
"Sanctions",
"PEP"
],
"global_filters": {
"match_scoring_workflow": "risk_assessment"
}
}
]
}
'import requests
url = "https://api.gominerva.com/v2/search"
payload = {
"config": {
"execution_mode": "async",
"submission_source": "user_dashboard_risk_assessment"
},
"entities": [
{
"type": "individual",
"name": "Alice Example",
"feeds": ["Sanctions", "PEP"],
"global_filters": { "match_scoring_workflow": "risk_assessment" }
}
]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
config: {execution_mode: 'async', submission_source: 'user_dashboard_risk_assessment'},
entities: [
{
type: 'individual',
name: 'Alice Example',
feeds: ['Sanctions', 'PEP'],
global_filters: {match_scoring_workflow: 'risk_assessment'}
}
]
})
};
fetch('https://api.gominerva.com/v2/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gominerva.com/v2/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'config' => [
'execution_mode' => 'async',
'submission_source' => 'user_dashboard_risk_assessment'
],
'entities' => [
[
'type' => 'individual',
'name' => 'Alice Example',
'feeds' => [
'Sanctions',
'PEP'
],
'global_filters' => [
'match_scoring_workflow' => 'risk_assessment'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gominerva.com/v2/search"
payload := strings.NewReader("{\n \"config\": {\n \"execution_mode\": \"async\",\n \"submission_source\": \"user_dashboard_risk_assessment\"\n },\n \"entities\": [\n {\n \"type\": \"individual\",\n \"name\": \"Alice Example\",\n \"feeds\": [\n \"Sanctions\",\n \"PEP\"\n ],\n \"global_filters\": {\n \"match_scoring_workflow\": \"risk_assessment\"\n }\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.gominerva.com/v2/search")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"config\": {\n \"execution_mode\": \"async\",\n \"submission_source\": \"user_dashboard_risk_assessment\"\n },\n \"entities\": [\n {\n \"type\": \"individual\",\n \"name\": \"Alice Example\",\n \"feeds\": [\n \"Sanctions\",\n \"PEP\"\n ],\n \"global_filters\": {\n \"match_scoring_workflow\": \"risk_assessment\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gominerva.com/v2/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"config\": {\n \"execution_mode\": \"async\",\n \"submission_source\": \"user_dashboard_risk_assessment\"\n },\n \"entities\": [\n {\n \"type\": \"individual\",\n \"name\": \"Alice Example\",\n \"feeds\": [\n \"Sanctions\",\n \"PEP\"\n ],\n \"global_filters\": {\n \"match_scoring_workflow\": \"risk_assessment\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"job_id": "<string>",
"request_id": "<string>",
"dashboardViewLink": "<string>",
"errors": {},
"entity_matches": {}
}{
"job_id": "<string>",
"request_id": "<string>",
"dashboardViewLink": "<string>",
"errors": {},
"entity_matches": {}
}{
"message": "Missing required x-bulk-action-tenant-id header."
}{
"message": "Missing required x-bulk-action-tenant-id header."
}{
"message": "Missing required x-bulk-action-tenant-id header."
}Authorizations
The Minerva API key used for this integration. Manage API keys in the Minerva dashboard under Administration > Developers.
Headers
Opts this search request out of Automatic Disposition. The header has an effect only when your organization is opted into Automatic Disposition and an administrator has enabled it with the Direct API channel turned on in the workspace of the application whose API key you are using. Otherwise the header is inert and the search behaves as if the feature is off. Send the value skip (matched case-insensitively) to leave every returned match unresolved even when the feature is enabled for the workspace. Other values are ignored.
skip "skip"
Body
Response
No entity was accepted; the response contains per-entity validation errors.
Search job identifier when at least one entity was accepted.
Persisted search-request identifier when at least one entity was accepted.
Show child attributes
Show child attributes
Synchronous match results keyed by entity index when execution_mode is sync.
Show child attributes
Show child attributes