IDV SDK Events
Events in the IDV_SDK product group cover identity verification sessions and attestation lifecycle. Subscribe to this group to build integrations around driver onboarding and reverification workflows.
idv.* events are Coming Soon — the IDV service publishes these to EventBridge but the relay subscription is pending. Contact the VECU team for relay activation timeline updates.
idv.attestation.needed
Coming SoonPayload schema inferred from the IDV service domain model. Fields may change before GA -- subscribe to this page for updates.
Fires when a credential approaches expiry or a periodic re-attestation interval is reached, signaling that the holder needs to complete reverification.
Source: vecu.idv
verificationIdstringrequiredOriginal verification ID.
referenceIdstringrequiredClient-provided reference ID for the holder.
holderIdstringrequiredCredential holder user ID.
credentialIdstringAssociated credential ID.
credentialTypestringCredential type URI (e.g., org.coxauto.identity_credential).
reAttestationReasonstringrequiredHigh-level reason category: PERIODIC_RENEWAL, RISK_BASED_REVIEW,
POLICY_CHANGE, or MANUAL_REQUEST.
reAttestationReasonCodestringSpecific sub-code within the reason category (e.g., APPROACHING_EXPIRY
within PERIODIC_RENEWAL).
reAttestationDetailsobjectContextual details about the re-attestation requirement.
reAttestationDetails.currentExpiryDatestringISO 8601 expiry date of current credential.
reAttestationDetails.daysUntilExpiryintegerDays remaining until expiry.
reAttestationDetails.lastReAttestedAtstringISO 8601 timestamp of last successful re-attestation.
reAttestationDetails.reAttestationIntervalDaysintegerConfigured interval between re-attestations in days.
gracePeriodEndsAtstringrequiredDeadline for completing re-attestation (ISO 8601).
severitystringUrgency level: LOW, MEDIUM, HIGH, or CRITICAL.
{
"id": "evt_attestation_needed_001",
"source": "vecu.idv",
"type": "idv.attestation.needed",
"specversion": "1.0",
"time": "2026-03-15T10:00:00.123Z",
"datacontenttype": "application/json",
"data": {
"_platform": {
"correlationId": "corr_ver_abc123xyz",
"traceId": "Root=1-5e3f4b5c-7a8b9c0d1e2f3a4b5c6d7e8f",
"actor": {
"actorId": "service:vecu-idv-scheduler",
"actorType": "service"
}
},
"verificationId": "ver_abc123xyz",
"referenceId": "driver_12345",
"holderId": "user_123",
"credentialId": "cred_identity_xyz789",
"credentialType": "org.coxauto.identity_credential",
"reAttestationReason": "PERIODIC_RENEWAL",
"reAttestationReasonCode": "APPROACHING_EXPIRY",
"reAttestationDetails": {
"currentExpiryDate": "2026-04-15T00:00:00Z",
"daysUntilExpiry": 30,
"lastReAttestedAt": "2025-04-15T10:30:00Z",
"reAttestationIntervalDays": 365
},
"gracePeriodEndsAt": "2026-04-15T00:00:00Z",
"severity": "MEDIUM"
}
}
idv.attestation.started
Coming SoonPayload schema derived from the IDV service source code. Fields may change before GA.
Fires when a re-attestation session transitions from pending to in-progress — the holder has begun the reverification flow.
Source: vecu.idv
verificationIdstringrequiredOriginal verification ID.
referenceIdstringrequiredClient-provided reference ID for the holder.
holderIdstringrequiredCredential holder user ID.
startedAtstringrequiredISO 8601 timestamp when attestation began.
{
"id": "evt_attestation_started_001",
"source": "vecu.idv",
"type": "idv.attestation.started",
"specversion": "1.0",
"time": "2026-03-15T10:05:00.123Z",
"datacontenttype": "application/json",
"data": {
"_platform": {
"correlationId": "corr_reverify_def456ghi",
"traceId": "Root=1-5e3f4b5c-7a8b9c0d1e2f3a4b5c6d7e8f",
"actor": {
"actorId": "user_123",
"actorType": "user",
"clientId": "mobile_app_ios"
}
},
"verificationId": "ver_abc123xyz",
"referenceId": "driver_12345",
"holderId": "user_123",
"startedAt": "2026-03-15T10:05:00Z"
}
}
idv.attestation.completed
Coming SoonPayload schema inferred from the IDV service domain model. Fields may change before GA -- subscribe to this page for updates.
Fires when a re-attestation session concludes with any final decision (PASS, FAIL, or REVIEW). Check the decision field to determine the outcome. Only a PASS decision extends the credential validity period.
Source: vecu.idv
reverificationIdstringrequiredUnique reverification session ID.
verificationIdstringrequiredOriginal verification ID.
referenceIdstringrequiredClient-provided reference ID.
holderIdstringrequiredCredential holder user ID.
credentialIdstringAssociated credential ID.
decisionstringrequiredVerification outcome: PASS, FAIL, or REVIEW.
confidenceScorenumberConfidence score between 0 and 1.
completedAtstringrequiredISO 8601 timestamp.
reAttestationOutcomeobjectOutcome details from the completed re-attestation.
reAttestationOutcome.validityExtendedbooleanWhether the credential validity was extended.
reAttestationOutcome.newExpiryDatestringNew expiry date after successful re-attestation (ISO 8601).
reAttestationOutcome.nextReAttestationAtstringScheduled date for next re-attestation (ISO 8601).
reAttestationOutcome.reAttestationCountintegerTotal number of re-attestations performed for this credential.
{
"id": "evt_attestation_completed_001",
"source": "vecu.idv",
"type": "idv.attestation.completed",
"specversion": "1.0",
"time": "2026-03-15T10:35:00.123Z",
"datacontenttype": "application/json",
"data": {
"_platform": {
"correlationId": "corr_reverify_def456ghi",
"traceId": "Root=1-5e3f4b5c-7a8b9c0d1e2f3a4b5c6d7e8f",
"actor": {
"actorId": "user_123",
"actorType": "user",
"clientId": "mobile_app_ios"
}
},
"reverificationId": "reverify_def456ghi",
"verificationId": "ver_abc123xyz",
"referenceId": "driver_12345",
"holderId": "user_123",
"credentialId": "cred_identity_xyz789",
"decision": "PASS",
"confidenceScore": 0.94,
"completedAt": "2026-03-15T10:35:00Z",
"reAttestationOutcome": {
"validityExtended": true,
"newExpiryDate": "2027-03-15T00:00:00Z",
"nextReAttestationAt": "2027-02-15T00:00:00Z",
"reAttestationCount": 1
}
}
}
idv.verification.completed
Coming SoonFires when identity verification completes successfully with a PASS decision. This event triggers downstream credential issuance.
Source: vecu.idv
verificationIdstringrequiredUnique verification ID.
sessionIdstringrequiredVerification session ID.
userIdstringrequiredVerified user ID.
decisionstringrequiredVerification decision: PASS.
confidenceScorenumberConfidence score between 0 and 1.
documentDataobjectInformation extracted from the verified identity document.
documentData.documentTypestringDocument type (e.g., DRIVERS_LICENSE).
documentData.documentNumberstringDocument identification number.
documentData.issuingStatestringTwo-letter US state code (e.g., GA).
documentData.expirationDatestringDocument expiration date (YYYY-MM-DD).
documentData.firstNamestringFirst name as on document.
documentData.lastNamestringLast name as on document.
completedAtstringrequiredISO 8601 timestamp.
{
"id": "evt_idv_completed_d4e5f6",
"source": "vecu.idv",
"type": "idv.verification.completed",
"specversion": "1.0",
"time": "2026-03-15T10:35:00.123Z",
"datacontenttype": "application/json",
"data": {
"_platform": {
"correlationId": "corr_idv_abc123",
"traceId": "Root=1-5e3f4b5c-7a8b9c0d1e2f3a4b5c6d7e8f",
"actor": { "actorId": "user_123", "actorType": "user" }
},
"verificationId": "ver_xyz789",
"sessionId": "idv_session_abc123",
"userId": "user_123",
"decision": "PASS",
"confidenceScore": 0.96,
"documentData": {
"documentType": "DRIVERS_LICENSE",
"documentNumber": "DL123456",
"issuingState": "GA",
"expirationDate": "2028-03-15",
"firstName": "John",
"lastName": "Doe"
},
"completedAt": "2026-03-15T10:35:00Z"
}
}
idv.verification.failed
Coming SoonFires when identity verification fails -- the decision is FAIL or the verification process encounters an unrecoverable error.
Source: vecu.idv
verificationIdstringrequiredUnique verification ID.
sessionIdstringrequiredVerification session ID.
userIdstringrequiredUser who was being verified.
decisionstringrequiredVerification decision: FAIL.
failureReasonstringrequiredHigh-level failure reason (e.g., DOCUMENT_VERIFICATION_FAILED).
failureReasonCodestringDetailed failure code (e.g., DOC_MISMATCH).
failureDetailsobjectAdditional context about the verification failure.
failureDetails.descriptionstringHuman-readable description of the failure.
failureDetails.failedChecksstring[]List of verification checks that failed (e.g., ["facial_recognition", "document_authenticity"]).
failureDetails.confidenceScorenumberProvider confidence score at time of failure (0–1).
retryAllowedbooleanWhether the user can retry verification.
failedAtstringrequiredISO 8601 timestamp.
{
"id": "evt_idv_failed_g7h8i9",
"source": "vecu.idv",
"type": "idv.verification.failed",
"specversion": "1.0",
"time": "2026-03-15T10:33:00.123Z",
"datacontenttype": "application/json",
"data": {
"_platform": {
"correlationId": "corr_idv_abc123",
"traceId": "Root=1-5e3f4b5c-7a8b9c0d1e2f3a4b5c6d7e8f",
"actor": { "actorId": "user_123", "actorType": "user" }
},
"verificationId": "ver_failed_xyz",
"sessionId": "idv_session_abc123",
"userId": "user_123",
"decision": "FAIL",
"failureReason": "DOCUMENT_VERIFICATION_FAILED",
"failureReasonCode": "DOC_MISMATCH",
"failureDetails": {
"description": "Document data does not match selfie",
"failedChecks": ["facial_recognition", "document_authenticity"],
"confidenceScore": 0.42
},
"retryAllowed": true,
"failedAt": "2026-03-15T10:33:00Z"
}
}