curl --request POST \
--url https://api.artemis.cynopsis.co/api/quickscan/screen \
--header 'Authorization: Bearer <token>' \
--header 'X-Domain-ID: <x-domain-id>'{
"additionalInformation": {
"djMonitoringCaseId": "<string>",
"djMonitoringTxId": "<string>",
"faceCompareDocumentId": "<string>",
"faceCompareSelfieId": "<string>",
"ocrDocumentId": "<string>"
},
"createdAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
},
"facInformation": {
"faceCompareDocumentId": 123,
"faceCompareSelfieId": 123
},
"finalStatus": "DONE",
"hasHit": true,
"id": 123,
"isPeriodic": true,
"ocrInformation": {
"ocrDocumentId": 123
},
"oddStatus": "CLOSED",
"profileId": 123,
"quickscanName": "<string>",
"quickscanType": "CORPORATE",
"remarks": [
"<string>"
],
"screenedWith": [
"ARTEMISCAN"
],
"screeningConclusion": [
"ADVERSE_MEDIA"
],
"status": {
"createdAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
},
"id": 123,
"profileId": 123,
"screeningId": 123,
"status": {},
"updatedAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"updatedBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
}
},
"updatedAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"updatedBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
},
"valid": true
}curl --request POST \
--url https://api.artemis.cynopsis.co/api/quickscan/screen \
--header 'Authorization: Bearer <token>' \
--header 'X-Domain-ID: <x-domain-id>'{
"additionalInformation": {
"djMonitoringCaseId": "<string>",
"djMonitoringTxId": "<string>",
"faceCompareDocumentId": "<string>",
"faceCompareSelfieId": "<string>",
"ocrDocumentId": "<string>"
},
"createdAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
},
"facInformation": {
"faceCompareDocumentId": 123,
"faceCompareSelfieId": 123
},
"finalStatus": "DONE",
"hasHit": true,
"id": 123,
"isPeriodic": true,
"ocrInformation": {
"ocrDocumentId": 123
},
"oddStatus": "CLOSED",
"profileId": 123,
"quickscanName": "<string>",
"quickscanType": "CORPORATE",
"remarks": [
"<string>"
],
"screenedWith": [
"ARTEMISCAN"
],
"screeningConclusion": [
"ADVERSE_MEDIA"
],
"status": {
"createdAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"createdBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
},
"id": 123,
"profileId": 123,
"screeningId": 123,
"status": {},
"updatedAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"updatedBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
}
},
"updatedAt": {
"date": 123,
"day": 123,
"hours": 123,
"minutes": 123,
"month": 123,
"nanos": 123,
"seconds": 123,
"time": 123,
"timezoneOffset": 123,
"year": 123
},
"updatedBy": {
"email": "<string>",
"firstName": "<string>",
"fullName": "<string>",
"id": 123,
"lastName": "<string>"
},
"valid": true
}screeningId that you can use to poll for results.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The name of the individual or corporate entity to screen. |
customerType | string | Yes | Type of customer. Possible values: INDIVIDUAL, CORPORATE. |
chosenEngines | string[] | Yes | One or more screening engines to include (repeat the parameter to add more). |
| Value | Description |
|---|---|
ARTEMISCAN | Cynopsis proprietary screening engine |
DJ | Dow Jones |
TR | World-Check (Refinitiv / LSEG) |
INTERNET_SEARCH | Internet-based adverse media search |
OWN_RESTRICTED_LIST | Your organisation’s custom restricted list |
| Header | Type | Required | Description |
|---|---|---|---|
Authorization | string | Yes | Bearer token obtained from the authentication endpoint. |
X-Domain-ID | integer | Yes | The domain identifier for your organisation. |
curl -X POST "{{backend_url}}/api/quickscan/screen?name=John%20Doe&customerType=INDIVIDUAL&chosenEngines=ARTEMISCAN" \
-H "Authorization: Bearer <token>" \
-H "X-Domain-ID: {{domain_id}}"
curl -X POST "{{backend_url}}/api/quickscan/screen?name=Acme%20Corp&customerType=CORPORATE&chosenEngines=ARTEMISCAN&chosenEngines=DJ&chosenEngines=INTERNET_SEARCH" \
-H "Authorization: Bearer <token>" \
-H "X-Domain-ID: {{domain_id}}"
ScreeningResponseDto with an HTTP 200 status code.
| Field | Type | Description |
|---|---|---|
id | integer | The unique screening ID. Use this as screeningId in subsequent API calls. |
quickscanName | string | The name that was screened. |
quickscanType | string | INDIVIDUAL or CORPORATE. |
finalStatus | string | Current status: PENDING, DONE, FAILED, or NEVER. |
screenedWith | string[] | List of engines used in this screening. |
screeningConclusion | string[] | Conclusions after screening completes — e.g., PEP, SANCTION, ADVERSE_MEDIA, OWN_RESTRICTED_LIST, NO_HIT. |
hasHit | boolean | Whether any potential hits were found. |
potentialHits | object | Map of engine name to hit count — e.g., { "ARTEMISCAN": 3, "DJ": 1 }. |
status | object | Detailed per-engine status — see below. |
createdAt | string | Timestamp when the screening was created. |
status field contains a map of each screening engine to its individual status:
{
"status": {
"ARTEMISCAN": "DONE",
"DJ": "PENDING",
"INTERNET_SEARCH": "DONE"
}
}
PENDING, DONE, FAILED.
{
"id": 12345,
"quickscanName": "John Doe",
"quickscanType": "INDIVIDUAL",
"finalStatus": "PENDING",
"hasHit": false,
"screenedWith": ["ARTEMISCAN", "DJ"],
"screeningConclusion": [],
"potentialHits": {},
"status": {
"id": 67890,
"screeningId": 12345,
"status": {
"ARTEMISCAN": "PENDING",
"DJ": "PENDING"
}
},
"valid": true,
"oddStatus": "OPEN",
"remarks": [],
"createdAt": "2025-01-15T10:30:00.000+00:00",
"updatedAt": "2025-01-15T10:30:00.000+00:00"
}
GET /api/quickscan/screen/{screeningId} using the returned id until finalStatus becomes DONE.GET /api/quickscan/screen/{screeningId}/hit?screeningType=ARTEMISCAN to get potential matches for each engine.chosenEngines query parameter.finalStatus: "PENDING".The access token received from the authorization server in the OAuth 2.0 flow.
X-Domain-ID
One or more screening engines (repeat param to add more).
ARTEMISCAN, DJ, FACE_COMPARE, INTERNET_SEARCH, OCR, OWN_RESTRICTED_LIST, TR customerType
CORPORATE, INDIVIDUAL name
OK
Show child attributes
Show child attributes
Show child attributes
Show child attributes
DONE, FAILED, NEVER, PENDING Show child attributes
CLOSED, OPEN CORPORATE, INDIVIDUAL ARTEMISCAN, DJ, FACE_COMPARE, INTERNET_SEARCH, OCR, OWN_RESTRICTED_LIST, TR ADVERSE_MEDIA, NO_HIT, OWN_RESTRICTED_LIST, PEP, SANCTION Show child attributes
Show child attributes
Show child attributes