ID Pass - IDSP mode
In IDSP mode (document_verification: idsp), Global Data returns an identity opinion - a single valid / not valid assessment produced by the combined checks of Global Data's Document Validation System and DVS. Global Data runs the document verification on your behalf and provides you with an identity opinion on whether the documents are valid or not.
This mode is intended for customers who are not registered with DVS but need a compliant identity verification service. Global Data acts as an Identity Service Provider (IDSP) on your behalf, and the identity opinion returned is Global Data's own assessment, not a DVS response.
Requirements
- Liveness detection must be enabled on every ID Pass (
check_livenessset totrue). This is mandatory in IDSP mode - it ensures the identity opinion is based on multiple independent identity checks (liveness, biometric face match where a photo ID is supplied, and document verification). - Your account must be enrolled as an IDSP Service Client. Contact your Global Data account manager to arrange enrolment.
- No DVS Identity (OAC) is required on your account.
Quick start
1. Create an ID Pass
Call POST /idpass/register with document_verification set to idsp and check_liveness set to true.
Example request:
{
"document_verification": "idsp",
"check_liveness": true,
"document_1_allowed_types": ["licence", "passport"],
"document_2_allowed_types": ["licence", "passport", "medicare"],
"webhook_url": "https://example.com/webhooks/idpass"
}
The response contains the id, the link to send to your customer, and a cipher_key for decrypting the results later:
{
"id": "19517924-94f0-4000-8e02-afba96ad5101",
"link": "https://idpass.example.com/fe4291ca-d831-4760-96df-c9cb03b3cd95",
"cipher_key": "IHm81bkcMsTL7J1ilxhDNE59+p5OQkvUJ3mZQhlUNHA="
}
See the ID Pass API Reference for all available request options.
2. Send the link to your customer
Provide the link to your customer by SMS, email, or by redirecting them from your application. See What your customer experiences for what they will see.
3. Track progress (optional)
If you supplied a webhook_url when creating the ID Pass, Global Data will POST a small payload to your endpoint each time the status changes:
{
"id": "19517924-94f0-4000-8e02-afba96ad5101",
"status": "complete"
}
See the Webhooks section of the overview for supported events.
4. Retrieve results
Once the ID Pass status is complete, call GET /idpass/details/{id} with the cipher_key to retrieve the full result.
The top-level verification_status carries Global Data's identity opinion: passed (valid) or failed (not valid). The default response also includes a decrypted validation_summary with strategy-agnostic per-document results:
{
"message": "Ok",
"id": "19517924-94f0-4000-8e02-afba96ad5101",
"status": "complete",
"verification_status": "passed",
"verification_description": "The identity was verified successfully",
"config": { "...": "..." },
"created_at": "2026-04-16T04:28:53+00:00",
"consent_given_at": "2026-04-16T04:29:00+00:00",
"consent_text": "...",
"completed_at": "2026-04-16T04:29:30+00:00",
"ip_address": "203.22.251.3",
"validation_summary": {
"document_verification": "idsp",
"liveness_result": {
"validated": true,
"confidence": "99.811",
"threshold": 70,
"liveness_attempts": 1,
"bounding_box": { "...": "..." }
},
"document_1_result": {
"document_type": "passport",
"validated_fields": {
"first_name": "John",
"middle_name": null,
"last_name": "Smith",
"date_of_birth": "1990-03-21"
},
"biographic_validated": true,
"changes": {},
"biometric_validated": true,
"biometric_similarity": "99.804",
"biometric_threshold": 80
},
"verified_identity": {
"first_name": "John",
"middle_name": null,
"last_name": "Smith",
"date_of_birth": "1990-03-21"
},
"requested_identity_mismatch": false
}
}
Key signals in IDSP mode:
verification_status- this is Global Data's identity opinion:passed(valid) orfailed(not valid).verification_description- human-readable reason.validation_summary.document_N_result.biographic_validated- whether the document passed Global Data's combined Document Validation System and DVS checks.validation_summary.document_N_result.biometric_validated- whether the biometric face match passed for that document.
DVS result codes, DVS error codes, DVS request identifiers, and the OAC used are not available in the API response.
Opting in to the per-document detail
To see the per-document verification boolean, pass return_documents: true on the details request. The response then also contains a documents object with a per-document validation_result:
{
"...": "...top-level fields as above...",
"documents": {
"document_1": {
"document_type": "passport",
"document_number": 1,
"ocr_status": "complete",
"ocr_attempts": 1,
"validation_status": "complete",
"validation_result": {
"strategy": "idsp",
"verification_passed": true,
"checked_at": "2026-04-16 04:28:53"
},
"validation_attempts": 1,
"biometric_result": {
"passed": true,
"threshold": 80,
"similarity": 99.8038,
"face_occluded": false
},
"ocr_data": { "...": "..." },
"validation_data": { "...": "..." }
}
}
}
Key validation_result fields for IDSP mode:
strategy-idspverification_passed- boolean (valid / not valid) for that documentchecked_at- timestamp of the validation
Sandbox testing
In sandbox, no real DVS calls are made and no fees are charged. Uploading a DVS sample document produces a predictable identity opinion:
- Sample documents that pass all checks →
verification_status: "passed"(identity opinion is valid) - Sample documents that fail any check →
verification_status: "failed"(identity opinion is not valid)
See Sandbox testing in the ID Pass Overview for the full picture.