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 Soon

Payload 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

verificationIdstringrequired

Original verification ID.

referenceIdstringrequired

Client-provided reference ID for the holder.

holderIdstringrequired

Credential holder user ID.

credentialIdstring

Associated credential ID.

credentialTypestring

Credential type URI (e.g., org.coxauto.identity_credential).

reAttestationReasonstringrequired

High-level reason category: PERIODIC_RENEWAL, RISK_BASED_REVIEW, POLICY_CHANGE, or MANUAL_REQUEST.

reAttestationReasonCodestring

Specific sub-code within the reason category (e.g., APPROACHING_EXPIRY within PERIODIC_RENEWAL).

reAttestationDetailsobject

Contextual details about the re-attestation requirement.

reAttestationDetails.currentExpiryDatestring

ISO 8601 expiry date of current credential.

reAttestationDetails.daysUntilExpiryinteger

Days remaining until expiry.

reAttestationDetails.lastReAttestedAtstring

ISO 8601 timestamp of last successful re-attestation.

reAttestationDetails.reAttestationIntervalDaysinteger

Configured interval between re-attestations in days.

gracePeriodEndsAtstringrequired

Deadline for completing re-attestation (ISO 8601).

severitystring

Urgency 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 Soon

Payload 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

verificationIdstringrequired

Original verification ID.

referenceIdstringrequired

Client-provided reference ID for the holder.

holderIdstringrequired

Credential holder user ID.

startedAtstringrequired

ISO 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 Soon

Payload 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

reverificationIdstringrequired

Unique reverification session ID.

verificationIdstringrequired

Original verification ID.

referenceIdstringrequired

Client-provided reference ID.

holderIdstringrequired

Credential holder user ID.

credentialIdstring

Associated credential ID.

decisionstringrequired

Verification outcome: PASS, FAIL, or REVIEW.

confidenceScorenumber

Confidence score between 0 and 1.

completedAtstringrequired

ISO 8601 timestamp.

reAttestationOutcomeobject

Outcome details from the completed re-attestation.

reAttestationOutcome.validityExtendedboolean

Whether the credential validity was extended.

reAttestationOutcome.newExpiryDatestring

New expiry date after successful re-attestation (ISO 8601).

reAttestationOutcome.nextReAttestationAtstring

Scheduled date for next re-attestation (ISO 8601).

reAttestationOutcome.reAttestationCountinteger

Total 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 Soon

Fires when identity verification completes successfully with a PASS decision. This event triggers downstream credential issuance.

Source: vecu.idv

verificationIdstringrequired

Unique verification ID.

sessionIdstringrequired

Verification session ID.

userIdstringrequired

Verified user ID.

decisionstringrequired

Verification decision: PASS.

confidenceScorenumber

Confidence score between 0 and 1.

documentDataobject

Information extracted from the verified identity document.

documentData.documentTypestring

Document type (e.g., DRIVERS_LICENSE).

documentData.documentNumberstring

Document identification number.

documentData.issuingStatestring

Two-letter US state code (e.g., GA).

documentData.expirationDatestring

Document expiration date (YYYY-MM-DD).

documentData.firstNamestring

First name as on document.

documentData.lastNamestring

Last name as on document.

completedAtstringrequired

ISO 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 Soon

Fires when identity verification fails -- the decision is FAIL or the verification process encounters an unrecoverable error.

Source: vecu.idv

verificationIdstringrequired

Unique verification ID.

sessionIdstringrequired

Verification session ID.

userIdstringrequired

User who was being verified.

decisionstringrequired

Verification decision: FAIL.

failureReasonstringrequired

High-level failure reason (e.g., DOCUMENT_VERIFICATION_FAILED).

failureReasonCodestring

Detailed failure code (e.g., DOC_MISMATCH).

failureDetailsobject

Additional context about the verification failure.

failureDetails.descriptionstring

Human-readable description of the failure.

failureDetails.failedChecksstring[]

List of verification checks that failed (e.g., ["facial_recognition", "document_authenticity"]).

failureDetails.confidenceScorenumber

Provider confidence score at time of failure (0–1).

retryAllowedboolean

Whether the user can retry verification.

failedAtstringrequired

ISO 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"
  }
}