Skip to main content
POST
/
v3
/
start
Start Flow
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://platform.uat.proveapis.com/v3/start"

	payload := strings.NewReader("{\n  \"finalTargetUrl\": \"https://www.example.com/landing-page\",\n  \"emailAddress\": \"mpinsonm@dyndns.org\",\n  \"phoneNumber\": \"2001001695\",\n  \"smsMessage\": \"#### is your temporary code to continue your application. Caution: for your security, don't share this code with anyone.\",\n  \"dob\": \"1981-01\",\n  \"ipAddress\": \"10.0.0.1\",\n  \"allowOTPRetry\": true,\n  \"flowType\": \"mobile\",\n  \"ssn\": \"0596\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
{
  "next": {
    "v3-validate": "/v3/validate"
  },
  "authToken": "eyJhbGciOi...",
  "correlationId": "713189b8-5555-4b08-83ba-75d08780aebd"
}
Use the following base URLs when integrating:https://platform.uat.proveapis.com - North America Sandbox Environmenthttps://platform.proveapis.com - North America Production Environment

Authorizations

Authorization
string
header
required

The access token received from the /token endpoint. Refer to the Authentication page for more details.

Body

application/json
flowType
string
required

The type of device being user - either desktop for desktop web or mobile for iOS/Android native apps and mobile web.

Example:

"mobile"

allowOTPRetry
boolean

If true, the customer can re-enter the OTP up to three times. Code must also be implemented. See client-side SDK guide for more details.

Example:

true

dob
string

The date of birth in one of these formats: YYYY-MM-DD, YYYY-MM, or MM-DD. Acceptable characters are: numeric with symbol '-'.

It is recommended you do NOT pass this value into the Start step. Prove will attempt to pre-fill data using phone number only.

Example:

"1981-01"

emailAddress
string

The email address of the customer. Acceptable characters are: alphanumeric with symbols '@.+'.

Example:

"mpinsonm@dyndns.org"

finalTargetUrl
string

The URL where the end user will be redirected at the end of the Instant Link flow. Required only when flowType=desktop. Acceptable characters are: alphanumeric with symbols '-._+=/:?'. Max length is 128 characters.

Example:

"https://www.example.com/landing-page"

ipAddress
string

The IP address of the mobile device. Acceptable characters are: numeric with symbols ':.'.

Example:

"10.0.0.1"

phoneNumber
string

The number of the mobile phone. Refer to the Prove Pre-Fill Implementation guide and Prove Identity Implementation guide for situations where this field is not required. Acceptable characters are: alphanumeric with symbols '+'.

Example:

"2001001695"

smsMessage
string

The message body sent in the Instant Link (flowType=desktop) or OTP (flowType=mobile) SMS message. If not provided, the following default messages will be used:

Instant Link: "Complete your verification. If you did not make this request, do not click the link. ####" The verification URL replaces ####.

OTP: "#### is your temporary code to continue your application. Caution: for your security, don't share this code with anyone." Use ####, #####, or ###### to generate 4-6 digit verification codes respectively.

Max length is 160 characters. Non-ASCII characters are allowed.

Example:

"#### is your temporary code to continue your application. Caution: for your security, don't share this code with anyone."

ssn
string

The full or last 4 digits of the social security number. Acceptable characters are: numeric.

It is recommended you do NOT pass this value into the Start step. Prove will attempt to pre-fill data using phone number only.

Example:

"0596"

Response

Successful request.

authToken
string
required

A bearer token used by the client-side SDK.

Example:

"eyJhbGciOi..."

correlationId
string
required

The unique ID that Prove generates for the flow. To continue the flow, the field will also be used for each of the subsequent API calls in the same flow - it cannot be reused outside of a single flow.

Example:

"713189b8-5555-4b08-83ba-75d08780aebd"

next
object
required

The next set of allowed API calls in the same flow.

Example:
{ "v3-validate": "/v3/validate" }
I