Provero Logo

HLR phone verification API

HLR phone verification returns a simple HLR summary by default: whether the number is live, dead, out of network, or rejected because it is not a mobile number, plus the current and original network when available. Set detailed=true when you want the full HLR response instead.
  • HLR: Database checks that validate if a number is active and identify its operator.
  • MNP: Process to determine if a number has been ported and confirm the current carrier.
  • Delivery: Mechanism for routing messages or calls to the correct destination and confirming their status.

Endpoint

POST
https://api.provero.io/api/validate/phone

Headers

Authorization:
Content-Type: application/json
Accept: application/json


Request Body

Field Type Required Description
phone string Yes The phone number to be validated. Send the number with its country code; the leading + is optional, for example +447700900123 or 447700900123.
msisdn boolean No When set to true (default), the MSISDN must be a valid E.164 number.
When set to false, non-canonical MSISDN formats may be accepted for routing determination only, including numbers containing a duplicated country code.
route string No Accepted values:
  • detailed: Runs the detailed HLR route.
  • standard (default): Runs the standard HLR route.
detailed boolean No Optional flag to return the full HLR payload. Omit it, or send false, to receive the default easy summary response.
Request Payload Example (JSON)
{
    "phone": "+447777777777",
    "msisdn": true,
    "route": "standard",
    "detailed": "true"
}

Request Examples

Choose language Bash (cURL) 5 examples
userPhone="REPLACE_WITH_PHONE"

curl -X POST https://api.provero.io/api/validate/phone \
  -H "Authorization: Bearer REPLACE_WITH_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d "{\"phone\": \"$userPhone\"}"

Response Examples

Choose response example Success 11 examples
{
    "results": [
        {
            "to": "+1234567890",
            "status": "Live",
            "live": true,
            "dead": false,
            "outOfNetwork": false,
            "currentNetwork": "Example",
            "originalNetwork": "Example"
        }
    ]
}

Response Body

Success structure

Field Name Type Always
Returned
Example
to string Yes
mccMnc string Yes
imsi string Yes
originalNetwork.networkName string Yes
originalNetwork.networkPrefix string Yes
originalNetwork.countryName string Yes
originalNetwork.countryPrefix string Yes
originalNetwork.networkId string Yes
ported boolean Yes
portedNetwork.networkName string No
portedNetwork.networkPrefix string No
portedNetwork.countryName string No
portedNetwork.countryPrefix string No
portedNetwork.networkId string No
status.groupId integer Yes
status.groupName string Yes
status.id integer Yes
status.name string Yes
status.description string Yes
error.groupId integer Yes
error.groupName string Yes
error.id integer Yes
error.name string Yes
error.description string Yes
error.permanent boolean Yes

Error structure

Field Name Type Always
Returned
Example Description
message string No Top-level error message returned on validation failure, insufficient balance, or other request errors.
errors object No Object of validation services with validation failures.
requestError object No Object containing service exceptions for application errors.
service string No Service alias returned with a 402 insufficient-balance response.
required_amount string No Credit amount required to process the validation request.
current_balance string No Current available balance at the time the request was rejected.

Service Specific Error Codes

ID Error Group ID Group Name Always Returned Description
0 NO_ERROR 0 Ok No Valid Query
1 EC_UNKNOWN_SUBSCRIBER 1 Handset errors Yes The phone number provided is not linked to a known user profile.
5 NUMBER_MISSING_FROM_NETWORK_REGISTRY 1 Handset errors No This number is missing from our extended network datasets.
5 UK_NUMBER_TRANSFER_RECORD_NOT_LOCATED 1 Handset errors Yes No transfer or porting history was found for this UK number.
5 NUMBER_UNLISTED_IN_CURRENT_DATABASE 1 Handset errors No We could not locate this number in our records. Please verify and retry.
5 EC_UNIDENTIFIED_SUBSCRIBER 1 Handset errors No The subscriber details are not recognized within our systems.
6 EC_ABSENT_SUBSCRIBER_SM 1 Handset errors No The device was unreachable. User is not currently available on this network.
32 EC_SM_DELIVERY_FAILURE 1 Handset errors No An error occurred while attempting to deliver the message.
34 EC_SYSTEM_FAILURE 1 Handset errors No An internal error was encountered while processing.
255 REJECTED_NETWORK 1 Handset errors Yes The number is outside the valid network range or is currently unassigned.
255 GENERAL_ROUTING_FAULT 1 Handset errors No A routing problem occurred while directing the request to its destination.
256 TARGET_CARRIER_OVERLOAD_DETECTED 1 Handset errors No Carrier is currently handling too many requests. Please try again soon.
500 TARGET_CARRIER_CONNECTIVITY_FAULT 1 Handset errors No A connectivity problem occurred with the carrier.
500 EC_PROVIDER_GENERAL_ERROR 1 Handset errors No A system or equipment issue prevented successful completion of this request.
502 EC_NO_RESPONSE 1 Handset errors No No response received from the destination network in the expected time.
502 EXTERNAL_LOOKUP_FAILED_NETWORK_REPLY_LOGGED 1 Handset errors No Lookup failed on an external system. A reply was logged.
502 TARGET_CARRIER_MOMENTARILY_INACCESSIBLE 1 Handset errors No The carrier’s network is not reachable at the moment. Please try again later.
502 EXTERNAL_GATEWAY_RESPONSE_ISSUE 1 Handset errors No An external network gateway provided an unexpected response.
1 EC_UNKNOWN_SUBSCRIBER 2 User errors Yes Unknown Subscriber
5 REGISTERED_NAME_DISCREPANCY_DETECTED 2 User errors Yes Name submitted does not match our records.
6 EC_ABSENT_SUBSCRIBER_SM 2 User errors No Phone Switched Off.
9 VALIDATION_TOKEN_MISSING 2 User errors Yes Validation token expired. Please request a new one.
9 UNDELIVERABLE_NOT_DELIVERED 2 Undeliverable Yes Wrong number length or format.
9 EC_SYSTEM_FAILURE 2 User errors No Subscriber Error (Temporary).
9 EC_SYSTEM_FAILURE 2 User errors No Subscriber Error.
9 EC_ILLEGAL_SUBSCRIBER 2 User errors Yes Subscriber is blocked or restricted from receiving messages.
9 VALIDATION_TOKEN_MISSING 2 User errors Yes Missing validation token in request.
9 VALIDATION_TOKEN_TIMEOUT 2 User errors No Validation token does not match this service.
9 VALIDATION_TOKEN_SERVICE_MISMATCH 2 User errors Yes Name does not align with records for this number.
9 EC_SYSTEM_FAILURE 2 User errors No Live Status Unavailable.
31 EC_SUBSCRIBER_BUSY_FOR_MT_SMS 2 User errors No Subscriber is currently busy and cannot receive messages.
31 REGION_PREFIX_UNRECOGNIZED 2 User errors Yes The region or country code is unrecognized. Check the number format.
323 VERIFICATION_PATHWAY_UNDEFINED 2 User errors Yes The request could not be completed due to missing or misconfigured service route.
507 REGISTERED_NAME_DISCREPANCY_DETECTED 2 User errors Yes Name does not exist. Review entered details.
5 DELIVERED_TO_HANDSET 3 DELIVERED No The message has reached the recipient’s device successfully.
15 NO_NETWORK_RESPONSE 4 Expired No No network response was received during validation.
8 EC_ROAMING_NOT_ALLOWED 5 Rejected No Roaming not permitted for this number or country.
9 ACCOUNT_CREDENTIALS_INSUFFICIENT 5 Rejected Yes This account does not have permission to access this feature.
11 EC_TELESERVICE_NOT_PROVISIONED 5 Rejected No Telephone service not active for this number.
11 EC_TELESERVICE_NOT_PROVISIONED 5 Rejected Yes Teleservice Not Provisioned.
13 EC_CALL_BARRED 5 Rejected No Call Barred.
21 EC_FACILITY_NOT_SUPPORTED 5 Rejected No Requested service is not supported.
21 EC_FACILITY_NOT_SUPPORTED 5 Rejected No The requested facility is not supported.
32 TRAFFIC_QUOTA_EXCEEDED 5 Rejected No Rate limit exceeded. Please try again later.
323 INTERNATIONAL_ROUTE_NOT_SUPPORTED 5 Rejected Yes International validation not supported for this country.