Skip to main content
POST
/
api
/
quickscan
/
screen
triggerQuickScan
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
}
This endpoint triggers a Quick Scan screening for an individual or a corporate entity. The scan runs asynchronously — the response returns immediately with a screeningId that you can use to poll for results.

Query Parameters

ParameterTypeRequiredDescription
namestringYesThe name of the individual or corporate entity to screen.
customerTypestringYesType of customer. Possible values: INDIVIDUAL, CORPORATE.
chosenEnginesstring[]YesOne or more screening engines to include (repeat the parameter to add more).

Available Screening Engines

ValueDescription
ARTEMISCANCynopsis proprietary screening engine
DJDow Jones
TRWorld-Check (Refinitiv / LSEG)
INTERNET_SEARCHInternet-based adverse media search
OWN_RESTRICTED_LISTYour organisation’s custom restricted list

Headers

HeaderTypeRequiredDescription
AuthorizationstringYesBearer token obtained from the authentication endpoint.
X-Domain-IDintegerYesThe domain identifier for your organisation.

Example Requests

Screen an Individual with ArtemiScan

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}}"

Screen a Corporate Entity with Multiple Engines

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}}"

Response

A successful response returns a ScreeningResponseDto with an HTTP 200 status code.

Key Response Fields

FieldTypeDescription
idintegerThe unique screening ID. Use this as screeningId in subsequent API calls.
quickscanNamestringThe name that was screened.
quickscanTypestringINDIVIDUAL or CORPORATE.
finalStatusstringCurrent status: PENDING, DONE, FAILED, or NEVER.
screenedWithstring[]List of engines used in this screening.
screeningConclusionstring[]Conclusions after screening completes — e.g., PEP, SANCTION, ADVERSE_MEDIA, OWN_RESTRICTED_LIST, NO_HIT.
hasHitbooleanWhether any potential hits were found.
potentialHitsobjectMap of engine name to hit count — e.g., { "ARTEMISCAN": 3, "DJ": 1 }.
statusobjectDetailed per-engine status — see below.
createdAtstringTimestamp when the screening was created.

Status Object

The status field contains a map of each screening engine to its individual status:
{
  "status": {
    "ARTEMISCAN": "DONE",
    "DJ": "PENDING",
    "INTERNET_SEARCH": "DONE"
  }
}
Possible values per engine: PENDING, DONE, FAILED.

Example Response

{
  "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"
}

What to Do Next

  1. Poll for completion — Call GET /api/quickscan/screen/{screeningId} using the returned id until finalStatus becomes DONE.
  2. Retrieve hits — Call GET /api/quickscan/screen/{screeningId}/hit?screeningType=ARTEMISCAN to get potential matches for each engine.

Notes

  • This is an ad-hoc scan and does not require a customer record to be created.
  • Multiple screening engines can be combined by repeating the chosenEngines query parameter.
  • The screening runs asynchronously. The initial response will have finalStatus: "PENDING".
  • Use Get Quick Scan List to retrieve historical Quick Scans and review past results.

Important Notice

The Try-it SEND button in the documentation UI may not serialize query parameters correctly for this endpoint. Always copy the generated cURL command and run it in your terminal or API client (e.g., Postman, Insomnia).

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

X-Domain-ID
integer<int64>
required

X-Domain-ID

Query Parameters

chosenEngines
enum<string>[]
required

One or more screening engines (repeat param to add more).

Available options:
ARTEMISCAN,
DJ,
FACE_COMPARE,
INTERNET_SEARCH,
OCR,
OWN_RESTRICTED_LIST,
TR
customerType
enum<string>
required

customerType

Available options:
CORPORATE,
INDIVIDUAL
name
string
required

name

Response

OK

additionalInformation
ScreeningAdditionalInformation · object
createdAt
Timestamp · object
createdBy
UserInfo · object
facInformation
ScreeningFACInformation · object
finalStatus
enum<string>
Available options:
DONE,
FAILED,
NEVER,
PENDING
hasHit
boolean
id
integer<int64>
isPeriodic
boolean
ocrInformation
ScreeningOCRInformation · object
oddStatus
enum<string>
Available options:
CLOSED,
OPEN
profileId
integer<int64>
quickscanName
string
quickscanType
enum<string>
Available options:
CORPORATE,
INDIVIDUAL
remarks
string[]
screenedWith
enum<string>[]
Available options:
ARTEMISCAN,
DJ,
FACE_COMPARE,
INTERNET_SEARCH,
OCR,
OWN_RESTRICTED_LIST,
TR
screeningConclusion
enum<string>[]
Available options:
ADVERSE_MEDIA,
NO_HIT,
OWN_RESTRICTED_LIST,
PEP,
SANCTION
status
ScreeningStatusResponseDto · object
updatedAt
Timestamp · object
updatedBy
UserInfo · object
valid
boolean