Skip to main content
GET
/
api
/
v1
/
emnify
/
connectivity
/
{imei}
Get SIM connectivity info by GPS IMEI
curl --request GET \
  --url https://api.raul.ugps.io/api/v1/emnify/connectivity/{imei} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.raul.ugps.io/api/v1/emnify/connectivity/{imei}"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.raul.ugps.io/api/v1/emnify/connectivity/{imei}', 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.raul.ugps.io/api/v1/emnify/connectivity/{imei}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.raul.ugps.io/api/v1/emnify/connectivity/{imei}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.raul.ugps.io/api/v1/emnify/connectivity/{imei}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.raul.ugps.io/api/v1/emnify/connectivity/{imei}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "imei": "866425031234567",
  "phone_number": "4201234567",
  "endpoint_id": 123456,
  "network_type": "LTE",
  "operator": "Movistar Chile",
  "last_connection": "2026-02-11T12:34:56.000Z",
  "connection_status": "ONLINE",
  "country": "Chile",
  "status": "live",
  "pdp_context": {
    "duration": "435:49:48",
    "created": "2026-02-20 08:56:26",
    "ue_ip_address": "10.56.250.213",
    "ci": "5974278",
    "breakout_ip": "185.57.217.126"
  }
}
{
"error": "<string>",
"message": "<string>",
"details": "<string>"
}
{
"error": "<string>",
"message": "<string>",
"details": "<string>"
}

Authorizations

Authorization
string
header
required

Bearer token authentication

Path Parameters

imei
string
required

GPS device IMEI (15 digits)

Example:

"866425031234567"

Response

Connectivity data retrieved successfully

imei
string
required

GPS device IMEI

Example:

"866425031234567"

phone_number
object | null
required

SIM phone number

Example:

"4201234567"

endpoint_id
object | null
required

Emnify endpoint ID

Example:

123456

network_type
object | null
required

Network type (e.g., 2G, 3G, LTE, 5G)

Example:

"LTE"

operator
object | null
required

Mobile operator name

Example:

"Movistar Chile"

last_connection
object | null
required

Last connection timestamp (ISO 8601)

Example:

"2026-02-11T12:34:56.000Z"

connection_status
enum<string> | null
required

Device connection status from Emnify: ONLINE, OFFLINE, ATTACHED

Available options:
ONLINE,
OFFLINE,
ATTACHED
Example:

"ONLINE"

country
object | null
required

Country name where the device is currently connected

Example:

"Chile"

status
enum<string>
required

Data source status: live (fresh from API), cached (from DB), no_sim, no_endpoint, error

Available options:
live,
cached,
no_sim,
no_endpoint,
error
Example:

"live"

pdp_context
object | null

Active PDP context (session) details. Null when device is offline.