Provero Logo

TPS/CTPS screening API

The TPS/CTPS screening API checks whether a UK phone number, mobile or landline, is listed with either the official TPS or Corporate TPS (CTPS) registers. The result reports preference-register status; it does not establish comprehensive permission to contact someone.

Endpoint

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

Headers

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


Request Body

Field Type Required Description
phone string Yes UK phone number (mobile or landline) to check in national format (for example, 01234567890) or international format with or without a leading + (for example, +441234567890 or 441234567890).
Request Payload Example (JSON)
{
    "phone": "+441234567890"
}

Request Examples

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

curl -X POST https://api.provero.io/api/validate/phone-tps \
  -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 - Not On TPS or CTPS 8 examples
{
    "phone": "tel:+44-1234-567890",
    "onTps": false,
    "tpsRegisteredDate": "",
    "onCtps": false,
    "ctpsRegisteredDate": "",
    "prettierPhoneNumber": "01234 567890"
}

Response Body

Success structure

Field Name Type Always
Returned
Example
phone string Yes
onTps boolean Yes
tpsRegisteredDate string Yes
onCtps boolean Yes
ctpsRegisteredDate string Yes
prettierPhoneNumber string Yes
tpsExpiry string No

Error structure

Field Name Type Always
Returned
Example Description
message string No Top-level error message for validation issues, insufficient balance, or other request errors
errors object No Details of validation field errors
requestError object No Object returned for application-level service 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. The amount can vary by pricing bracket or custom pricing.
current_balance string No Current available balance at the time the request was rejected