---
title: "Submit driver license data against program"
method: POST
path: "/verification/program/{programId}/step/collectDriverLicensePersonalInfo"
tags: ["verification"]
---

# Submit driver license data against program

`POST /verification/program/{programId}/step/collectDriverLicensePersonalInfo`

Using this endpoint starts a verification and submits personal info in one request, and is the equivalent to POSTing to `/verification` and then `/verification/{verificationId}/step/collectDriverLicensePersonalInfo`

## Path parameters

- `programId` string, required

## Request body

- DriverLicense — A person to be verified
  - `firstName` string, required — The first name of the person being verified
  - `lastName` string, required — The last name of the person being verified
  - `state` string, required — The 2 digit state code which issued the driver license for the person being verified
  - `driverLicenseNumber` string, required — The drivers license number of an individual; non-alphanumeric characters are ignored
  - `email` string, required — The email address of the person being verified
  - `phoneNumber` string — The phone number used for SMS messages
  - `locale` string — The locale chosen by the user
  - `deviceFingerprintHash` string — The device fingerprint collected for the person being verified
  - `ipAddress` string, ipv4 — The end-user's public IP address. This only needs to be provided in situations where the HTTP requests do not come directly from the end-user.
  - `ipAddressExtended` string, ipv4,ipv6 — The end-user's public IP address. This only needs to be provided in situations where the HTTP requests do not come directly from the end-user.
  - `externalUserId` string — An identifier stored with the verification for external reference
  - `captchaToken` string — The captcha token collected for the person being verified
  - `metadata` PersonalInfoMetadata — A collection of custom metadata to be stored with the verification
  - `birthDate` string, date — The date of birth of the person being verified (format YYYY-MM-DD). Date must be greater than `1900-01-01`.
  - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.

## Response `200`

The result of the verification

- union — The result of a verification step. This is a polymorphic response: the `currentStep` property acts as the discriminator and tells you which concrete shape was returned (see the discriminator mapping). Steps that present a set of selectable statuses (e.g. military status, first responder, medical professional, employee) return the corresponding typed `New*VerificationResponse`, which carries an `availableStatuses` array. Note: `thirdPartyLoop` responses are not yet modeled with a dedicated schema and are intentionally left out of the mapping.
  - object — A successful verification, providing the reward codes to provide to the verified user
    - `verificationId` string, required — The unique ID for the [VerificationRequest](#!/components/schemas/VerificationRequest) associated with this response
    - `rewardCode` string, nullable, required — The reward code to show to the verified user. The value is `null` if the program issues no reward. The value is also `null` if the reward data has no entry with the name `rewardCode`. The key is always in the response. This field is deprecated. Use the `rewardData` field, which holds all the entries of the reward.
    - `rewardData` object, nullable — A collection of all reward codes and values stored in the verification.
    - `redirectUrl` string, nullable, required — The URL to use for redirecting the verified user once a reward has been given.
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
    - `consumerInfoState` 'consumerNotFound' | 'consumerFoundNewFieldsAvailable' | 'consumerFoundNotActionable' — The status of consumer info for RememberMe enabled programs
  - object — A representation of a new verification that provides the segment being verified and the URL to submit data to
    - `verificationId` string, required — The unique identifier for the ongoing verification
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `submissionUrl` string, required — The url to use for submitting person data
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
  - NewVerificationResponse — A representation of a new verification that provides the segment being verified and the URL to submit data to
    - `verificationId` string, required — The unique identifier for the ongoing verification
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `submissionUrl` string, required — The url to use for submitting person data
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
  - NewVerificationResponse — A representation of a new verification that provides the segment being verified and the URL to submit data to
    - `verificationId` string, required — The unique identifier for the ongoing verification
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `submissionUrl` string, required — The url to use for submitting person data
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
  - NewVerificationResponse — A representation of a new verification that provides the segment being verified and the URL to submit data to
    - `verificationId` string, required — The unique identifier for the ongoing verification
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `submissionUrl` string, required — The url to use for submitting person data
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
  - NewVerificationResponse — A representation of a new verification that provides the segment being verified and the URL to submit data to
    - `verificationId` string, required — The unique identifier for the ongoing verification
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `submissionUrl` string, required — The url to use for submitting person data
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
  - NewVerificationResponse — A representation of a new verification that provides the segment being verified and the URL to submit data to
    - `verificationId` string, required — The unique identifier for the ongoing verification
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `submissionUrl` string, required — The url to use for submitting person data
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
  - NewVerificationResponse — A representation of a new verification that provides the segment being verified and the URL to submit data to
    - `verificationId` string, required — The unique identifier for the ongoing verification
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `submissionUrl` string, required — The url to use for submitting person data
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
  - NewVerificationResponse — A representation of a new verification that provides the segment being verified and the URL to submit data to
    - `verificationId` string, required — The unique identifier for the ongoing verification
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `submissionUrl` string, required — The url to use for submitting person data
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
  - object — Instant verification was not successful, so a document must be uploaded for review
    - `verificationId` string, required — The unique ID for the [VerificationRequest](#!/components/schemas/VerificationRequest) associated with this response
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `submissionUrl` string, required — The URL to use for uploading documents
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `rejectionReasons` RejectionReason[] — The keys to be used to fetch any reasons the previous documents associated with the verificaiton were rejected
    - `maxReviewTime` '2_MIN' | '20_MIN' | '2_HRS' | '24_HRS' | '2_DAY' | '3_DAY' — The maximum amount of time a review can take
    - `estimatedReviewTime` 'A_FEW_MINUTES' | 'A_HALF_HOUR' | 'A_FEW_HOURS' | 'A_FEW_DAYS' — An estimation for how long an end user can expect a review to take
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable, required — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
    - `documents` object[] — A list of documents for which upload has been initiated but not completed.
      - `documentId` string, required — A unique identifier of the document
      - `status` 'PENDING' | 'FINISHED' | 'ERROR', required — The status of the document. Possible values are: * PENDING: The document has not yet been uploaded * FINISHED: The document is in the process of being reviewed * ERROR: An error occurred during processing of the document
      - `mimeType` string, required — The MIME type of the file to be uploaded
      - `fileSize` integer, required — The size in bytes of the file to be uploaded
      - `uploadUrl` string — The URL to use to upload the file (using PUT with a multipart/form-data request). Only present if the document status is PENDING_UPLOAD.
      - `errors` DocumentUploadError[] — Any errors that were encountered
  - object — The verification is undergoing an asynchronous process (e.g. document review). A polling URL is provided to get the current status.
    - `verificationId` string, required — The unique ID for the [VerificationRequest](#!/components/schemas/VerificationRequest) associated with this response
    - `statusUrl` string, required — The url to poll to determine the result of the document review
    - `awaitingStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override' — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `maxReviewTime` '2_MIN' | '20_MIN' | '2_HRS' | '24_HRS' | '2_DAY' | '3_DAY' — The maximum amount of time a review can take
    - `estimatedReviewTime` 'A_FEW_MINUTES' | 'A_HALF_HOUR' | 'A_FEW_HOURS' | 'A_FEW_DAYS' — An estimation for how long an end user can expect a review to take
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
    - `lastResponse` VerificationResponse — recursive
  - object — A non-recoverable error occurred. Check the `systemErrorMessage` property for debugging info.
    - `verificationId` string, nullable, required — The unique ID for the [VerificationRequest](#!/components/schemas/VerificationRequest) associated with this response. The value is `null` if the error occurred before the server made a verification. For example, the program is not active.
    - `errorIds` ErrorId[], required — The list of errors that occurred
    - `errorDetailId` ErrorDetailId[] — The detailed description of the error that occurred
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `systemErrorMessage` string, required — A description of the error that occurred to use for debugging purposes, not meant to be shown to the end user
    - `redirectUrl` string, nullable, required — The URL to send the user to for this error. The server sets this URL if the program has an error redirect URL for this error. If the program has no such URL, the value is `null`. The key is always in the response.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
    - `consolationRewardCode` string — If a consolation reward is available for the type of error, then the reward code will be provided here. Otherwise, this will be null.
  - object — The user can visit an SSO login portal at the provided login url.
    - `verificationId` string, required — The unique ID for the [VerificationRequest](#!/components/schemas/VerificationRequest) associated with this response
    - `loginUrl` string, required — The url to send the user to in order to perform an SSO login to verify.
    - `cancelUrl` string, required — The url to send a DELETE request to in order to cancel an ongoing SSO login attempt.
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
  - object — The user was sent an SMS message with a verification code that must be provided.
    - `verificationId` string, required — The unique ID for the [VerificationRequest](#!/components/schemas/VerificationRequest) associated with this response
    - `retryUrl` string, required — The url to hit if a new SMS code should be generated and sent to the person being verified.
    - `submissionUrl` string, required — The url to use for submitting the SMS loop token
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
  - object — A step in the verification flow that can be canceled. When canceled, the server will respond with a different step to try, such as docReview.
    - `verificationId` string, required — The unique identifier for the ongoing verification
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `submissionUrl` string, required — The url to use for submitting person data
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
    - `cancelUrl` string, required — The url to send a DELETE request to.
  - object — The user was sent an email message with a link that includes a token that needs to be submitted.
    - `verificationId` string, required — The unique ID for the [VerificationRequest](#!/components/schemas/VerificationRequest) associated with this response
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
    - `submissionUrl` string, required — The url to use for submitting the email loop token
    - `cancelUrl` string — The url to send a DELETE request to in order to cancel an ongoing email loop verification and move to the the docUpload step. Program must have an "Email Loop with Domain Validation" verification type to use this feature.
    - `canResendEmailLoop` boolean
  - object — The user must submit photos of government-issued identification.
    - `verificationId` string, required — The unique ID for the [VerificationRequest](#!/components/schemas/VerificationRequest) associated with this response
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
    - `uploadUrl` string, required — The URL to which the images should be uploaded. See `/{verificationId}/step/idCheckLoop/upload`
    - `submissionUrl` string, required — The URL to which a POST request must be sent after the images have been uploaded
    - `idCheckServiceType` 'ID_CHECK' | 'ID_CHECK_LIVENESS' — The type of ID Check to be performed. Only `ID_CHECK` is currently avaiable.
  - object — The verification was not successful, but a consolation reward is available to the user.
    - `verificationId` string, required — The unique ID for the [VerificationRequest](#!/components/schemas/VerificationRequest) associated with this response
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `redirectUrl` string, nullable, required — The URL to send the user to from the consolation step. The server sets this URL if the program has a consolation redirect URL. If the program has no consolation redirect URL, the value is `null`. The key is always in the response. This field does not depend on `consolationRewardCode`. The server can set this URL when `consolationRewardCode` is `null`. A successful verification has a different redirect URL in [SuccessResponse](#!/components/schemas/SuccessResponse). You configure that URL separately.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `consolationRewardCode` string, nullable, required — The consolation reward code. The value is `null` if the consolation reward for this step does not supply a code with this name. This occurs in these conditions: - The consolation reward of the program points directly to a reward pool. - A different data key holds the code. The consolation step does not always supply a code. The server can set `redirectUrl` when this field is `null`. The key is always in the response.
    - `created` integer
    - `updated` integer
  - object — The verification was not successful, but a successful result can be achieved by providing an override using an override code.
    - `verificationId` string, required — The unique ID for the [VerificationRequest](#!/components/schemas/VerificationRequest) associated with this response
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `submissionUrl` string, required — The URL to use for performing a verification override
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
  - NewVerificationResponse — A representation of a new verification that provides the segment being verified and the URL to submit data to
    - `verificationId` string, required — The unique identifier for the ongoing verification
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `submissionUrl` string, required — The url to use for submitting person data
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
  - object — The user was sent an email message with a link that includes a token that needs to be submitted.
    - `verificationId` string, required — The unique ID for the [VerificationRequest](#!/components/schemas/VerificationRequest) associated with this response
    - `currentStep` 'collectStudentPersonalInfo' | 'collectActiveMilitaryPersonalInfo' | 'collectInactiveMilitaryPersonalInfo' | 'collectTeacherPersonalInfo' | 'collectSeniorPersonalInfo' | 'collectAgePersonalInfo' | 'collectFirstResponderPersonalInfo' | 'collectMedicalProfessionalPersonalInfo' | 'collectEmployeePersonalInfo' | 'collectMemberPersonalInfo' | 'collectLicensedProfessionalPersonalInfo' | 'collectMoverPersonalInfo' | 'collectLowIncomePersonalInfo' | 'collectDriverLicensePersonalInfo' | 'collectGeneralIdentityPersonalInfo' | 'collectHybridIdentityPersonalInfo' | 'collectPersonalInfo' | 'collectMilitaryStatus' | 'collectMarketplaceToken' | 'collectSocialSecurityNumber' | 'collectIdentifier' | 'completeAuthentication' | 'docUpload' | 'sso' | 'success' | 'error' | 'pending' | 'emailLoop' | 'idCheckLoop' | 'smsLoop' | 'thirdPartyLoop' | 'consolation' | 'override', required — The step that the verification is at. Each step tells you what to do next. One value is deprecated: `collectHybridIdentityPersonalInfo`. The API can still return it, so your client must accept it. The endpoint that submits this step is not part of the public API. Do not build a new integration on it.
    - `errorIds` ErrorId[] — The list of errors that occurred, if any
    - `segment` 'student' | 'teacher' | 'military' | 'senior' | 'age' | 'firstResponder' | 'medical' | 'employment' | 'marketplace' | 'member' | 'licensedProfessional' | 'recentMover' | 'other' | 'lowIncome' | 'identity', nullable — The market segment for the verification. The value can be `null` if the server did not determine the segment. For example, the server sends an error before a verification exists.
    - `subSegment` 'activeDuty' | 'veteran' | 'retiree' | 'reservist' | 'militaryFamily' | 'goldStarFamily' | 'police' | 'fireFighter' | 'searchAndRescue' | 'emt' | 'employee' | 'homeBuyer' | 'otherMover' | 'facultyHighSchool' | 'facultyUniversity' | 'facultyPostSecondary' | 'facultyK12' | 'fullAndPartTimeUniversity' | 'collegeBound' | 'highSchool' | 'graduate' | 'postSecondary' | 'nurse' | 'doctor' | 'otherHealthWorker' | 'dentist' | 'pharmacist' | 'generalContractor' | 'snapBenefits' | 'otherGovernmentAssistance' | 'communityEligibilityProvision' | 'architect' | 'interiorDesigner' | 'librarian' | 'childCareWorker' | 'veterinarian' | 'licensedRealEstateAgent' | 'licensedCosmetologist' | 'generalIdentity' | 'driverLicense' | 'hybridIdentity' | 'k12' | 'nutritionProfessional', nullable — The subsegment being verified. May be `null` when the verification has no applicable subsegment.
    - `locale` string — The locale chosen by the user
    - `country` string, nullable — The ISO 3166-1 alpha-2 country code of the person being verified. In a response, the value can be `null` if the verification has no country.
    - `created` integer
    - `updated` integer
    - `submissionUrl` string, required — The url to use for submitting the authentication token
    - `cancelUrl` string — The url to send a DELETE request to in order to cancel an ongoing authentication verification and move to the the collectPersonalInfo step.

## Other responses

- `400` — Bad request
- `403` — Program not active, due to future start date or a past end date.
- `404` — Verification not found
- `429` — User is not permitted to perform any more verifications due to the program's person limiting policies (errorId `verificationLimitExceeded`). This is a permanent rejection — do not retry; the consumer has reached the allowed number of verifications.
- `500` — Internal server error.
- `503` — Service temporarily unavailable. The request can be safely retried after the interval given in the `Retry-After` header.

---

[API](https://skmtc.dev/sheerid/apis/sheerid-api.md) · [All operations](https://skmtc.dev/sheerid/apis/sheerid-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sheerid/sheerid-api/revisions/dc7f4e84f543/schema)
