curl -X POST 'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/cases/c1a5e000-0000-4000-8000-000000000001/resolve/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"resolution": "FALSE_POSITIVE", "note": "Confirmed legitimate activity after reviewing documents."}'import os
import requests
resp = requests.post(
'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/cases/c1a5e000-0000-4000-8000-000000000001/resolve/',
headers={'x-api-key': os.environ['DIDIT_API_KEY']},
json={'resolution': 'FALSE_POSITIVE', 'note': 'Confirmed legitimate activity.'},
timeout=10,
)
resp.raise_for_status()
case = resp.json()
print(case['status'], case['resolution'], case.get('pending_resolution'))const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({note: '<string>'})
};
fetch('https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/', 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://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/",
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([
'note' => '<string>'
]),
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://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/"
payload := strings.NewReader("{\n \"note\": \"<string>\"\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://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"note\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/")
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 \"note\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"case_number": "<string>",
"title": "<string>",
"resolution_notes": "<string>",
"tags": [
"<string>"
],
"subject": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"external_id": "<string>"
},
"assigned_to": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"full_name": "<string>",
"email": "jsmith@example.com"
},
"assigned_at": "2023-11-07T05:31:56Z",
"due_at": "2023-11-07T05:31:56Z",
"resolved_at": "2023-11-07T05:31:56Z",
"resolved_by_email": "<string>",
"pending_resolution": {
"resolution_notes": "<string>",
"maker_email": "jsmith@example.com",
"maker_name": "<string>",
"maker_blueprint_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"staged_at": "2023-11-07T05:31:56Z"
},
"metadata": {},
"blueprint": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"description": "<string>",
"assignee_pool": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"max_active_cases": 123,
"escalation_enabled": true,
"transfer_enabled": true,
"require_resolution_note": true,
"is_active": true,
"preset_key": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"escalation_blueprint": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"escalation_blueprint_name": "<string>",
"four_eyes_checker_blueprint": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"four_eyes_checker_blueprint_name": "<string>",
"content_config": {
"checklist": {
"enabled": true,
"optional": true,
"items": [
{
"label": "<string>",
"order": 123
}
]
},
"aml_control": {
"enabled": true,
"financial": true,
"identity": true
},
"identity": {
"enabled": true,
"personal_information": true,
"applicant_tags": true,
"contact_information": true,
"risk_overview": true,
"poi_documents": true,
"poa_documents": true
},
"verifications": {
"enabled": true,
"summary": true
},
"reporting": {
"enabled": true,
"fiu_reports": true
},
"financial": {
"enabled": true,
"payment_methods": true,
"transactions": true
}
},
"creation_sources": [
{
"id": "<string>",
"name": "<string>"
}
],
"receives_escalation_from": [
{
"id": "<string>",
"name": "<string>"
}
],
"updated_at": "2023-11-07T05:31:56Z"
},
"notes": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"comment": "<string>",
"actor_email": "jsmith@example.com",
"actor_name": "<string>",
"mentioned_emails": [
"jsmith@example.com"
],
"is_internal": true,
"attachments": [
{
"s3_key": "<string>",
"filename": "<string>",
"file_size": 123,
"url": "<string>"
}
],
"tags": [
"<string>"
],
"created_at": "2023-11-07T05:31:56Z"
}
],
"events": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"actor_email": "jsmith@example.com",
"actor_name": "<string>",
"metadata": {},
"created_at": "2023-11-07T05:31:56Z"
}
],
"links": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"linked_entity_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"linked_entity_summary": {},
"created_at": "2023-11-07T05:31:56Z"
}
],
"links_count": 123,
"notes_count": 123,
"checklist_items": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"label": "<string>",
"is_completed": true,
"completed_by": "jsmith@example.com",
"completed_at": "2023-11-07T05:31:56Z",
"order": 123
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"detail": "<string>"
}Resolve Case
Resolve the case as false_positive or valid_threat. Blocked with 400 if the blueprint’s checklist is not optional and items remain incomplete, or if the blueprint requires a resolution note and none is given. When the case’s blueprint has a four_eyes_checker_blueprint configured, the resolution is staged (case.pending_resolution) and the case moves to the checker blueprint instead of resolving immediately; a different user must call approve or reject-approval.
curl -X POST 'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/cases/c1a5e000-0000-4000-8000-000000000001/resolve/' \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"resolution": "FALSE_POSITIVE", "note": "Confirmed legitimate activity after reviewing documents."}'import os
import requests
resp = requests.post(
'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/cases/c1a5e000-0000-4000-8000-000000000001/resolve/',
headers={'x-api-key': os.environ['DIDIT_API_KEY']},
json={'resolution': 'FALSE_POSITIVE', 'note': 'Confirmed legitimate activity.'},
timeout=10,
)
resp.raise_for_status()
case = resp.json()
print(case['status'], case['resolution'], case.get('pending_resolution'))const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({note: '<string>'})
};
fetch('https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/', 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://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/",
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([
'note' => '<string>'
]),
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://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/"
payload := strings.NewReader("{\n \"note\": \"<string>\"\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://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"note\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/resolve/")
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 \"note\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"case_number": "<string>",
"title": "<string>",
"resolution_notes": "<string>",
"tags": [
"<string>"
],
"subject": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"external_id": "<string>"
},
"assigned_to": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"full_name": "<string>",
"email": "jsmith@example.com"
},
"assigned_at": "2023-11-07T05:31:56Z",
"due_at": "2023-11-07T05:31:56Z",
"resolved_at": "2023-11-07T05:31:56Z",
"resolved_by_email": "<string>",
"pending_resolution": {
"resolution_notes": "<string>",
"maker_email": "jsmith@example.com",
"maker_name": "<string>",
"maker_blueprint_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"staged_at": "2023-11-07T05:31:56Z"
},
"metadata": {},
"blueprint": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"description": "<string>",
"assignee_pool": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"max_active_cases": 123,
"escalation_enabled": true,
"transfer_enabled": true,
"require_resolution_note": true,
"is_active": true,
"preset_key": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"escalation_blueprint": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"escalation_blueprint_name": "<string>",
"four_eyes_checker_blueprint": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"four_eyes_checker_blueprint_name": "<string>",
"content_config": {
"checklist": {
"enabled": true,
"optional": true,
"items": [
{
"label": "<string>",
"order": 123
}
]
},
"aml_control": {
"enabled": true,
"financial": true,
"identity": true
},
"identity": {
"enabled": true,
"personal_information": true,
"applicant_tags": true,
"contact_information": true,
"risk_overview": true,
"poi_documents": true,
"poa_documents": true
},
"verifications": {
"enabled": true,
"summary": true
},
"reporting": {
"enabled": true,
"fiu_reports": true
},
"financial": {
"enabled": true,
"payment_methods": true,
"transactions": true
}
},
"creation_sources": [
{
"id": "<string>",
"name": "<string>"
}
],
"receives_escalation_from": [
{
"id": "<string>",
"name": "<string>"
}
],
"updated_at": "2023-11-07T05:31:56Z"
},
"notes": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"comment": "<string>",
"actor_email": "jsmith@example.com",
"actor_name": "<string>",
"mentioned_emails": [
"jsmith@example.com"
],
"is_internal": true,
"attachments": [
{
"s3_key": "<string>",
"filename": "<string>",
"file_size": 123,
"url": "<string>"
}
],
"tags": [
"<string>"
],
"created_at": "2023-11-07T05:31:56Z"
}
],
"events": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"actor_email": "jsmith@example.com",
"actor_name": "<string>",
"metadata": {},
"created_at": "2023-11-07T05:31:56Z"
}
],
"links": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"linked_entity_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"linked_entity_summary": {},
"created_at": "2023-11-07T05:31:56Z"
}
],
"links_count": 123,
"notes_count": 123,
"checklist_items": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"label": "<string>",
"is_completed": true,
"completed_by": "jsmith@example.com",
"completed_at": "2023-11-07T05:31:56Z",
"order": 123
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"detail": "<string>"
}pending_resolution field to tell the two outcomes apart.
Related
Authorizations
Path Parameters
Organization UUID.
Application UUID.
Case UUID.
"c1a5e000-0000-4000-8000-000000000001"
Body
Response
Resolved, or staged for 4-eyes approval.
OPEN, AWAITING_USER, RESOLVED FALSE_POSITIVE, VALID_THREAT LOW, MEDIUM, HIGH MANUAL, AML_SCREENING, TRANSACTION_RULE, WORKFLOW_BUILDER The single user or business the case is anchored to.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Set only while a 4-eyes resolution is staged on the checker blueprint, awaiting approve or reject-approval.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Newest 50 notes.
Show child attributes
Show child attributes
Newest 100 events.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes