Skip to main content

Integration Guide

This Integration Guide will help you fully integrate 1-Click Signup into your application.

Time to Integrate1 hour
Time to Test and Deploy1 day
Steps RequiredMake API call(s), send SMS

Setup

1. Log into Dashboard.

Access the Verified Dashboard.

a. Enter your email and click the 1-Click Login button.

We'll send you a verification code by email.

tip

Use your work email. We use AI magic to autofill brand information based on your email domain, so you don't have to manually enter it!

b. Complete the verification step.

Click the verification button in the email or enter the verification code. We'll automatically log you in. It's a 1-click experience, as promised!

c. (if necessary) Confirm your company name.

If you're creating the Dashboard account for your company, we'll ask you to confirm your company name. If someone on your team has already created your account, you won't need to do this.

If your account doesn't have a brand yet, we'll automatically create one for you and take you to its Brand Details page.

Why Multiple Brands?

Your company account can have one or more brands. Generally, you'll only need one brand, but there are some cases where it's helpful to use multiple. For example:

  • If you have multiple products: If you have products that go by different names, it can be useful to create different brands to help users know which product they're using 1-Click Signup for — and to help your team track metrics specific to that product.
  • If you want to try different brand settings: If you want to change brand settings without affecting your existing implementation (even in Sandbox), you can duplicate your brand and configure different settings on the new brand.

2. Determine integration type.

On the Brand Details page in the Dashboard, you can configure settings for your brand.

The most important brand setting is integration type, which affects how you implement 1-Click Signup.

tip

You can always start with one integration type and change it later.

There are three options for integration type:

Integration TypeUser InterfacePhone VerificationDescriptionBest If...
HostedHosted by VerifiedHosted by VerifiedUse Verified's UI and Verified's verification codeYou want the quickest implementation
Semi-HostedHosted by YouHosted by VerifiedUse your own UI but Verified's verification codeYou don't already verify users' phone numbers
Non-Hosted
Recommended
Hosted by YouHosted by YouUse your own UI and your own verification codeYou do already verify users' phone numbers
We Recommend Non-Hosted

Non-Hosted is the most common integration type and the one we recommend. It allows you to make 1 API call and receive user data directly in the response body. It's the simplest way to integrate 1-Click Signup, as long as you already verify user's phone numbers. If you don't already do this, Semi-Hosted or Hosted may be a better option.

Determining which option is best for you is simple. Just answer these questions:

a. Do you want to use Verified's UI or your own?

Using Verified's UI is the easiest option, but using your own UI is more white label. You can always start with Verified's UI — for example to quickly try out 1-Click Signup — and then switch to your own UI later.

  • Verified's UI → Select Hosted and go to Integration
  • Your own UI → Continue to question b...

b. Do you want to use Verified's phone verification or your own?

If you don't already verify users' phone numbers, it's easiest to use Verified's phone verification. But if you already verify users' phone numbers and want to use your existing solution for that, you can use your own phone verification.

  • Verified's phone verification → Select Semi-Hosted and go to Integration
  • Your own phone verification → Select Non-Hosted and go to Integration

Integration

Use Sandbox for Development

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.

note

With the Hosted tab active above, your brand's integration type setting should be set to Hosted in the Dashboard. See Determine integration type if you need help deciding which type is right for you.

1. Prompt user for phone number.

To start 1-Click Signup for a user (using the Hosted integration type), you'll need their phone number.

We recommend using a form with a phone number input that automatically submits when the user enters 10 digits. See our Demo for an example of this.

Supported Phone Numbers

Currently, we only support US mobile phone numbers. You'll need to pass these to our API in E.164 format. This is the +1 country code with a 10-digit subscriber code appended to it, for example +10123456789.

We're able to source verified data for about 95% of these phone numbers. If we can't source data, you can take the user through your normal signup flow.

You'll also need to:

  1. Include a "powered by Verified" graphic
  2. Include Verified legal language

Here's a full example:

Hooli uses a phone number input, and they include a gray variant of the "powered by" graphic and Verified legal language.

a. Include "powered by Verified" graphic.

We require you to include a graphic that says "1-Click Signup powered by Verified". This helps the user understand they're about to go through a 1-Click Signup flow — and motivates them to do so, since a 1-click experience is always best!

The graphic should be placed just below the trigger you use to start the 1-Click Signup flow. Usually, this is a phone number or birth date input or a button.

We provide several variants of the graphic, in both SVG and PNG format. Choose the one you prefer and that best fits the background color of your application.

"Powered By Verified" Graphics

Regulations require that users give informed consent, so you must our legal language where you start the 1-Click Signup flow. It can be included alongside or as part of other legal language you already use, but it must be displayed to the user and not just included in terms you link out to.

Use this language:

By {taking this action}, you agree to receive an SMS to create a Verified account for 1-Click Signup at {Brand Name} and other supported sites, and you agree to Verified's Terms of Use.

  • Replace {taking this action} with the action the user will take to start 1-Click Signup. For example:
    • If you use a form with a phone number input that autosubmits, we recommend using "entering your phone number".
    • If you use a Continue button, we recommend using "clicking Continue".
  • Replace {Brand Name} with your brand name.
  • Link "Terms of Use" to https://verified.inc/legal#terms-of-use and make it a different color than the rest of the text, underlined, or both (so the user knows it's a link).

2. Call POST /1-click.

Call POST /1-click with the user's phone number.

tip

We recommend using your own phone number, so you can send yourself SMS for testing. But you can also use one of our test user's phone number. For any phone number, in our Sandbox environment, we'll return mock data.

The response body will contain url and code, which you'll use in the following steps.


3. Send SMS to user.

Send an SMS to the user with code from the response body of POST /1-click.

We recommend using this language, where {Brand Name} is your brand name:

Enter this code to verify for {Brand Name}: code

For example:

Enter this code to verify for Hooli: 123456

How To Construct a Verification Link

You can also optionally use code to construct a verification link. For example, if url is a link to your application, you could:

  • Append code as a URL parameter to url: {url}?code={code}.
  • Set up your application to parse code from the URL.

Then, you could include language like this in the SMS:

Click this link to verify for {Brand Name}: {url}?code={code}

For example, if the url for the Hooli brand is https://hooli.com/verified:

Click this link to verify for Hooli: https://hooli.com/verified?code=123456

warning

Our test user's phone numbers aren't valid phone numbers, so sending SMS to them won't work. You can simulate the SMS step by using the static verification code (111111), but we recommend instead using your own phone number(s) for testing, so you can send yourself real SMS messages.


4. Redirect user.

Redirect the user to url from the response body of POST /1-click. (If the user is in your mobile app, open a webview to url.)

This url is a link to our web app, where we'll prompt the user to:

  1. Enter their verification code
  2. (if necessary) Enter their birth date
  3. Confirm their data and agree to share it with your brand

When the user has completed this, we'll redirect them back to you.


5. Parse identityUuid from URL.

When we redirect the user back to you, we'll include on the redirect URL an identityUuid URL parameter, whose value is a UUID.

For example, if your redirect URL is https://hooli.com/verified, we will send the user to:

Redirect URL with identityUuid Parameter
https://hooli.com/verified?identityUuid=47e34f9c-a18b-4e67-a202-3f5389d06c08
What Redirect URL Will We Use?

We'll redirect the user to the default redirect URL set for your brand in the Dashboard, unless you overrode that default by including redirectUrl in the request body of POST /1-click.

Parse the value of the identityUuid URL parameter from the redirect URL. You'll use this UUID in the next step. (If the user is in your mobile app, you can now close the webview you opened in the previous step.)


6. Call GET /1-click.

Call GET /1-click/{identityUuid} with the value of the identityUuid URL parameter.

The response body will be a 1ClickEntity (see this example), which contains the user's data and metadata about it. You can use this data however you like to create a new account for the user!

Go Live!

When you're ready to go live, we will review your integration to see that:






Once we've confirmed these items, we'll approve your integration for Production, which will enable you to create Production API keys in the Dashboard.

Just swap your Sandbox API key for a Production API key, and you'll be live with 1-Click Signup!