List the computers I can reach
curl --request GET \
--url https://api.openworklabs.com/v1/remote-devices \
--header 'x-api-key: <api-key>'import requests
url = "https://api.openworklabs.com/v1/remote-devices"
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.openworklabs.com/v1/remote-devices', 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.openworklabs.com/v1/remote-devices",
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.openworklabs.com/v1/remote-devices"
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.openworklabs.com/v1/remote-devices")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/remote-devices")
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{
"devices": [
{
"id": "<string>",
"kind": "desktop",
"provider": "openwork_desktop",
"source": "desktop_app",
"platform": "darwin",
"label": "<string>",
"access": "mine",
"availability": "online",
"state": "ready",
"statusDetail": "<string>",
"lastSeenAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"appVersion": "<string>",
"computerId": "<string>",
"workbotChat": "<string>",
"canRename": true,
"canRemove": true,
"disconnectedAt": "2023-11-07T05:31:56Z",
"canDisconnect": false
}
]
}{
"error": "unauthorized"
}{
"error": "<string>",
"message": "<string>"
}Devices
List the computers I can reach
The caller’s own computers (Macs and PCs running OpenWork Desktop, Workbot’s cloud computers, virtual computers they registered) and the ones registered for the whole organization, online first. availability is worked out from the last report: a desktop is online for ten minutes after it was last heard from; Workbot’s computer is paused only after an observed pause; a stale ready report is unknown. Desktops not heard from for 30 days are left out. Names, versions and state only: never credentials or anything from the computer’s screen. Needs the Devices feature.
GET
/
v1
/
remote-devices
List the computers I can reach
curl --request GET \
--url https://api.openworklabs.com/v1/remote-devices \
--header 'x-api-key: <api-key>'import requests
url = "https://api.openworklabs.com/v1/remote-devices"
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.openworklabs.com/v1/remote-devices', 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.openworklabs.com/v1/remote-devices",
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.openworklabs.com/v1/remote-devices"
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.openworklabs.com/v1/remote-devices")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/remote-devices")
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{
"devices": [
{
"id": "<string>",
"kind": "desktop",
"provider": "openwork_desktop",
"source": "desktop_app",
"platform": "darwin",
"label": "<string>",
"access": "mine",
"availability": "online",
"state": "ready",
"statusDetail": "<string>",
"lastSeenAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"appVersion": "<string>",
"computerId": "<string>",
"workbotChat": "<string>",
"canRename": true,
"canRemove": true,
"disconnectedAt": "2023-11-07T05:31:56Z",
"canDisconnect": false
}
]
}{
"error": "unauthorized"
}{
"error": "<string>",
"message": "<string>"
}Was this page helpful?