Manage the verification sessions that are used to securely verify the identity of your customers using documents like their driver's license or passport.
Document Verification
Request
Creates a new verification session that will provide a secure context to the verification process. It returns a start token that will be used when initiating the verification process from the client side. This should be called from the backend. See the Quick start guide for details.
The url that the user will be redirected to once the verification process completes. It will contain the session ID used to obtain the verification result
An opaque string that is used to maintain state between the request and the callback, so it should be unique per request. It will be added as a URL parameter (named state) to the callback URL. The URL parameter should be validated by your server to protect against cross-site request forgery (CSRF) attacks
Sets the behavior for the session for testing purposes only. For example, you can simulate a flow that results in a specific recommendation without performing an actual verification.
Automatically start the session upon creation. If you intend to send this session to a frontend component (app, sdk, etc), leave this parameter empty - the session will be started by the frontend. However if you want to operate this session via your backend server, this parameter should be filled in.
Additional customer information for this session. This information should not contain any PII data.
The time after which this session will be deleted (including all images and verification data). Once deleted, it will no longer be visible in the Admin Portal and the verification result won't be available via API. It should be formatted as a duration, e.g "30d", "60d", "90d". Defaults to "90d", which is 90 days.
- Sandbox environmenthttps://api.sbx.transmitsecurity.io/verify/api/v1/verification
- Production environment (US)https://api.transmitsecurity.io/verify/api/v1/verification
- Production environment (EU)https://api.eu.transmitsecurity.io/verify/api/v1/verification
- Production environment (CA)https://api.ca.transmitsecurity.io/verify/api/v1/verification
- Production environment (AU)https://api.au.transmitsecurity.io/verify/api/v1/verification
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X POST \
https://api.sbx.transmitsecurity.io/verify/api/v1/verification \
-H 'Authorization: Bearer <YOUR_jwt_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"callback_url": "string",
"state": "string",
"time_to_live": "90d",
"mock_behavior": null,
"auto_start": true,
"start": {
"consent": {
"granted": true,
"document_id": "string"
}
},
"customer_information": {
"organization_name": "string",
"organization_id": "string",
"external_user_id": "string"
}
}'Session created
A single-use token that is used in the request to initiate the verification process. It will bind the session to the device. In case of an auto-start session, this token won't be returned
ID of the new verification session, which can be used to check the status and the result
{ "start_token": "string", "session_id": "string", "expiration": "string", "missing_images": [ "document_front" ] }
This parameter allows existing customers to select between response objects. You should explicitly send false to return the DeprecatedSessionResult response structure or send true to return the new CompleteSessionResult/IncompleteSessionResult response structure. Please note this parameter will be removed once DeprecatedSessionResult is fully deprecated.
- Sandbox environmenthttps://api.sbx.transmitsecurity.io/verify/api/v1/verification/{sid}/result
- Production environment (US)https://api.transmitsecurity.io/verify/api/v1/verification/{sid}/result
- Production environment (EU)https://api.eu.transmitsecurity.io/verify/api/v1/verification/{sid}/result
- Production environment (CA)https://api.ca.transmitsecurity.io/verify/api/v1/verification/{sid}/result
- Production environment (AU)https://api.au.transmitsecurity.io/verify/api/v1/verification/{sid}/result
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X GET \
'https://api.sbx.transmitsecurity.io/verify/api/v1/verification/{sid}/result?detailed=true' \
-H 'Authorization: Bearer <YOUR_jwt_HERE>'Aggregated result of the verification checks. See recommendations
Information about the person in this session.
The value that identifies this specific person, like an ID number
The person's date of birth, as an ISO-8601 string
Information about the document in this session.
The country that issued this document, as an ISO 3166 alpha-2 code
Sub-division of the document's issuer within the country. For example, this field will contain the issuing state for a US drivers license but will be empty for a US passport. Given as a as an ISO 3166 alpha-2 code
The type of this document
This value identifies the document and the person attached to it.
This value identifies the document itself and not the person attached to it. This property isn't present on all document types, but when it is, the value will change when a document is renewed or reissued. This value is only meaningful in the context of the specific document's country and type
The date the document was issued, as an ISO-8601 string
The verification checks performed in this session.
Checks that the data extracted from the document is valid and matches the document template.
Checks that the document is authentic and that there are no signs of tampering.
Checks that the document is a real live document (e.g., not a screen capture).
Checks that the selfie is a biometric match to the picture extracted from the document.
Checks that the selfie is a real live person (e.g., not a screen capture).
Checks the session against previous sessions identifying suspicious fraudulent behavior (e.g., previous face fraud).
Assesses the risk throughout the verification process using a built-in integration with our Fraud Prevention services. This is used to detect risk signals, such as bots, spoofed devices, behavioral anomalies, malicious networks, and more.
{ "session_id": "string", "status": "complete", "recommendation": "DENY", "person": { "full_name": "Marie Salomea Skłodowska-Curies", "given_name": "Marie", "surname": "Curies", "gender": "female", "national_id": "123ABC", "date_of_birth": "1867-11-07T00:00:00.000Z", "age": 35 }, "document": { "country": "US", "region": "NY", "type": "national_id", "number": "1234567", "serial_number": "1234567", "issue_date": "1867-11-07T00:00:00.000Z", "expiration_date": "1867-11-07T00:00:00.000Z" }, "additional_info": { "address": { … }, "national_status": { … }, "employment": { … } }, "checks": { "document_validation": { … }, "document_authentication": { … }, "document_liveness": { … }, "biometric_matching": { … }, "biometric_liveness": { … }, "flagged_identity": { … }, "risk_recommendation": { … } }, "verification_images": [ { … } ] }
- Sandbox environmenthttps://api.sbx.transmitsecurity.io/verify/api/v1/verification/{sid}
- Production environment (US)https://api.transmitsecurity.io/verify/api/v1/verification/{sid}
- Production environment (EU)https://api.eu.transmitsecurity.io/verify/api/v1/verification/{sid}
- Production environment (CA)https://api.ca.transmitsecurity.io/verify/api/v1/verification/{sid}
- Production environment (AU)https://api.au.transmitsecurity.io/verify/api/v1/verification/{sid}
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X DELETE \
'https://api.sbx.transmitsecurity.io/verify/api/v1/verification/{sid}' \
-H 'Authorization: Bearer <YOUR_jwt_HERE>'- Sandbox environmenthttps://api.sbx.transmitsecurity.io/verify/api/v1/verification/{sid}/images
- Production environment (US)https://api.transmitsecurity.io/verify/api/v1/verification/{sid}/images
- Production environment (EU)https://api.eu.transmitsecurity.io/verify/api/v1/verification/{sid}/images
- Production environment (CA)https://api.ca.transmitsecurity.io/verify/api/v1/verification/{sid}/images
- Production environment (AU)https://api.au.transmitsecurity.io/verify/api/v1/verification/{sid}/images
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X GET \
'https://api.sbx.transmitsecurity.io/verify/api/v1/verification/{sid}/images' \
-H 'Authorization: Bearer <YOUR_jwt_HERE>'List of all images (metadata)
The type of content in the image
true if the image was rejected for processing - i.e it's too blurry, the document is obstructed, etc
True if this is the original image uploaded by the user, false if it was refined by our system
{ "session_images": [ { … } ] }
- Sandbox environmenthttps://api.sbx.transmitsecurity.io/verify/api/v1/verification/{sid}/images/{id}
- Production environment (US)https://api.transmitsecurity.io/verify/api/v1/verification/{sid}/images/{id}
- Production environment (EU)https://api.eu.transmitsecurity.io/verify/api/v1/verification/{sid}/images/{id}
- Production environment (CA)https://api.ca.transmitsecurity.io/verify/api/v1/verification/{sid}/images/{id}
- Production environment (AU)https://api.au.transmitsecurity.io/verify/api/v1/verification/{sid}/images/{id}
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X GET \
'https://api.sbx.transmitsecurity.io/verify/api/v1/verification/{sid}/images/{id}?format=string' \
-H 'Authorization: Bearer <YOUR_jwt_HERE>'- Sandbox environmenthttps://api.sbx.transmitsecurity.io/verify/api/v1/verification/{sid}/consent
- Production environment (US)https://api.transmitsecurity.io/verify/api/v1/verification/{sid}/consent
- Production environment (EU)https://api.eu.transmitsecurity.io/verify/api/v1/verification/{sid}/consent
- Production environment (CA)https://api.ca.transmitsecurity.io/verify/api/v1/verification/{sid}/consent
- Production environment (AU)https://api.au.transmitsecurity.io/verify/api/v1/verification/{sid}/consent
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X GET \
'https://api.sbx.transmitsecurity.io/verify/api/v1/verification/{sid}/consent' \
-H 'Authorization: Bearer <YOUR_jwt_HERE>'{ "consent_granted": true, "consent_date": "string" }