---
title: "Submit data to a Remember Me enabled program"
method: POST
path: "/verification/{verificationId}/step/collectPersonalInfo"
tags: ["verification"]
---

# Submit data to a Remember Me enabled program

`POST /verification/{verificationId}/step/collectPersonalInfo`

Submit consumer data for a verification. The program must have the Remember Me function.

The request body is a flat union of fields. It contains all the fields that any audience can supply. It is not one fixed shape. The server changes the request body into the correct subject type, and the segment of the program controls this change.

The resolved subject type sets the required fields. This schema does not set them. One segment can require a field that a different segment ignores. The `required` list in this schema shows only the fields that all subject types require.

If you know the segment before you send the request, use the step for that audience. For example, use `collectStudentPersonalInfo`. The schema for each of those steps shows its required fields correctly. The `VerificationSubject` schema lists all the concrete shapes.

This step is different from the steps for one audience. This step does **not** accept the deprecated `status` field, which holds only one value. Use the `statuses` field. If you send `status`, the server rejects the request with an unrecognized property error.

## Path parameters

- `verificationId` string, required

## Request body

- GenericVerificationSubject — A person to verify. This schema is a flat union of the fields that all audiences can supply. The Remember Me personal info step uses this schema. The `VerificationDetails.personInfo` field also uses it to report the collected data. This schema is not one of the concrete shapes in `VerificationSubject`. The server changes this schema into one of those shapes, and the segment of the program controls the change. The server uses only the fields that apply to the resolved shape. That shape sets the required fields. The `required` list in this schema shows only the fields that all shapes require. If you supply these fields, the resolved shape can still have insufficient data.
  - `firstName` string, required — The first name of the person being verified
  - `lastName` string, required — The last name of the person being verified
  - `address1` string — The home street address of the person being verified. Required for instant verification.
  - `city` string — The city of the person being verified.
  - `state` string — The two character state code of the organization.
  - `stateCode` string — The two character state code for the person being verified. Provide when open org is submitted, i.e. organization id = 0
  - `deviceFingerprintHash` string — The device fingerprint collected for the person being verified
  - `dischargeDate` string, date — The date the person being verified was discharged from the military
  - `driverLicenseNumber` string — The drivers license number of an individual; non-alphanumeric characters are ignored
  - `activeDutyStartDate` string, date — The date the person being verified started active duty in the military
  - `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.
  - `memberId` string — The unique member ID number for the person being verified
  - `postalCode` string — The postal code for the person being verified
  - `trackingId` string — The tracking ID that was assigned to this verification
  - `ebtCardNumber` string — The number of an EBT card.
  - `statuses` union[] — List of available statuses.
    - union
      - 'POLICE' | 'EMT' | 'FIREFIGHTER' | 'SEARCH_AND_RESCUE'
      - 'NURSE' | 'DOCTOR' | 'DENTIST' | 'PHARMACIST' | 'OTHER_HEALTH_WORKER'
      - 'SNAP_BENEFITS' | 'OTHER_GOVERNMENT_ASSISTANCE' | 'COMMUNITY_ELIGIBILITY_PROVISION'
      - 'LICENSED_COSMETOLOGIST' | 'LICENSED_REAL_ESTATE_AGENT' | 'NUTRITION_PROFESSIONAL' | 'VETERINARIAN' | 'CHILD_CARE_WORKER' | 'LIBRARIAN' | 'INTERIOR_DESIGNER' | 'ARCHITECT' | 'GENERAL_CONTRACTOR'
      - 'EMPLOYEE'
      - 'ACTIVE_DUTY' | 'VETERAN' | 'RESERVIST' | 'MILITARY_RETIREE' | 'MILITARY_FAMILY' | 'GOLD_STAR_FAMILY'
      - 'HOME_BUYER' | 'OTHER_MOVER'
  - `email` string, required — The email address of the person being verified
  - `birthDate` string, date, required — The date of birth of the person being verified (format YYYY-MM-DD). Date must be greater than `1900-01-01`.
  - `organization` Organization — An organization that can be used for instant verification of various segments (Student, Teacher, Military, etc.)
    - `name` string, required — The name of the organization
    - `id` integer, required — The unique identifier for the organization. This will be ignored if idExtended is specified.
    - `idExtended` string — The unique identifier for the Organization within the Organization service.
    - `source` 'EMPLOYER' | 'PLACE' — An identifier used for disambiguating the service which is providing the organization information.
  - `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
  - `phoneNumber` string — The phone number used for SMS messages
  - `socialSecurityNumber` number — The social security number of the person to be verified
  - `locale` string — The locale chosen by the user
  - `metadata` PersonalInfoMetadata — A collection of custom metadata to be stored with the verification
  - `activeDutyEndDate` string, date — The date the person being verified ended active duty in the military
  - `cvecNumber` string — The unique CVEC number for the person being verified

## 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
- `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)
