---
title: "Connect a Pre-Verified User"
method: POST
path: "/v1/users/connect/preverified"
tags: ["Connect"]
---

# Connect a Pre-Verified User

`POST /v1/users/connect/preverified`

## Request

- Base URL: `https://sandbox-api.spinwheel.io`
- URL: `https://sandbox-api.spinwheel.io/v1/users/connect/preverified`
- Auth: one of:
  - API key in header `Authorization`
  - API key in header `Authorization`

Connect a User that already has been pre-verified by phone number/SMS. Identify the user by date of birth, by legal first and last name as it appears on their credit file, or by the last four digits of their Social Security number. One of the three is required. This API requires Spinwheel Support approval to enable it before it can be used.

## Request body

- ConnectPreverifiedRequest
  - `phoneNumber` string, required: The phone number in E.164 format.
  - `dateOfBirth` string: The date of birth. Formatted as YYYY-MM-DD. Supply one of dateOfBirth, firstName + lastName, or ssnLastFourDigits. If more than one is provided, dateOfBirth is used to resolve the identity and the others narrow the match.
  - `firstName` string: The user's legal first name, as it appears on their credit file. Must be sent together with lastName. One of dateOfBirth, firstName + lastName, or ssnLastFourDigits is required.
  - `lastName` string: The user's legal last name, as it appears on their credit file. Must be sent together with firstName. One of dateOfBirth, firstName + lastName, or ssnLastFourDigits is required.
  - `ssnLastFourDigits` string: The last four digits of the user's Social Security number. One of dateOfBirth, firstName + lastName, or ssnLastFourDigits is required.
  - `userId` string, required: An existing userId to connect with. One of extUserId or userId is required.
  - `extUserId` string, required: A unique external ID for the user. One of extUserId or userId is required.
  - `audit` AuditPreverifiedRequest, required
    - `consentTimestamp` string: When the user consented to the End User Agreement. Must be a UTC RFC 3339 datetime within the last 24 hours. At least one of consentTimestamp or userConsentDate is required. If both are provided, consentTimestamp takes precedence.
    - `tosVersion` 'v1.0' | 'v1.1': Version of the Spinwheel End User Agreement agreed to by the user. Supported versions: v1.0, v1.1.
    - `tosLanguage` 'en': Language in which the Spinwheel End User Agreement was presented. Currently only "en" is supported.
    - `consentType` 'WRITTEN' | 'VERBAL': How consent was obtained. WRITTEN: written or electronic consent. VERBAL: verbal consent during a recorded interaction.
    - `verificationDate` string: The date the user's identity was verified, formatted as YYYY-MM-DD. At least one of verificationDate or identityVerifiedTimestamp is required. If both are provided, identityVerifiedTimestamp takes precedence.
    - `identityVerifiedTimestamp` string: When the user's identity was verified. Must be a UTC RFC 3339 datetime and must not be in the future. At least one of identityVerifiedTimestamp or verificationDate is required. If both are provided, this field takes precedence.
    - `userConsentDate` string: The date the user provided consent, formatted as YYYY-MM-DD. At least one of userConsentDate or consentTimestamp is required. If both are provided, consentTimestamp takes precedence.
    - `verificationType` 'SMS' | 'PHONE_CALL' | 'KYC' | 'CREDIT_REPORT', required: The type of verification performed.

## Response `201`

Success

- ConnectResponse
  - `status` ResponseStatus, required
    - `code` number
    - `desc` string
    - `messages` Message[]
      - `desc` string, required
      - `type` 'ERROR' | 'WARN' | 'INFO'
  - `data` ConnectResponseData, required
    - `userId` string, required: Id of the user
    - `extUserId` string, required: A client id registered with Spinwheel on creation
    - `connectionId` string, required: Id of the connection
    - `connectionStatus` 'IN_PROGRESS' | 'SUCCESS' | 'FAILED', required: connectionStatus
    - `profile` SmsUserProfile
      - `firstName` string, required: First Name
      - `lastName` string, required: Last Name
      - `emailAddress` string: Email Address
      - `creditScore` number: Credit Score
      - `ssnLastFourDigits` string: Last 4 digits of the ssn. Absent where the identity provider did not return one.
      - `phoneNumber` string: Phone number
      - `dateOfBirth` string: The date of birth. Absent where the identity provider did not return one, which is the case where the user was connected without supplying one.
      - `addresses` Address[]: Addresses
        - `addressLine1` string, required
        - `addressLine2` string
        - `city` string, required
        - `state` 'AL' | 'AK' | 'AZ' | 'AR' | 'CA' | 'CO' | 'CT' | 'DC' | 'DE' | 'FL' | 'GA' | 'HI' | 'ID' | 'IL' | 'IN' | 'IA' | 'KS' | 'KY' | 'LA' | 'ME' | 'MD' | 'MA' | 'MI' | 'MN' | 'MS' | 'MO' | 'MT' | 'Ne' | 'NE' | 'NV' | 'NH' | 'NJ' | 'NM' | 'NY' | 'NC' | 'ND' | 'OH' | 'OK' | 'OR' | 'PA' | 'RI' | 'SC' | 'SD' | 'TN' | 'TX' | 'UT' | 'VT' | 'VA' | 'WA' | 'WV' | 'WI' | 'WY', required
        - `zip` string, required
        - `zipExtension` string
    - `networkToken` string: The Spinwheel network token, to be used for passing lead data to the network

## Other responses

- `400`: Bad Request
- `429`: Concurrent Request Rejected

## Changes

- **2026-11-03** `aa032469622f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/spinwheel/apis/discover/changes/v1/users/connect/preverified/post.md)

---

[API](https://skmtc.dev/spinwheel/apis/discover.md) - [All operations](https://skmtc.dev/spinwheel/apis/discover/llms.txt) - [OpenAPI document](https://skmtc.dev/spinwheel/apis/discover/revisions/aa032469622f?raw)
