Skip to main content
POST
Document verification
The response includes the overall recommendation, individual authenticity checks, process indicators, extracted document fields, images, and the configuration applied to the request.

Verification configuration

screenMatchLevel

Determines how strictly the service checks for screen replay attacks. Higher levels detect digital displays more aggressively but may reject valid physical documents. Select Level1 through Level10. Level1 is the least strict and Level10 is the most strict. Defaults to Level5 if omitted.

photocopyMatchLevel

Controls how strictly the service checks for photocopied documents. Higher levels detect photocopies more aggressively but may reject more genuine physical documents. Select Level1 through Level10. Level1 is the least strict and Level10 is the most strict. Defaults to Level5 if omitted.

photoForgeryMatchLevel

Controls how strictly the service checks for photo forgery, including photo replacement, face swapping, and digital editing. Higher levels apply stricter checks but may reject more genuine documents. Select Level1 through Level10. Level1 is the least strict and Level10 is the most strict. Defaults to Level5 if omitted.

staticSecurityFeaturesMatchLevel

Controls how strictly the service verifies visible security features such as background patterns, microprinting, fine-line artwork, and document-design consistency. Higher levels provide stricter fraud detection but may increase false rejections. Select Level1 through Level10. Level1 is the least strict and Level10 is the most strict. Defaults to Level5 if omitted. Set this field to Disabled to skip the check.

documentTypeFilter

Restricts verification to the specified issuing country and document types. Set country to an ISO 3166-1 alpha-3 country code and list one or more supported values in cardType. The following filter accepts only Malaysian driver’s licences:

Supported document type filters

Use PHL as the country value.
The detected document must match both country and one of the values in cardType. Check data.response.documentTypeFilter.documentTypeMatchesFilter in the response to confirm the match.

Example configuration

This configuration verifies Malaysian driver’s licences, applies level 5 screen and photocopy detection, level 3 photo-forgery detection, and skips static-security-feature validation.

Interpret the response

success: true means the API processed the request. Use verificationStatus, data.response.verification.recommendedOutcome, and data.response.verification.result to determine the verification outcome. NotPerformed means that a check was disabled, unsupported, or not applicable to the submitted document. It does not by itself mean the document failed verification.

Authorizations

Authorization
string
header
required

Use your API token as a Bearer token in the Authorization header.

Headers

Authorization
string
required
Example:

"Bearer {your_api_token}"

Accept
string
default:application/json
Content-Type
string
default:application/json

Body

application/json
imageFrontSide
string
required

Front document image as a JPEG or PNG data URL containing base64-encoded image data.

Example:

"data:image/jpeg;base64,/9j/4AAQSkZJRg..."

imageBackSide
string | null

Back document image as a JPEG or PNG data URL. Include this field for a two-sided document.

Example:

"data:image/jpeg;base64,/9j/4AAQSkZJRg..."

metadata
object | null

Your reference data. The API returns this object unchanged in the response.

Example:
screenMatchLevel
enum<string>
default:Level5

Controls how strictly the service checks for screen replay attacks. Level1 is the least strict and Level10 is the most strict. Higher levels may reject more valid physical documents. Defaults to Level5 if omitted.

Available options:
Level1,
Level2,
Level3,
Level4,
Level5,
Level6,
Level7,
Level8,
Level9,
Level10
Example:

"Level5"

photocopyMatchLevel
enum<string>
default:Level5

Controls how strictly the service checks for photocopied documents. Level1 is the least strict and Level10 is the most strict. Higher levels may reject more genuine physical documents. Defaults to Level5 if omitted.

Available options:
Level1,
Level2,
Level3,
Level4,
Level5,
Level6,
Level7,
Level8,
Level9,
Level10
Example:

"Level5"

photoForgeryMatchLevel
enum<string>
default:Level5

Controls how strictly the service checks for photo forgery. Level1 is the least strict and Level10 is the most strict. Higher levels may reject more genuine documents. Defaults to Level5 if omitted.

Available options:
Level1,
Level2,
Level3,
Level4,
Level5,
Level6,
Level7,
Level8,
Level9,
Level10
Example:

"Level3"

staticSecurityFeaturesMatchLevel
enum<string>
default:Level5

Controls how strictly the service verifies visible security features. Level1 is the least strict and Level10 is the most strict. Higher levels may increase false rejections. Defaults to Level5 if omitted. Use Disabled to skip this check.

Available options:
Disabled,
Level1,
Level2,
Level3,
Level4,
Level5,
Level6,
Level7,
Level8,
Level9,
Level10
Example:

"Disabled"

documentTypeFilter
object

Response

Document verification completed. Use verificationStatus and the nested verification result to determine the business outcome.

success
boolean
required

Whether the request was processed successfully.

message
string
required
data
object
required
verificationStatus
string
required

Business outcome for the verification request.

Example:

"VERIFIED"

verificationStatusCode
integer
required

Numeric code for verificationStatus.

Example:

3

transactionId
string<uuid>
required
verificationType
string
required
Example:

"document_verification"

createdAt
string
required

UTC timestamp when the verification record was created.

metadata
object | null

Metadata supplied in the request.