Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developer.prove.com/llms.txt

Use this file to discover all available pages before exploring further.

Follow this guide if you are verifying a particular customer’s identity in real time. If you are looking to verify a list of customers in batch, refer to the Connect documentation for batch verification instructions.
Identities that pass the Global Fraud Policy are automatically enrolled in Manage.

Prerequisites

  • Access token — Obtain a bearer token using Prove OAuth (Authentication).

Implementation steps

1

Gather Required Inputs

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

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.
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",
    "identityAttributes": [
        {
            "attributeType": "walletId",
            "attributeValue": "9fk1ka74g"
        }
    ]
}'
Replace <YOUR_ACCESS_TOKEN> with your acquired access token.
For Verified Users, set verificationType to verifiedUser and include phoneNumber, firstName, and lastName. You can pass clientRequestId, clientCustomerId, clientHumanId, proveId, identityAttributes, and other optional fields as your flow requires. See POST /v3/verify for the full request schema, optional fields, and validation rules.
Always use unique clientRequestId values for each request to enable proper tracking and troubleshooting.
3

Process the Response

Compare your JSON to the samples below. Map assuranceLevel and reasons using Assurance levels; interpret evaluation using Global Fraud Policy. For every field, rely on the POST /v3/verify response schema.
{
    "success": "true",
    "correlationId": "12e5bf83-f2e5-4354-83a5-ed811c8aeb49",
    "clientRequestId": "test-001",
    "phoneNumber": "2001004053",
    "assuranceLevel": "AL2",
    "proveId": "41570934-6d6b-476d-9425-3eaf305cf2e5",
    "provePhoneAlias": "4B2C...",
    "identity": {
        "firstName": "Elena",
        "lastName": "Coldman",
        "assuranceLevel": "AL2",
        "reasons": [
          "AL2a"
        ]
    },
    "evaluation": {
        "authentication": {
            "result": "pass"
        },
        "risk": {
            "result": "pass"
        }
    }
}

In practice

  • success — Branch your UX and backend logic on pass vs fail.
  • identity — Use returned attributes where appropriate; read assuranceLevel and reasons for policy (allow, step-up, deny).
  • evaluation — Interpret authentication and risk under Global Fraud Policy; use failure codes when success is false.
  • IDs — Persist correlationId, proveId, and provePhoneAlias when present for support, auditing, or linking to other Prove flows.
If you passed optional identifiers on the request, the response may echo clientCustomerId and clientHumanId; see POST /v3/verify for details.
Best practices
  • Check the success field 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

Use Verified Users project credentials with Verified Users sandbox test users only. Attempting to use these test users with different project credentials results in an unauthorized access error.
The following test users are available for testing Verified Users using 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

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:
JSON
{
    "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"
        }
    }
}