Verify API - Status codes

📘

NOTE:

To add this product to your account, contact a Telesign expert. This product is available for full-service accounts only. Contact our sales team for availability of supported verification methods in your region.

Verification API

Response status codes for POST requests.

ParameterHTTP Statusstatus.codestatus.descriptionDescription
phone_number4003101Invalid value for parameter phone_numberPhone number is too long, too short, or contains non-digit values
external_id4003103Unsupported value for parameter external_idParameter external_id is longer than 100 or contains non-ASCII characters.
email4003119Invalid value for parameter emailEmail is not valid.
phone_number4003302Missing parameter phone_numberReturned if phone based methods are specified in policy but recipient does not contain phone_number
email4003309Missing parameter emailReturned if email is specified in policy but recipient does not contain email

Other validations for POST requests

HTTP statusstatus.codestatus.descriptionAdditional details
2003001Message in progressThe message is being sent to selected channel, final status to be returned later, when available, via callback. (Intermediate)
4003110Invalid requestAPI request / JSON improperly formatted.
4003116Payload limit size exceededAllowed payload size is limited to 10KB. If payload size exceeded, HTTP 413 will be returned, without validation on API.
4013906Unified Verification Product not enabled for Customer IDThe Verify API is not enabled in your account.
4013400Not authorizedNo permissions for this resource or authorization failed.
4293204Rate limit exceededAllowed number of requests per second has been exceeded.
5033500System UnavailableSystem is unavailable, the request should be resubmitted.
5033041Carrier rejected - temporary problemTry request again.
3072Message blocked due to high risk scoreIntelligence Score higher than set threshold. Telesign blocked the transaction.

Verification mobile backend API

📘

NOTE:

If you need assistance with a code not listed in this table, please contact our Customer Support Team.


HTTP statusstatus.codestatus.descriptionAdditional details
4003110Invalid requestAPI request / JSON improperly formatted.
4003116Payload limit size exceededAllowed payload size is limited to 10KB. if payload size exceeded, HTTP 413 will be returned, without validation on API.
4013906Unified Verification Product not enabled for Customer IDThe Verify API product is not enabled for your account.
4013400Not authorizedNo permissions for this resource or authorization failed.
4293204Rate limit exceededAllowed number of requests per second on API has been exceed.
5033500System UnavailableSystem is unavailable, the request should be resubmitted.

Verification processing errors

HTTP statusstatus.codestatus.descriptionAdditional details
2003900VerifiedAny of the inner methods has successfully completed verification of end user
2003901Request in progressThe verification request was delivered to the gateway. If the gateway responds with further information (including successful delivery to handset or delivery failure), the status is updated. Verification is in ONGOING state
4003903Invalid reference_id
4003904Verification FailedInner method failed (mismatch). Verification is in FAILED state
4003905Method FailedNext method in fallback order should be called as the previous one has failed. Verification is in ONGOING state
4013906Unified Verify Product not enabled for Customer IDProduct is not enabled in your account.
4003907No verification method enabled for Customer IDNone of the verification methods is enabled in your account. This is also returned when Countries is enabled for the Silent Verify feature but you are trying to verify a number which does not belong to the set of selected countries.
4003908Verification time expiredTime has expired for all chosen methods. Verification is in FAILED state.
4003909Invalid code enteredInvalid code entered. Verification is in ONGOING state. End user can try again.
4003911One or more verification methods not enabled
4003912Invalid verification policyIs returned in case of improper formatting or ordering of verification policy through manual mode or in case SRE is enabled and returns an empty verification_policy parameter
4003913Invalid or missing recipientIf recipient is missing phone number and email or if the format is invalid.
4003922Missing parameter action
4003923Missing parameter method
4003924Invalid value for parameter method
4003925Invalid value for parameter action
3927Too many START events without FINALIZECustomer is not using FINALIZE for Verify API
4003931Invalid workflow requestUpon calling start - if the verification object isn't 'created' or 'ongoing' or method in 'created' state Upon calling finalize - if the verification object isn't 'ongoing' or method in 'ongoing' state
4003932Wrong verification method calledReturned if a method is not in policy. If another method is ongoing its state will be set to failed (method status will be 3905)
4003933Method expired
4003934Method skipped
4003935Code validity expiredThe set code validity period has expired and code is no longer valid
4003936Invalid security_factorString is over 10 characters
4003941Missing parameter X-TS-sdk-version
4003942Invalid or missing parameter push_app_token
4003943Invalid value for parameter push_registration
4003944Invalid, missing or mismatched supported_algorithm
4003945Invalid or missing parameter app_id
4003946Invalid or missing parameter public _key
4003947Timestamp expired, please register push device again
4003948public_key error
4003949User rejected verification
4003950Stamp error
4003951Envelope error
4003952Challenge error

Verify API - Silent Verify status codes

ParameterHTTP statusCodeDescriptionEndpointVerify API mapping
create_success_response2004501Successinitiate, finalize3901
successfully_verified2004501Successfully verifiedinitiate, finalize3900
phone_number_not_verified2004502The phone number does not matchfinalize3904

Verify API - Silent Verify error codes

ParameterHTTP statusCodeDescriptionEndpointsVerify API mapping
invalid_reference_id40010001Invalid value for parameter reference_idinitiate, finalizeReturns 3905 if another method is available in the fallback order; otherwise returns 3904.
not_in_coverage40040010Not in coverageinitiateReturns 3905 if another method is available in the fallback order; otherwise returns 3904.
not_authorized40140002Not authorizedfinalizeReturns 3400.
not_found404Invalid value for parameter reference_idReturns 3905 if another method is available in the fallback order; otherwise returns 3904.
rate_limit_exceeded42910019Rate Limit Exceededinitiate, finalizeReturns 3204.
internal_server_error50310039Internal server error - An unexpected failure happened most likely in a dependent AWS managed serviceinitiate, finalizeReturns 3905 if another method is available in the fallback order; otherwise returns 3500.
system_unavailable50310000System unavailable, please try again laterinitiate, finalizeReturns 3905 if another method is available in the fallback order; otherwise returns 3500.
gateway_error_temporary5034505Error on gateway - temporary errorinitiate, finalizeReturns 3905 if another method is available in the fallback order; otherwise returns 3500.
gateway_error_permanent5034506Error on gateway - permanent errorinitiate, finalizeReturns 3905 if another method is available in the fallback order; otherwise returns 3500.

Push Verify - gRPC response mapping

ParametergRPC StatusResponse status_codeResponse status_descriptionVerify API mapping
No errors - PV accepted request00""3901
Invalid Input01"Invalid input: Missing required parameter parent_reference_id"
"Invalid input: Missing required parameter customer_id"
"Invalid input: Missing required parameter push_app_token"
3045
Internal Error02"Issue processing request due to RabbitMQ."3500

Push Verify - Status update mapping

Push Verify pushes message to Verify API queue to update the Push Verify status.

Possible Response from Firebase - https://firebase.google.com/docs/cloud-messaging/http-server-ref

StatusStatus codeDetailsVerify API mapping
MessageProcessed53200Firebase accepted message and sent to device.3901
MissingRegistration53201Missing push_app_token.3942
InvalidRegistration53202Invalid push_app_token.3942
NotRegistered53203push_app_token may be expired or the client app may have been unregistered from Firebase Cloud Messaging. This token should no longer be used.3942
InvalidPackageName53204This error should not occur, as Push Verify does not specify a package name. However, it indicates that the push_app_token does not match the expected app package.3942
MismatchSenderId53205The push_app_token is associated with a group of senders. If your account credentials are not part of that sender group, this error will occur3400
MessageTooBig53206The payload of template parameters is too large. Up to 4096 bytes (including both key and value) are allowed. This limit also includes the mobile_app_token being passed through.3116
InvalidDataKey53207The template parameters include a key reserved by Firebase, such as from or gcm, which cannot be used.3904
InvalidTtl53208This error should not occur, as Push Verify does not pass a TTL to Firebase. However, if it does, the TTL must be between 0 and 2,419,200 seconds (4 weeks).3904
DeviceMessageRateExceeded53209Too many messages have been sent to the device in a short period. Push Verify has automatically retried sending the message.3204
InvalidJson53400Push Verify formatted JSON incorrectly for Firebase to consume.3904
AuthenticationError53401Your account credentials may be invalid, preventing authorization to send push messages through Firebase.3400
InvalidParameters53402The payload was incorrectly formatted or contained invalid values, preventing Firebase from processing the request.3904
FCMError53500Firebase returned a 500 status code due to an internal error. Push Verify automatically retried sending the message.3041
Timeout53501Firebase was unable to process the request within the expected time window. Push Verify automatically retried sending the message.3041
Unavailable53502Firebase returned an 'Unavailable' error, which should be treated the same as a timeout. Push Verify automatically retried sending the message.3041
InternalServerError53503Firebase encountered an internal error and returned a structured error response instead of an HTTP 500. Push Verify automatically retried sending the message.3041
Unknown53600Firebase returned an unrecognized error. Push Verify was unable to classify or process the response.3041
MissingFirebaseCredential53420Your account is missing the Firebase credentials required to send push messages through Push Verify.3041
InternalServerError53520Push Verify encountered a persistent error after five retry attempts. The message could not be delivered.3500

Verify API – Voice status mapping

Status CodeStatus NameDescription
0Call has been placed on media serverDelivered.
3Invalid inputOne or more required fields are missing or improperly formatted.
13Internal server errorSomething unexpected happened.
129Call blocked by customer requestCall is blocked by subscriber action or request.
130Call blocked by TelesignCall is blocked by Telesign.
1002Number on country blocklistLine is busy.
1003Generic error delivering voice callCall failed to deliver to end user.
1004Exhausted gateway hostsCall is cancelled by end user.