curl --request GET \
--url https://api.orbital-systems.com/client/taps/{id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.orbital-systems.com/client/taps/{id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.orbital-systems.com/client/taps/{id}', 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.orbital-systems.com/client/taps/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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.orbital-systems.com/client/taps/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.orbital-systems.com/client/taps/{id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbital-systems.com/client/taps/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "e3d2c1b0-a9f8-4e7d-9c6b-5a4f3e2d1c0b",
"name": "Kitchen sink",
"owner": "6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b",
"device_group": "6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b",
"state": "active",
"last_connected": "2026-11-02T06:40:12.000Z",
"last_disconnected": "2026-11-01T23:10:05.000Z",
"build_id": "tap-1.2.1",
"wifi_ssid": "HomeNetwork",
"type": "tap",
"created_at": "2026-03-14T09:12:44.000Z",
"updated_at": "2026-10-28T17:03:10.000Z",
"role": "owner"
}{
"message": "Unauthorized",
"statusCode": 401,
"name": "UnauthorizedError"
}{
"message": "Tap not found",
"statusCode": 404,
"name": "NotFoundError"
}{
"message": "Internal server error"
}Get tap
curl --request GET \
--url https://api.orbital-systems.com/client/taps/{id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.orbital-systems.com/client/taps/{id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.orbital-systems.com/client/taps/{id}', 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.orbital-systems.com/client/taps/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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.orbital-systems.com/client/taps/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.orbital-systems.com/client/taps/{id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbital-systems.com/client/taps/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "e3d2c1b0-a9f8-4e7d-9c6b-5a4f3e2d1c0b",
"name": "Kitchen sink",
"owner": "6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b",
"device_group": "6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b",
"state": "active",
"last_connected": "2026-11-02T06:40:12.000Z",
"last_disconnected": "2026-11-01T23:10:05.000Z",
"build_id": "tap-1.2.1",
"wifi_ssid": "HomeNetwork",
"type": "tap",
"created_at": "2026-03-14T09:12:44.000Z",
"updated_at": "2026-10-28T17:03:10.000Z",
"role": "owner"
}{
"message": "Unauthorized",
"statusCode": 401,
"name": "UnauthorizedError"
}{
"message": "Tap not found",
"statusCode": 404,
"name": "NotFoundError"
}{
"message": "Internal server error"
}Authorizations
Send your API key in the x-api-key header of every request. The key belongs to one Orbital account, and requests act as that account: they see and control only the devices it owns or has been given access to. A missing or unknown key gets 403 with { "message": "Forbidden" }.
Path Parameters
The unique identifier for the tap
Response
Success
Unique ID of the device (UUID).
"e3d2c1b0-a9f8-4e7d-9c6b-5a4f3e2d1c0b"
Display name of the device.
"Kitchen sink"
User ID of the owner. null when the device isn’t paired.
"6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b"
ID of the group the device belongs to. Pairing sets it to your user ID.
"6f1c2e0a-3d4b-4e8f-9a7c-2b5d1e3f4a6b"
Lifecycle state. A device is pending until it is first paired, then active. Lists only include pending and active devices.
pending, active, archived, service, replaced "active"
When the device last connected (ISO 8601).
"2026-11-02T06:40:12.000Z"
When the device last disconnected (ISO 8601). The device is offline when this is later than last_connected.
"2026-11-01T23:10:05.000Z"
Firmware build running on the tap.
"tap-1.2.1"
Name of the Wi-Fi network the tap is on.
"HomeNetwork"
Always tap.
tap "tap"
When the record was created (ISO 8601).
"2026-03-14T09:12:44.000Z"
When the record was last changed (ISO 8601).
"2026-10-28T17:03:10.000Z"
Your access to the device: owner (you paired it) or, for a device shared with you, user or maintenance. maintenance can read the device but not change it, control it or see its sessions. Only included by GET /client/taps and GET /client/taps/{id}.
owner, maintenance, user "owner"
Was this page helpful?