Phone Status Check
curl --request POST \
--url https://api-umbrella.io/api/services/phone-service/phoneStatus \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"phoneNumber": "+486504142304"
}
'import requests
url = "https://api-umbrella.io/api/services/phone-service/phoneStatus"
payload = { "phoneNumber": "+486504142304" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({phoneNumber: '+486504142304'})
};
fetch('https://api-umbrella.io/api/services/phone-service/phoneStatus', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-umbrella.io/api/services/phone-service/phoneStatus",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'phoneNumber' => '+486504142304'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-umbrella.io/api/services/phone-service/phoneStatus"
payload := strings.NewReader("{\n \"phoneNumber\": \"+486504142304\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api-umbrella.io/api/services/phone-service/phoneStatus")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"phoneNumber\": \"+486504142304\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-umbrella.io/api/services/phone-service/phoneStatus")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phoneNumber\": \"+486504142304\"\n}"
response = http.request(request)
puts response.read_body{
"referenceId": "ABC123XYZ789",
"subResource": "live",
"status": {
"code": 300,
"description": "Transaction successfully completed",
"updatedOn": "2025-08-01T14:32:10Z"
},
"errors": [],
"phoneType": {
"code": "2",
"description": "MOBILE"
},
"blocklisting": {
"blocked": false,
"blockCode": 0,
"blockDescription": "Not blocked"
},
"numbering": {
"cleansing": {
"call": {
"countryCode": "49",
"phoneNumber": "15123456789",
"cleansedCode": 100,
"minLength": 7,
"maxLength": 13
},
"sms": {
"countryCode": "49",
"phoneNumber": "15123456789",
"cleansedCode": 100,
"minLength": 7,
"maxLength": 13
}
},
"original": {
"completePhoneNumber": "+4915123456789",
"countryCode": "49",
"phoneNumber": "15123456789"
}
},
"location": {
"city": "Berlin",
"state": "Berlin",
"zip": "10115",
"metroCode": null,
"county": "Berlin County",
"country": {
"name": "Germany",
"iso2": "DE",
"iso3": "DEU"
},
"coordinates": {
"latitude": "52.5200",
"longitude": "13.4050"
},
"timeZone": {
"name": "Europe/Berlin",
"utcOffsetMax": "+2",
"utcOffsetMin": "+1"
}
},
"carrier": {
"name": "Generic Mobile GmbH"
},
"live": {
"subscriberStatus": "ACTIVE",
"deviceStatus": "REACHABLE",
"roaming": "UNAVAILABLE",
"roamingCountry": null,
"roamingCountryIso2": null
}
}{
"message": "Invalid request payload"
}{
"message": "Unauthorized request"
}{
"message": "Forbidden"
}{
"message": "Internal Server Error"
}Phone Services
Phone Status Service
Phone Status Service API Documentation
POST
/
phone-service
/
phoneStatus
Phone Status Check
curl --request POST \
--url https://api-umbrella.io/api/services/phone-service/phoneStatus \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"phoneNumber": "+486504142304"
}
'import requests
url = "https://api-umbrella.io/api/services/phone-service/phoneStatus"
payload = { "phoneNumber": "+486504142304" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({phoneNumber: '+486504142304'})
};
fetch('https://api-umbrella.io/api/services/phone-service/phoneStatus', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-umbrella.io/api/services/phone-service/phoneStatus",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'phoneNumber' => '+486504142304'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-umbrella.io/api/services/phone-service/phoneStatus"
payload := strings.NewReader("{\n \"phoneNumber\": \"+486504142304\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api-umbrella.io/api/services/phone-service/phoneStatus")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"phoneNumber\": \"+486504142304\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-umbrella.io/api/services/phone-service/phoneStatus")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phoneNumber\": \"+486504142304\"\n}"
response = http.request(request)
puts response.read_body{
"referenceId": "ABC123XYZ789",
"subResource": "live",
"status": {
"code": 300,
"description": "Transaction successfully completed",
"updatedOn": "2025-08-01T14:32:10Z"
},
"errors": [],
"phoneType": {
"code": "2",
"description": "MOBILE"
},
"blocklisting": {
"blocked": false,
"blockCode": 0,
"blockDescription": "Not blocked"
},
"numbering": {
"cleansing": {
"call": {
"countryCode": "49",
"phoneNumber": "15123456789",
"cleansedCode": 100,
"minLength": 7,
"maxLength": 13
},
"sms": {
"countryCode": "49",
"phoneNumber": "15123456789",
"cleansedCode": 100,
"minLength": 7,
"maxLength": 13
}
},
"original": {
"completePhoneNumber": "+4915123456789",
"countryCode": "49",
"phoneNumber": "15123456789"
}
},
"location": {
"city": "Berlin",
"state": "Berlin",
"zip": "10115",
"metroCode": null,
"county": "Berlin County",
"country": {
"name": "Germany",
"iso2": "DE",
"iso3": "DEU"
},
"coordinates": {
"latitude": "52.5200",
"longitude": "13.4050"
},
"timeZone": {
"name": "Europe/Berlin",
"utcOffsetMax": "+2",
"utcOffsetMin": "+1"
}
},
"carrier": {
"name": "Generic Mobile GmbH"
},
"live": {
"subscriberStatus": "ACTIVE",
"deviceStatus": "REACHABLE",
"roaming": "UNAVAILABLE",
"roamingCountry": null,
"roamingCountryIso2": null
}
}{
"message": "Invalid request payload"
}{
"message": "Unauthorized request"
}{
"message": "Forbidden"
}{
"message": "Internal Server Error"
}For a usage description of the Phone Status Service, please refer to the Phone Status page.
Endpoint
POST/phone-service/phoneStatus
Swagger
Authorizations
Bearer token obtained from POST /auth. Valid for 60 minutes.
Body
application/json
The phone number to check, including country code (E.164).
Example:
"+486504142304"
Response
Successfully retrieved phone status.
Unique reference ID for the transaction.
Example:
"ABC123XYZ789"
Sub-resource type (e.g., 'live').
Example:
"live"
Show child attributes
Show child attributes
List of errors, if any.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I