Skip to main content

Endpoints

tip

Postman API documentation is available at https://api.docs.verified.inc.

Use Sandbox for Development and Testing

Please do all development work and testing against our Sandbox environment, which returns mock data. You can use our Production environment when you're ready to go live.

Client SDK

POST /client/1-click

Run in Postman

Create a (one time use) session key for the client SDK

MethodPOST
Path/client/1-click
note

This endpoint is only relevant if your brand's integration type setting is set to SDK in the Dashboard. See Integration Type in the Setup guide for more information about integration types.

Request

POST /client/1-click Request Body
{
deviceIp?: string,
verificationUuid?: string,
phone?: string,
email?: string,
birthDate?: string,
ssn4?: string,
fullName?: {
firstName?: string,
middleName?: string,
lastName?: string
},
address?: {
line1?: string,
line2?: string,
city?: string,
state?: string,
zipCode?: string,
country?: string
}
}
PropertyRequired?TypeFormatDefaultDescriptionExample
deviceIp
Optional
stringIPv6-IP address of user's device that can be passed to the SDK to override what the SDK determines it to be"2001:0db8:85a3:0000:0000:8a2e:0370:7334"
verificationUuid
Optional
stringVersion 4 UUID-Unique identifier for a 1ClickVerificationEntity that can be passed to the SDK to skip the phone entry and verification steps"487246b0-e68c-451d-be8e-45cea0b1c7a2"
phone
Optional
stringE.164-User's phone number (in E.164 format)"+12125550010"
email
Optional
stringEmail-User's email address"richard@piedpiper.net"
birthDate
Optional
stringyyyy-MM-dd-User's birth date (in Sandbox, this must be "1989-08-01" to pass validation)"1989-08-01"
ssn4
Optional
string4 digits (0-9)-Last 4 digits of user's Social Security Number (in Sandbox, this must be "6789" to pass validation)"6789"
fullName
Optional
objectObject with keys for one or more child credentials listed below-Full name
{
"firstName": "Richard"
}
fullName.firstName
Optional
but
Required
with fullName
stringcAse inSensiTive-First name"Richard"
fullName.middleName
Optional
stringcAse inSensiTive-Middle name"Harrison"
fullName.lastName
Optional
stringcAse inSensiTive-Last name"Hendricks"
address
Optional
objectObject with keys for one or more child credentials listed below-Address
{
"line1": "5320 Newell Rd",
"city": "Palo Alto",
"state": "CA",
"zipCode": "94303",
"country": "US"
}
address.line1
Optional
stringcAse inSensiTive-Line 1 of address"5320 Newell Rd"
address.line2
Optional
stringcAse inSensiTive-Line 2 of address""
address.city
Optional
stringcAse inSensiTive-City of address"Palo Alto"
address.state
Optional
string
  • 2 letter abbreviation (last 2 characters of ISO 3166-2 code for US state/territory)
  • Full state/territory name (ISO 3166-2 subdivision name)
-State of address
  • "CA"
  • "California"
address.zipCode
Optional
string
  • ZIP Code (5 digits, 0-9)
  • ZIP+4 (5 digits, 0-9 + - + 4 digits, 0-9)
-ZIP Code of address
  • "94303"
  • "94303-2846"
address.country
Optional
string
  • 2 letter abbreviation (ISO 3166-1 alpha-2 code, currently always "US")
  • Full country name (ISO 3166-1 English short name, currently always "United States of America")
-Country of address
  • "US"
  • "United States of America"
tip

If you don't have a user's phone number yet, call POST /client/1-click with an empty request body, and the SDK will prompt the user to enter their phone number.

Response

POST /client/1-click Response Body
{
sessionKey: string
}
PropertyTypeFormatDescriptionExample
sessionKeystringVersion 4 UUIDSession key that can be used (one time only) to initialize the SDK"86227634-bd2e-479d-9541-2c8e7e2e1f6d"

1-Click Verify

GET /1-click/verifications/channels

Check the availability of 1-Click Verify channels

MethodGET
Path/1-click/verifications/channels?deviceIp={deviceIp}

Request

Call:

GET /1-click/verifications/channels[?deviceIp={deviceIp}]
  • For the {deviceIp} query parameter value:
    • Use the IP address of the user's device (in IPv6 format).

Response

GET /1-click/verifications/channels Response Body
{
"channels":
"autofill": {
"available": boolean, // brandApproved && deviceIpEligible
"brandApproved": boolean,
"deviceIpEligible": boolean
},
"sms": {
"available": boolean
},
// Coming soon
// "email": {
// "available": boolean
// }
}
}
PropertyTypeFormatDescriptionExample
channelsobjectObject with keys for all channelsAvailability for all channels-
channels.autofillobjectObject with keys for autofill channelAvailability for the autofill channel
{
"available": boolean, // brandApproved && deviceIpEligible
"brandApproved": boolean,
"deviceIpEligible": boolean
}
channels.autofill.availableboolean-Whether the autofill channel is available (= brandApproved && deviceIpEligible)true
channels.autofill.brandApprovedboolean-Whether your brand is approved for the autofill channeltrue
channels.autofill.deviceIpEligibleboolean-Whether the user's device IP is eligible for the autofill channeltrue
channels.smsobjectObject with keys for SMS channelAvailability for the SMS channel
{
"available": boolean
}
channels.sms.availableboolean-Whether the SMS channel is availabletrue
channels.emailobjectObject with keys for email channelAvailability for the email channel
{
"available": boolean
}
channels.email.availableboolean-Whether the email channel is availabletrue

POST /1-click/verifications

Begin a verification flow

MethodPOST
Path/1-click/verifications

Request

POST /1-click/verifications Request Body
{
channel: "autofill" | "sms" | "email",
deviceIp?: string, // only relevant if using autofill channel
phone?: string // only relevant if using SMS channel or if wanting to match user input to autofill output
}
PropertyRequired?TypeFormatDefaultDescriptionExample
channel
Required
enum

Possible values:

  • "autofill"
  • "sms"
  • "email"
    Coming Soon
snake_case-Channel used for verification"autofill"
deviceIp
Optional
(but required if channel is "autofill")
stringIPv6-IP address of user's device"2001:0db8:85a3:0000:0000:8a2e:0370:7334"
phone
Optional
(but required if channel is "sms")
stringE.164-User's phone number (in E.164 format)"+12125550010"

Response

POST /1-click/verifications Response Body
{
...1ClickVerificationEntity // includes phone and verified status if autofill succeeds (and matches phone input if provided)
}

See 1ClickVerificationEntity.

Here's an example with a verified status from the autofill channel:

POST /1-click/verifications Response Body Example (verified)
{
"uuid": "6232bdb2-5b92-405a-bf39-6147aef70ac1",
"phone": "+12125550010",
"channel": "autofill",
"status": "verified",
"verified": true,
"createdAt": 1760053690000,
"expiresAt": 1760053990000,
"attemptsRemaining": 3
}

Here's an example with a pending status from the SMS channel:

POST /1-click/verifications Response Body Example (pending)
{
"uuid": "f5251850-496c-48cf-a4bd-d9d5ace22689",
"phone": "+12125550010",
"channel": "sms",
"status": "pending",
"verified": false,
"createdAt": 1760053695000,
"expiresAt": 1760053995000,
"attemptsRemaining": 3
}

POST /1-click/verifications/{uuid}/deliver

Deliver a verification message

MethodPOST
Path/1-click/verifications/{uuid}/deliver

Request

Call:

POST /1-click/verifications/{uuid}/deliver
  • For the {uuid} path parameter, use the value of the uuid included in the 1ClickVerificationEntity that's included in the response body of every 1-Click Verify endpoint.

Response

POST /1-click/verifications/{uuid}/deliver Response Body
{
...1ClickVerificationEntity
}

See 1ClickVerificationEntity. Here's an example:

POST /1-click/verifications/{uuid}/deliver Response Body Example
{
"uuid": "f5251850-496c-48cf-a4bd-d9d5ace22689",
"phone": "+12125550010",
"channel": "sms",
"status": "sending",
"verified": false,
"createdAt": 1760053695000,
"expiresAt": 1760053995000,
"attemptsRemaining": 3
}

POST /1-click/verifications/{uuid}/verify

Verify a user submitted verification code

MethodPOST
Path/1-click/verifications/{uuid}/verify

Request

POST /1-click/verifications/{uuid}/verify Request Body
{
code: string
}
PropertyRequired?TypeFormatDefaultDescriptionExample
code
Required
string6 digits (0-9)-User submitted verification code"111111"
  • For the {uuid} path parameter, use the value of the uuid included in the 1ClickVerificationEntity that's included in the response body of every 1-Click Verify endpoint.

Response

POST /1-click/verifications/{uuid}/verify Response Body
{
...1ClickVerificationEntity
}

See 1ClickVerificationEntity. Here's an example:

POST /1-click/verifications/{uuid}/verify Response Body Example
{
"uuid": "f5251850-496c-48cf-a4bd-d9d5ace22689",
"phone": "+12125550010",
"channel": "sms"
"status": "verified",
"verified": true
"createdAt": 1760053695000,
"expiresAt": 1760053995000,
"deliveredAt": 1760053699054,
"verifiedAt": 1760053705000,
"attemptsRemaining": 2
}

GET /1-click/verifications

Check the status of a verification flow

MethodGET
Path/1-click/verifications/{uuid}

Request

Call:

GET /1-click/verifications/{uuid}
  • For the {uuid} path parameter:
    • In Text to Signup flows, use the value of the verificationUuid included as a URL parameter on the redirect URL.
    • In 1-Click Verify flows, use the value of the uuid included in the 1ClickVerificationEntity that's included in the response body of every 1-Click Verify endpoint.

Response

GET /1-click/verifications Response Body
{
...1ClickVerificationEntity
}

See 1ClickVerificationEntity. Here's an example:

GET /1-click/verifications Response Body Example
{
"uuid": "f5251850-496c-48cf-a4bd-d9d5ace22689",
"phone": "+12125550010",
"channel": "sms",
"status": "verified",
"createdAt": 1760053695000,
"expiresAt": 1760053995000,
"verifiedAt": 1760053705000
}

1-Click Signup

GET /1-click

Run in Postman

Get data for a user who has completed a 1-Click Signup flow

MethodGET
Path/1-click/{identityUuid}

Request

Call:

GET /1-click/{identityUuid}
  • For the {identityUuid} path parameter, use the value of the identityUuid returned by the SDK or included as a URL parameter on the redirect URL.

Response

GET /1-click Response Body
{
...1ClickEntity
}

See 1ClickEntity.


POST /1-click

Run in Postman

Begin a 1-Click Signup flow

MethodPOST
Path/1-click
note

This endpoint is only relevant if your brand's integration type setting is set to API in the Dashboard. See Integration Type in the Setup guide for more information about integration types.

Request

POST /1-click Request Body
{
phone: string,
email?: string,
birthDate?: string,
ssn4?: string,
fullName?: {
firstName?: string,
middleName?: string,
lastName?: string
},
address?: {
line1?: string,
line2?: string,
city?: string,
state?: string,
zipCode?: string,
country?: string
},
credentialRequests?: CredentialRequest[]
}
PropertyRequired?TypeFormatDefaultDescriptionExample
phone
Required
stringE.164-User's phone number (in E.164 format)"+12125550010"
email
Optional
stringEmail-User's email address"richard@piedpiper.net"
birthDate
Optional
stringyyyy-MM-dd-Birth date"1989-08-01"
ssn4
Optional
string4 digits (0-9)-Last 4 digits of Social Security Number"6789"
fullName
Optional
objectObject with keys for one or more child credentials listed below-Full name
{
"firstName": "Richard",
"lastName": "Hendricks"
}
fullName.firstName
Optional
stringcAse inSensiTive-First name"Richard"
fullName.middleName
Optional
stringcAse inSensiTive-Middle name"Harrison"
fullName.lastName
Optional
stringcAse inSensiTive-Last name"Hendricks"
address
Optional
objectObject with keys for one or more child credentials listed below-Address
{
"line1": "5320 Newell Rd",
"city": "Palo Alto",
"state": "CA",
"zipCode": "94303",
"country": "US"
}
address.line1
Optional
stringcAse inSensiTive-Line 1 of address"5320 Newell Rd"
address.line2
Optional
stringcAse inSensiTive-Line 2 of address""
address.city
Optional
stringcAse inSensiTive-City of address"Palo Alto"
address.state
Optional
string
  • 2 letter abbreviation (last 2 characters of ISO 3166-2 code for US state/territory)
  • Full state/territory name (ISO 3166-2 subdivision name)
-State of address
  • "CA"
  • "California"
address.zipCode
Optional
string
  • ZIP Code (5 digits, 0-9)
  • ZIP+4 (5 digits, 0-9 + - + 4 digits, 0-9)
-ZIP Code of address
  • "94303"
  • "94303-2846"
address.country
Optional
string
  • 2 letter abbreviation (ISO 3166-1 alpha-2 code, currently always "US")
  • Full country name (ISO 3166-1 English short name, currently always "United States of America")
-Country of address
  • "US"
  • "United States of America"
credentialRequests
Optional
CredentialRequest[]See CredentialRequestDefined by the default credential requests brand setting in your DashboardList of CredentialRequest objects (which encode which credentials you're asking for)See CredentialRequest example
Default Credential Requests

If you don't include credentialRequests in the request body, the default credential requests setting for your brand will apply. For reference, the standard credential requests (see here in the Setup guide) include the core KYC data points, all set to optional:

Standard Credential Requests in Code
Standard Credential Requests
[
{
"type": "FullNameCredential",
"children": [
{
"type": "FirstNameCredential"
},
{
"type": "MiddleNameCredential"
},
{
"type": "LastNameCredential"
}
]
},
{
"type": "PhoneCredential"
},
{
"type": "AddressCredential",
"multi": true,
"children": [
{
"type": "Line1Credential"
},
{
"type": "Line2Credential"
},
{
"type": "CityCredential"
},
{
"type": "StateCredential"
},
{
"type": "ZipCodeCredential"
},
{
"type": "CountryCredential"
}
]
},
{
"type": "BirthDateCredential",
},
{
"type": "SsnCredential",
}
]

Response

POST /1-click Response Body
{
uuid: string,
identity: 1ClickEntity
}
PropertyTypeFormatDescriptionExample
uuidstringVersion 4 UUIDUnique identifier for the 1ClickEntity that will be returned at the end of the 1-Click Signup flow"535dba63-d4bd-442a-b3f6-21b785260a08"
identity1ClickEntitySee 1ClickEntityA 1ClickEntity object, which contains the user's verified data and metadata about itSee 1ClickEntity example

1-Click Health

POST /1-click/health

Run in Postman

Begin a 1-Click Health flow (for autofill, check, or both)

MethodPOST
Path/1-click/health
note

This endpoint is only relevant if your brand's integration type setting is set to API in the Dashboard. See Integration Type in the Setup guide for more information about integration types.

Request

POST /1-click/health Request Body
{
checkAfterAutofill?: boolean, // default defined by the Check After Autofill brand setting in the Verified Dashboard
identityUuid?: string, // from 1-Click Signup response body
fullName?: {
firstName?: string, // required if no identityUuid
middleName?: string,
lastName?: string // required if no identityUuid
},
birthDate?: string, // required if no identityUuid
address?: {
line1?: string,
line2?: string,
city?: string,
state?: string,
zipCode?: string,
country?: string
},
sex?: string,
ssn?: string,
payer?: {
id?: string, // specifies payer (or payer group)
name?: string, // searches for payer (or payer group): only use if id is not known
},
memberId?: string,
serviceTypeCodes?: string[],
procedureCodes?: {
code: string,
qualifier?: string,
modifiers?: string[]
}[]
// npi?: string // coming soon
}
PropertyRequired?TypeFormatDefaultDescriptionExample
checkAfterAutofill
Optional
boolean-Defined by the Check After Autofill settingWhether to automatically run an eligibility check for an autofilled health insurance plantrue
identityUuid
Optional
stringVersion 4 UUID-Unique identifier for the 1ClickEntity that will be returned at the end of the 1-Click Signup flow"535dba63-d4bd-442a-b3f6-21b785260a08"
fullName
Optional
but
Required
if no identityUuid
objectObject with keys for one or more child credentials listed below-Full name
{
"firstName": "Richard",
"lastName": "Hendricks"
}
fullName.firstName
Optional
but
Required
if no identityUuid
stringcAse inSensiTive-First name"Richard"
fullName.middleName
Optional
stringcAse inSensiTive-Middle name"Harrison"
fullName.lastName
Optional
but
Required
if no identityUuid
stringcAse inSensiTive-Last name"Hendricks"
birthDate
Optional
but
Required
if no identityUuid
stringyyyy-MM-dd-Birth date"1989-08-01"
address
Optional
objectObject with keys for one or more child credentials listed below-Address
{
"line1": "5320 Newell Rd",
"city": "Palo Alto",
"state": "CA",
"zipCode": "94303",
"country": "US"
}
address.line1
Optional
stringcAse inSensiTive-Line 1 of address"5320 Newell Rd"
address.line2
Optional
stringcAse inSensiTive-Line 2 of address""
address.city
Optional
stringcAse inSensiTive-City of address"Palo Alto"
address.state
Optional
string2 letter abbreviation (last 2 characters of ISO 3166-2 code for US state/territory)-State of address"CA"
address.zipCode
Optional
stringZIP Code (5 digits, 0-9)-ZIP Code of address"94303"
address.country
Optional
string2 letter abbreviation (ISO 3166-1 alpha-2 code, currently always "US")-Country of address"US"
sex
Optional
enum

Possible values:

  • "Male"
  • "Female"
  • "Non-Binary"
Title Case-Sex"Male"
ssn
Optional
string9 digits (0-9)-Social Security Number"000456789"
payer
Optional
objectObject with key described below-Payer (or payer group) for insurance autofill and/or eligibility check-
payer.id
Optional
string--Payer (or payer group) ID for insurance autofill and/or eligibility check: see supported payers"VERIFIED_MEDICARE"
payer.name
Optional
string--Payer (or payer group) name for insurance autofill and/or eligibility check: see supported payers (only use if payer ID is not known)"Aetna"
memberId
Optional
string--Member ID for eligibility check"A484069"
serviceTypeCodes
Optional
string[]Array of strings["30"]List of X12 service type codes for patient service["47", "AL", "F6"]
serviceTypeCodes[i]
Optional
string1+ characters"30"X12 service type code"F6"
procedureCodes
Optional
object[]Array of objects"30"National Provider Identifier[{ "code": "99213", "qualifier": "HC", "modifiers": ["25"] }]
procedureCodes[i]
Optional
objectObject with keys described below"30"National Provider Identifier{ "code": "99213", "qualifier": "HC", "modifiers": ["25"] }
procedureCodes[i].code
Required
(if procedure code object is included)
string
  • 5 digits (for CPT code)
  • 1 letter and 4 digits (for HCPCS code)
-CPT or HCPCS procedure code"99213""
procedureCodes[i].qualifier
Optional
string enum

Possible values:

  • "AD": American Dental Association Codes)
  • "CJ": Current Procedural Terminology (CPT) Codes
  • "HC": Health Care Financing Administration Common Procedural Coding System (HCPCS) Codes
  • "ID": International Classification of Diseases, 9th Revision, Clinical Modification (ICD-9-CM) - Procedure
  • "IV": Home Infusion EDI Coalition (HIEC) Product/Service Code
  • "N4": National Drug Code in 5-4-2 Format
  • "ZZ": Mutually Defined Code identifying the type/source of the procedureCode. You can set this to AD - , CJ - , HC - , ID - , IV - , N4 - , or ZZ - .
2 letters"HC"Type or source of procedure code"HC"
procedureCodes[i].modifiers
Optional
string[]Array of strings-Array of medical coding modifiers["25"]
↳ ↳ procedureCodes[i].modifiers[j]
Optional
string2 characters-Medical coding modifier"25"
npi
Coming Soon
Optional
string10 digits (0-9)Defined by the providers brand setting in your DashboardNational Provider Identifier"0123456789"

Response

POST /1-click/health Response Body
{
healthDataUuid: string,
status: "PENDING" | "PROCESSING" | "SUCCEEDED" | "FAILED" | "PARTIAL"
}
PropertyTypeFormatDescriptionExample
healthDataUuidstringVersion 4 UUIDUnique identifier for the 1ClickHealthEntity that will be returned at the end of the 1-Click Health flow"9e12fe5b-5bb8-410a-ac6b-6e053e4c7e8d"
status
enum

Possible values:

  • "PENDING"
  • "PROCESSING"
  • "SUCCEEDED"
  • "FAILED"
  • "PARTIAL"
UPPER_SNAKE_CASEStatus of the 1-Click Health flow"PROCESSING"

GET /1-click/health

Run in Postman

Get data for a user who has completed a 1-Click Health flow

MethodGET
Path/1-click/health/{healthDataUuid}

Request

Call:

GET /1-click/health/{healthDataUuid}
  • For the {healthDataUuid} path parameter, use the value of the healthDataUuid returned by the SDK or POST /1-click/health.

Response

GET /1-click/health Response Body
{
...1ClickHealthEntity
}

See 1ClickHealthEntity.


GET /1-click/health/payers

Run in Postman

Get all supported payers for 1-Click Health

MethodGET
Path/1-click/health/payers

Request

Call:

GET /1-click/health/payers

You can optionally include query parameters, for example:

GET /1-click/health/payers?$search=aetna&$limit=10&$skip=0&$paginate=true
ParameterRequired?TypeFormatDefaultDescriptionExample
$search
Optional
string--Search by payer name or IDaetna
$limit
Optional
integer-10Number of payers per page100
$skip
Optional
integer-0Number of payers to skip25
$paginate
Optional
boolean--Whether to return paginated resultstrue
note

This endpoint is unauthenticated.

Response

Without query parameters, the response body will be unpaginated:

GET /1-click/health/payers Response Body (unpaginated)
[
...Payer
]

See Payer. This includes all supported payers.

With query parameters, the response body will be paginated:

GET /1-click/health/payers?... Response Body (paginated)
{
total: integer,
limit: integer,
skip: integer,
data: [
...Payer
],
}

This includes (under data) an array of payer objects for all supported payers that match the query, with keys as described in the table below.

PropertyTypeFormatDescriptionExample
totalinteger-Number of payers3460
limitinteger-Number of payers per page100
skipinteger-Number of payers to skip25
dataarrayArray of PayersPayers that match submitted query-
data[i]PayerSee PayerPayerSee Payer Example