Verification API Documentation

The API has been deprecated. Looking to build a one-time phone verification? Use our Number Verification API instead for a more flexible solution

Starting User Authentication

If your Service's User is starting the login process, you must initiate authentication on the Verigator side as well.>

Request URL

Request to register a service will be made to the following URL:>


Where {ServiceID} in the URL will be replaced with your ServiceID and {UserID} will be replaced with UserID of the user.

Request headers

HTTP header Description Required
Content-Type application/json Yes
Accept application/json Yes
X-Service-Auth Refer to authentication section on how to authenticate your API calls with Messente API username and password Yes

Request body (JSON encoded)

Key Description Required
method totp - Prefer TOTP verification with Verigator App. In case app is not set up for this user, Verigator will fallback to SMS automatically
sms - Start SMS-based authentication

Response body (JSON encoded)

Key Value
method totp - TOTP authentication method was used
sms - SMS-based authentication was initiated

HTTP Response Codes

STATUS code Value Description
201 Created User successfully created
401 Authentication required> Missing authentication headers (X-Service-Auth)
403 Forbidden Forbidden request
404 Not found User not found
409 Conflict Conflict
422 Invalid data Invlalid request body - check the format and if it was correctly JSON encoded


from messente.verigator.api import Api

# Initialize API
api = Api("messente-api-username", "messente-api-password")

# Create your service
service ="my-service-id")

# Initialize user
user = api.users.get(, "verigator-user-id")

# Start authentication
auth_id = api.auth.initiate(,, api.auth.METHOD_TOTP)
public static final String API_USERNAME = "";
public static final String API_PASSWORD = "";
public static final String VERIGATOR_SERVICE_ID = "";

// Initialize the Verigator API with your Messente API credentials
Verigator verigator = new Verigator(API_USERNAME, API_PASSWORD);

// After creating the service, for all future requests you get Service instance like this:
service = Service.get(verigator, VERIGATOR_SERVICE_ID);

// Now you can start syncing your service's users to Verigator
User user = service.registerUser("", "+3725555555");

// You can use SMS or TOTP (verification via Verigator app)
if (USE_SMS) {
} else {