DIVE Online API - Upload Documents
The Upload Documents endpoint allows the DIVE Online developer to store but not validate an applicant's documents in DIVE Online. This can be useful in scenarios where the developer wants to store documents for future validation or for having a more secure storage solution.
For users migrating from the DIVE API to DIVE Online, this endpoint is the equivalent of a v3/v4 Request Endpoint.
A common use case of this endpoint being used is when a DIVE Online developer wants to externally store the Validation call that hosts the API token on a separate server than the main application to avoid the issue of their tokens being exposed.
The requestId returned in the response body can then be used to later trigger a validation request using the Validation endpoint.
(Specifically, the api/v2/public/Validation/{applicantId} endpoint).
/api/v2/public/UploadDocuments
[GET] api/v2/public/UploadDocuments
Use Case - Creates a new applicant in DIVE Online without performing any verification.
Token - public API token (pk_) or secret API Token (sk)
Required Parameters None Optional Parameters None
Request Body
{
"documentType": 1,
"captureMethod": "string",
"userAgent": "string",
"frontEndMetadata": "string",
"clientType": 0,
"clientVersion": "string",
"geolocation": {
"latitude": 0,
"longitude": 0,
"accuracy": 0
},
"stepsTiming": {
"face": 0,
"front": 0,
"back": 0,
"mrz": 0,
"pdf417": 0
},
"browserMetadata": {
"navigatorInfo": {
"userAgent": "string",
"cookieEnabled": true,
"platform": "string",
"hardwareConcurrency": 0,
"languages": [
"string"
]
},
"screenInfo": {
"width": 0,
"height": 0,
"availWidth": 0,
"availHeight": 0,
"colorDepth": 0,
"pixelDepth": 0,
"orientationAngle": 0,
"orientationType": "string",
"innerWidth": 0,
"innerHeight": 0,
"outerWidth": 0,
"outerHeight": 0
},
"batteryInfo": {
"charging": true,
"chargingTime": 0,
"dischargingTime": 0,
"level": 0
},
"connectionInfo": {
"effectiveType": "string",
"downlink": 0,
"rtt": 0,
"saveData": true,
"type": "string",
"downlinkMax": 0
},
"browserInfo": "string",
"canvasInfo": "string",
"fontsInfo": "string",
"html5Info": "string",
"webGlInfo": "string"
},
"deviceMetadata": {
"ip": "string",
"vpnUsage": true,
"timeZone": "string",
"root": true,
"jailBreak": true,
"virtualCamera": true,
"systemLanguage": "string",
"userLanguage": "string"
},
"fullName": "string",
"verifyFace": true,
"isOcrEnabled": true,
"isBackOrSecondImageProcessingEnabled": true,
"frontImageBase64": "string",
"backOrSecondImageBase64": "string",
"faceImageBase64": "string",
"ssn": "string",
"trackString": "string"
}
- documentType - The type of document being uploaded. (e.g., passport, driver's license, ID card).
- ID – 1
- Passport - 2
- PassportCard – 3
- Common Access Card – 4
- Uniformed Services ID – 5
- GreenCard – 6
- InternationalId – 7
- captureMethod - The method used to capture the document images (e.g., camera, file upload). The DIVE Online developer can tag each each respective capture method accordingly per image in the request body.
- File Upload – 0
- Auto Capture - 1
- userAgent - The user agent string of the browser or application making the request.
- frontEndMetadata - Any additional metadata from the front-end application.
- clientType - The type of the client application.
- clientVersion - The version of the IDScan.net UI.
geolocation — The geolocation of the request.
- geolocation.latitude - The latitude coordinate.
- geolocation.longitude - The longitude coordinate.
- geolocation.accuracy - The accuracy of the geolocation data in meters.
stepsTiming — The timing information for each step of the document upload process.
- stepsTiming.face - The time taken for the face capture step in milliseconds.
- stepsTiming.front - The time taken for the front document capture step in milliseconds.
- stepsTiming.back - The time taken for the back document capture step in milliseconds.
- stepsTiming.mrz - The time taken for the MRZ capture step in milliseconds.
- stepsTiming.pdf417 - The time taken for the PDF417 capture step in milliseconds.
browserMetadata — Metadata about the browser used for the request.
navigatorInfo — Information about the browser's navigator object.
- navigatorInfo.userAgent - The user agent string of the browser.
- navigatorInfo.cookieEnabled - Indicates whether cookies enabled in browser.
- navigatorInfo.platform - The platform of the browser (e.g., Windows, macOS, Linux).
- navigatorInfo.hardwareConcurrency - Logical processors available to browser.
- navigatorInfo.languages - Languages supported by the browser.
screenInfo — Information about the browser's screen object.
- screenInfo.width - The width of the screen in pixels.
- screenInfo.height - The height of the screen in pixels.
- screenInfo.availWidth - The available width of the screen in pixels.
- screenInfo.availHeight - The available height of the screen in pixels.
- screenInfo.colorDepth - The color depth of the screen in bits.
- screenInfo.pixelDepth - The pixel depth of the screen in bits.
- screenInfo.orientationAngle - The angle of the screen orientation.
- screenInfo.orientationType - The type of screen orientation.
- screenInfo.innerWidth - The inner width of the browser window in pixels.
- screenInfo.innerHeight - The inner height of the browser window in pixels.
- screenInfo.outerWidth - The outer width of the browser window in pixels.
- screenInfo.outerHeight - The outer height of the browser window in pixels.
batteryInfo — Information about the device's battery status.
- batteryInfo.charging - Indicates whether the device is currently charging.
- batteryInfo.chargingTime - Time remaining until fully charged.
- batteryInfo.dischargingTime - Time remaining until fully discharged.
- batteryInfo.level - The current battery level as a percentage (0 to 1).
connectionInfo — Information about the device's network connection.
- connectionInfo.effectiveType - The effective type of connection (e.g., 4g, 3g).
- connectionInfo.downlink - Estimated downlink speed in Mbps.
- connectionInfo.rtt - Estimated round-trip time in milliseconds.
- connectionInfo.saveData - Indicates if data saving mode is enabled.
- connectionInfo.type - The type of network connection.
- connectionInfo.downlinkMax - The maximum downlink speed in Mbps.
- browserMetadata.browserInfo - Additional info about the browser.
- browserMetadata.canvasInfo - Browser's canvas capabilities.
- browserMetadata.fontsInfo - Fonts available in the browser.
- browserMetadata.html5Info - HTML5 capabilities of the browser.
- browserMetadata.webGlInfo - WebGL capabilities of the browser.
deviceMetadata — Metadata about the browser used for the request.
- deviceMetadata.ip - The IP address of the device.
- deviceMetadata.vpnUsage - Indicates whether a VPN is being used.
- deviceMetadata.timeZone - The time zone of the device.
- deviceMetadata.root - Indicates whether device is rooted/jailbroken.
- deviceMetadata.jailBreak - Indicates whether the device is jailbroken.
- deviceMetadata.virtualCamera - Indicates whether a virtual camera is being used.
- deviceMetadata.systemLanguage - The system language of the device.
- deviceMetadata.userLanguage - The user language of the device.
- fullName - The full name of the applicant.
- verifyFace - A boolean indicating whether to verify the face image against the document.
- isOcrEnabled - A boolean indicating whether OCR processing is enabled for the document images.
- isBackOrSecondImageProcessingEnabled - A boolean indicating whether processing is enabled for the back or second document image.
- frontImageBase64 - The base64-encoded string of the front document image.
- backOrSecondImageBase64 - The base64-encoded string of the back or second document image.
- faceImageBase64 - The base64-encoded string of the face image.
- ssn - The social security number of the applicant (if applicable).
- trackString - The track string data from the document (if applicable).
Response Body
{
"requestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": 0
}
Response Fields
requestId - The unique identifier for the upload documents request. Also known as an applicant ID in DIVE Online.
status - The status code of the upload documents request.