Case Management
Get Case AI Summary
Generates (or updates and returns) an AI-produced investigation summary/report for a case, including executive summary, entity profile, transaction analysis and recommended action.
PUT
/
v2
/
api
/
cases
/
{caseId}
/
summary
Get Case AI Summary
curl --request PUT \
--url https://api.youverify.co/v2/api/cases/{caseId}/summary \
--header 'Content-Type: application/json' \
--header 'token: <api-key>' \
--data '
{
"task": "Gather evidences, and add them to the case.",
"isCompleted": true
}
'import requests
url = "https://api.youverify.co/v2/api/cases/{caseId}/summary"
payload = {
"task": "Gather evidences, and add them to the case.",
"isCompleted": True
}
headers = {
"token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {token: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({task: 'Gather evidences, and add them to the case.', isCompleted: true})
};
fetch('https://api.youverify.co/v2/api/cases/{caseId}/summary', 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.youverify.co/v2/api/cases/{caseId}/summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'task' => 'Gather evidences, and add them to the case.',
'isCompleted' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"token: <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.youverify.co/v2/api/cases/{caseId}/summary"
payload := strings.NewReader("{\n \"task\": \"Gather evidences, and add them to the case.\",\n \"isCompleted\": true\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("token", "<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.put("https://api.youverify.co/v2/api/cases/{caseId}/summary")
.header("token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"task\": \"Gather evidences, and add them to the case.\",\n \"isCompleted\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.youverify.co/v2/api/cases/{caseId}/summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"task\": \"Gather evidences, and add them to the case.\",\n \"isCompleted\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"statusCode": 200,
"message": "Case summary retrieved successfully!",
"data": {
"report": {
"executive_summary": "The case involves a significant KYC data mismatch between the client's NIN and BVN, indicating potential identity issues. The severity is classified as high due to the discrepancies in identification data. It is recommended to file a SAR to address the potential risks associated with this entity.",
"entity_profile": {
"name": "",
"registration_location": "",
"industry": "",
"account_opening_date": "",
"expected_annual_volume": "",
"risk_indicators": [
{
"label": "KYC Data Mismatch",
"level": "high"
}
],
"key_findings": [
"Complete mismatch between NIN and BVN data."
]
},
"transaction_analysis": {
"total_volume_usd": 0,
"transaction_count": 0,
"average_transaction_size_usd": 0,
"investigation_period_days": 0,
"baseline_comparison_pct": 0,
"pattern_indicators": [],
"suspicious_activity_indicators": []
},
"suspicious_activity_determination": "The identified KYC data mismatch raises concerns about the legitimacy of the client's identity, which is consistent with known money laundering typologies that involve identity fraud.",
"recommended_action": "SAR Filing"
}
},
"links": []
}{
"success": false,
"statusCode": 401,
"message": "Permission denied",
"name": "UnauthorizedError",
"data": {}
}{
"success": false,
"statusCode": 402,
"message": "Insufficient fund",
"name": "PaymentRequiredError",
"data": {}
}{
"success": false,
"statusCode": 404,
"message": "You have attempted to get a resource that does not exist.",
"name": "ResourceNotFoundError",
"data": {}
}{
"success": false,
"statusCode": 429,
"message": "Too many requests",
"name": "RateLimitError",
"data": {}
}{
"success": false,
"statusCode": 500,
"message": "Internal Server Error",
"name": "Error",
"data": {}
}Authorizations
Your Youverify API secret key. Never expose client-side.
Headers
API secret token
Path Parameters
Unique Id of the case
Body
application/json
Response
Success
⌘I
Get Case AI Summary
curl --request PUT \
--url https://api.youverify.co/v2/api/cases/{caseId}/summary \
--header 'Content-Type: application/json' \
--header 'token: <api-key>' \
--data '
{
"task": "Gather evidences, and add them to the case.",
"isCompleted": true
}
'import requests
url = "https://api.youverify.co/v2/api/cases/{caseId}/summary"
payload = {
"task": "Gather evidences, and add them to the case.",
"isCompleted": True
}
headers = {
"token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {token: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({task: 'Gather evidences, and add them to the case.', isCompleted: true})
};
fetch('https://api.youverify.co/v2/api/cases/{caseId}/summary', 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.youverify.co/v2/api/cases/{caseId}/summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'task' => 'Gather evidences, and add them to the case.',
'isCompleted' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"token: <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.youverify.co/v2/api/cases/{caseId}/summary"
payload := strings.NewReader("{\n \"task\": \"Gather evidences, and add them to the case.\",\n \"isCompleted\": true\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("token", "<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.put("https://api.youverify.co/v2/api/cases/{caseId}/summary")
.header("token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"task\": \"Gather evidences, and add them to the case.\",\n \"isCompleted\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.youverify.co/v2/api/cases/{caseId}/summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"task\": \"Gather evidences, and add them to the case.\",\n \"isCompleted\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"statusCode": 200,
"message": "Case summary retrieved successfully!",
"data": {
"report": {
"executive_summary": "The case involves a significant KYC data mismatch between the client's NIN and BVN, indicating potential identity issues. The severity is classified as high due to the discrepancies in identification data. It is recommended to file a SAR to address the potential risks associated with this entity.",
"entity_profile": {
"name": "",
"registration_location": "",
"industry": "",
"account_opening_date": "",
"expected_annual_volume": "",
"risk_indicators": [
{
"label": "KYC Data Mismatch",
"level": "high"
}
],
"key_findings": [
"Complete mismatch between NIN and BVN data."
]
},
"transaction_analysis": {
"total_volume_usd": 0,
"transaction_count": 0,
"average_transaction_size_usd": 0,
"investigation_period_days": 0,
"baseline_comparison_pct": 0,
"pattern_indicators": [],
"suspicious_activity_indicators": []
},
"suspicious_activity_determination": "The identified KYC data mismatch raises concerns about the legitimacy of the client's identity, which is consistent with known money laundering typologies that involve identity fraud.",
"recommended_action": "SAR Filing"
}
},
"links": []
}{
"success": false,
"statusCode": 401,
"message": "Permission denied",
"name": "UnauthorizedError",
"data": {}
}{
"success": false,
"statusCode": 402,
"message": "Insufficient fund",
"name": "PaymentRequiredError",
"data": {}
}{
"success": false,
"statusCode": 404,
"message": "You have attempted to get a resource that does not exist.",
"name": "ResourceNotFoundError",
"data": {}
}{
"success": false,
"statusCode": 429,
"message": "Too many requests",
"name": "RateLimitError",
"data": {}
}{
"success": false,
"statusCode": 500,
"message": "Internal Server Error",
"name": "Error",
"data": {}
}