Skip to main content
Verification Method Verified Users Pn

Prove Verified Users solution

Prove Verified Users returns identity information using various data sources linked to an authenticated phone number for use on existing Consumers in real-time. The Prove Verified Users solution is designed to protect against fraudsters, enhance trust and engagement on digital platforms, and enable smoother digital experiences by balancing strong security with a seamless user experience. You can use Verified Users to verify existing users in your CRM, validate new users before they complete an action on your platform (like taking a ride or applying for a job), or at any other moment to protect against risk.

How To Implement

1

Complete Step 1: Authentication

Begin by implementing Step 1: Authentication to authenticate the user’s device. This step is crucial as it establishes a trusted connection between the user and their phone number, which is the foundation for the Verified Users solution.Welcome Flow Chart3 Pn
This step must be complete before proceeding with Verified Users.
2

Gather Required Inputs

Collect the required customer information from your CRM or database:
  • Phone number
  • First name
  • Last name
3

Call the Verify Endpoint

Make a request to the /v3/verify endpoint including the Authorization header. Generate a bearer token as outlined on the Authentication page. Include the following required parameters:
  • phoneNumber: the phone number of the customer.
  • firstName: the first name of the customer.
  • lastName: the last name of the customer.
  • verificationType: the type of verification to be performed. Set this value to verifiedUser.
  • clientRequestId: client-generated unique ID for a specific session. This can be used to identify specific requests.
Always provide unique clientRequestId values for each request to enable proper tracking and troubleshooting.
The optional parameters:
  • emailAddress: the email address of the customer.
  • ipAddress: the IP address of the customer’s device.
  • userAgent: the user agent of the customer.
  • clientCustomerId: the client-generated unique ID for a specific customer. This can be used by clients to link calls related to the same customer, across different requests or sessions.
  • clientHumanId: a client-generated unique ID for a consumer across business lines.
  • proveId: the Prove ID associated with the customer, if known.
cURL
curl -X POST "https://platform.uat.proveapis.com/v3/verify" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
    "verificationType": "verifiedUser",
    "firstName": "Elena",
    "lastName": "Coldman",
    "phoneNumber": "2001004053",
    "clientRequestId": "test-request-001",
    "clientCustomerId": "test-customer-001"
}'
You will test this example in the Sandbox environment using the test users provided in the Sandbox Testing guide.
4

Process the Response

The response includes comprehensive identity information and verification results:
  • success: the result of the verification.
  • correlationId: the unique ID that Prove generates for the flow.
  • clientRequestId: the client-generated unique ID for a specific session, provided in the request.
  • phoneNumber: the phone number provided in the request.
  • identity: the verified identity information. This object contains:
    • firstName: the first name provided in the request.
    • lastName: the last name provided in the request.
    • assuranceLevel: the confidence level (AL-1, AL0, AL1, AL2, AL3).
    • reasons: codes explaining the verification result.
    • clientCustomerId: the client-generated unique ID for a specific customer, provided in the request.
    • proveId: the unique Prove-assigned ID tied to the consumer.
    • provePhoneAlias: the unique Prove-assigned ID tied to the phone number.
    • clientHumanId: the client-generated unique ID for a consumer across business lines, provided in the request.
  • evaluation: object containing the results of the authentication and risk evaluations. Refer to the Global Fraud Policy for more details.
  • additionalIdentities: object containing any additional identities found for the phone number.
Example Response
{
    "success": "true",
    "correlationId": "a1fb77c4-b5a6-44bc-bc78-b5939dd7c35a",
    "clientRequestId": "test-request-001",
    "phoneNumber": "2001004053",
    "identity": {
        "firstName": "Elena",
        "lastName": "Coldman",
        "assuranceLevel": "AL2",
        "reasons": [
            "AL2a"
        ],
        "clientCustomerId": "test-customer-001",
        "proveId": "b7e54823-0068-4e23-9e07-60d382518bcf",
        "provePhoneAlias": "09717e90-997d-448b-a1d6-9ef0431b3472",
        "clientHumanId": ""
    },
    "evaluation": {
        "authentication": {
            "result": "pass"
        },
        "risk": {
            "result": "pass"
        }
    }
}
Best Practices
  • Check the success field and reasons array to handle different verification outcomes appropriately.
  • Save the proveId and correlationId for future reference and to enable cross-domain linking if needed.
  • Use assurance levels to implement adaptive security policies based on transaction risk.

Sandbox Testing

Test users

The following test users are available for testing the /v3/verify endpoint in the Sandbox environment. Use these test users to simulate different verification scenarios and outcomes.
Phone NumberFirst NameLast NameVerification TypeExpected Outcome
2001004053ElenaColdmanverifiedUserSuccess
2001004054AlfNovotniverifiedUserFailed
Use these test phone numbers exactly as shown. The sandbox environment doesn’t validate real customer information.

Testing steps

1

Test Successful Verification

Use test user Elena Coldman to verify a successful verification:
cURL
curl -X POST "https://platform.uat.proveapis.com/v3/verify" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "verificationType": "verifiedUser",
    "firstName": "Elena",
    "lastName": "Coldman",
    "phoneNumber": "2001004053",
    "clientRequestId": "test-request-001",
    "clientCustomerId": "test-customer-001"
  }'
Expected response:
{
    "success": "true",
    "correlationId": "a1fb77c4-b5a6-44bc-bc78-b5939dd7c35a",
    "clientRequestId": "test-request-001",
    "phoneNumber": "2001004053",
    "identity": {
        "firstName": "Elena",
        "lastName": "Coldman",
        "assuranceLevel": "AL2",
        "reasons": [
            "AL2a"
        ],
        "clientCustomerId": "test-customer-001",
        "proveId": "b7e54823-0068-4e23-9e07-60d382518bcf",
        "provePhoneAlias": "09717e90-997d-448b-a1d6-9ef0431b3472",
        "clientHumanId": ""
    },
    "evaluation": {
        "authentication": {
            "result": "pass"
        },
        "risk": {
            "result": "pass"
        }
    }
}
2

Test Failed Verification

Use test user Alf Novotni to simulate a failed verification:
cURL
curl -X POST "https://platform.uat.proveapis.com/v3/verify" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "verificationType": "verifiedUser",
    "firstName": "Alf",
    "lastName": "Novotni",
    "phoneNumber": "2001004054",
    "clientRequestId": "test-request-002",
    "clientCustomerId": "test-customer-002"
  }'
Expected response:
{
    "success": "false",
    "correlationId": "c1cd3908-8a25-4e9f-9a15-e4af62a221e1",
    "clientRequestId": "test-request-002",
    "phoneNumber": "2001004054",
    "identity": {
        "firstName": "Alf",
        "lastName": "Novotni",
        "assuranceLevel": "AL0",
        "reasons": [
            "AL0b"
        ],
        "clientCustomerId": "test-customer-002",
        "proveId": "",
        "provePhoneAlias": "",
        "clientHumanId": ""
    },
    "evaluation": {
        "authentication": {
            "failureReasons": {
                "9175": "No active identity can be associated with the phone number.",
                "9177": "No information can be found for the identity or phone number."
            },
            "result": "fail"
        },
        "risk": {
            "result": "pass"
        }
    }
}