curl --request POST \
--url https://api.cyberdesk.io/v1/machines \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fingerprint": "<string>",
"unkey_key_id": "<string>",
"name": "<string>",
"version": "<string>",
"hostname": "<string>",
"os_info": "<string>",
"machine_parameters": {},
"machine_sensitive_parameters": {}
}
'import requests
url = "https://api.cyberdesk.io/v1/machines"
payload = {
"fingerprint": "<string>",
"unkey_key_id": "<string>",
"name": "<string>",
"version": "<string>",
"hostname": "<string>",
"os_info": "<string>",
"machine_parameters": {},
"machine_sensitive_parameters": {}
}
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({
fingerprint: '<string>',
unkey_key_id: '<string>',
name: '<string>',
version: '<string>',
hostname: '<string>',
os_info: '<string>',
machine_parameters: {},
machine_sensitive_parameters: {}
})
};
fetch('https://api.cyberdesk.io/v1/machines', 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.cyberdesk.io/v1/machines",
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([
'fingerprint' => '<string>',
'unkey_key_id' => '<string>',
'name' => '<string>',
'version' => '<string>',
'hostname' => '<string>',
'os_info' => '<string>',
'machine_parameters' => [
],
'machine_sensitive_parameters' => [
]
]),
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.cyberdesk.io/v1/machines"
payload := strings.NewReader("{\n \"fingerprint\": \"<string>\",\n \"unkey_key_id\": \"<string>\",\n \"name\": \"<string>\",\n \"version\": \"<string>\",\n \"hostname\": \"<string>\",\n \"os_info\": \"<string>\",\n \"machine_parameters\": {},\n \"machine_sensitive_parameters\": {}\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.cyberdesk.io/v1/machines")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fingerprint\": \"<string>\",\n \"unkey_key_id\": \"<string>\",\n \"name\": \"<string>\",\n \"version\": \"<string>\",\n \"hostname\": \"<string>\",\n \"os_info\": \"<string>\",\n \"machine_parameters\": {},\n \"machine_sensitive_parameters\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cyberdesk.io/v1/machines")
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 \"fingerprint\": \"<string>\",\n \"unkey_key_id\": \"<string>\",\n \"name\": \"<string>\",\n \"version\": \"<string>\",\n \"hostname\": \"<string>\",\n \"os_info\": \"<string>\",\n \"machine_parameters\": {},\n \"machine_sensitive_parameters\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"unkey_key_id": "<string>",
"status": "connected",
"is_available": true,
"alerts_enabled": true,
"created_at": "2023-11-07T05:31:56Z",
"last_seen": "2023-11-07T05:31:56Z",
"name": "<string>",
"version": "<string>",
"hostname": "<string>",
"os_info": "<string>",
"machine_parameters": {},
"machine_sensitive_parameters": {},
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "<string>",
"reserved_session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"linked_keepalive_machine_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"physical_server_id": "<string>",
"pools": [
{
"name": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"pool_parameters": {},
"pool_sensitive_parameters": {},
"machine_count": 0
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Create Machine
Create a new machine.
The machine will be associated with the authenticated organization.
curl --request POST \
--url https://api.cyberdesk.io/v1/machines \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fingerprint": "<string>",
"unkey_key_id": "<string>",
"name": "<string>",
"version": "<string>",
"hostname": "<string>",
"os_info": "<string>",
"machine_parameters": {},
"machine_sensitive_parameters": {}
}
'import requests
url = "https://api.cyberdesk.io/v1/machines"
payload = {
"fingerprint": "<string>",
"unkey_key_id": "<string>",
"name": "<string>",
"version": "<string>",
"hostname": "<string>",
"os_info": "<string>",
"machine_parameters": {},
"machine_sensitive_parameters": {}
}
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({
fingerprint: '<string>',
unkey_key_id: '<string>',
name: '<string>',
version: '<string>',
hostname: '<string>',
os_info: '<string>',
machine_parameters: {},
machine_sensitive_parameters: {}
})
};
fetch('https://api.cyberdesk.io/v1/machines', 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.cyberdesk.io/v1/machines",
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([
'fingerprint' => '<string>',
'unkey_key_id' => '<string>',
'name' => '<string>',
'version' => '<string>',
'hostname' => '<string>',
'os_info' => '<string>',
'machine_parameters' => [
],
'machine_sensitive_parameters' => [
]
]),
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.cyberdesk.io/v1/machines"
payload := strings.NewReader("{\n \"fingerprint\": \"<string>\",\n \"unkey_key_id\": \"<string>\",\n \"name\": \"<string>\",\n \"version\": \"<string>\",\n \"hostname\": \"<string>\",\n \"os_info\": \"<string>\",\n \"machine_parameters\": {},\n \"machine_sensitive_parameters\": {}\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.cyberdesk.io/v1/machines")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fingerprint\": \"<string>\",\n \"unkey_key_id\": \"<string>\",\n \"name\": \"<string>\",\n \"version\": \"<string>\",\n \"hostname\": \"<string>\",\n \"os_info\": \"<string>\",\n \"machine_parameters\": {},\n \"machine_sensitive_parameters\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cyberdesk.io/v1/machines")
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 \"fingerprint\": \"<string>\",\n \"unkey_key_id\": \"<string>\",\n \"name\": \"<string>\",\n \"version\": \"<string>\",\n \"hostname\": \"<string>\",\n \"os_info\": \"<string>\",\n \"machine_parameters\": {},\n \"machine_sensitive_parameters\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"unkey_key_id": "<string>",
"status": "connected",
"is_available": true,
"alerts_enabled": true,
"created_at": "2023-11-07T05:31:56Z",
"last_seen": "2023-11-07T05:31:56Z",
"name": "<string>",
"version": "<string>",
"hostname": "<string>",
"os_info": "<string>",
"machine_parameters": {},
"machine_sensitive_parameters": {},
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "<string>",
"reserved_session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"linked_keepalive_machine_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"physical_server_id": "<string>",
"pools": [
{
"name": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organization_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"pool_parameters": {},
"pool_sensitive_parameters": {},
"machine_count": 0
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Unique key for idempotent requests. If provided, the server ensures the request is processed at most once. Retries with the same key return the original response. SDKs auto-generate this for write requests.
"550e8400-e29b-41d4-a716-446655440000"
Body
Schema for creating a machine
1 - 361 - 25525550255Machine-specific input values that auto-populate runs
Machine-specific sensitive input aliases (stored in Basis Theory)
Show child attributes
Show child attributes
Response
Successful Response
Machine response schema
connected, disconnected, error 25550255Machine-specific input values that auto-populate runs
Machine-specific sensitive input aliases (stored in Basis Theory)
Show child attributes
Show child attributes
Fly machine ID hosting the WebSocket connection
Show child attributes
Show child attributes
Was this page helpful?