Computers
Delete computer
Permanently delete a computer.
DELETE
/
computers
/
{id}
Delete computer
curl --request DELETE \
--url https://www.orgo.ai/api/computers/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.orgo.ai/api/computers/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.orgo.ai/api/computers/{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://www.orgo.ai/api/computers/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
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://www.orgo.ai/api/computers/{id}"
req, _ := http.NewRequest("DELETE", 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.delete("https://www.orgo.ai/api/computers/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.orgo.ai/api/computers/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true
}
Permanently deletes a computer and all its data.
Unless one of the
This cannot be undone. The disk and everything on it is lost.
409 refusals listed in Errors applies, the record is always removed, even when the computer has no live host. An already-terminated computer, an unreachable host, and a creating record that never finished provisioning all delete cleanly. Tearing down the computer on its host is best-effort and never blocks the delete.
Path parameters
string
required
Computer UUID or
instance_id. Both resolve to the same computer.Response
boolean
true when the computer was deleted.Example
curl -X DELETE https://www.orgo.ai/api/computers/$COMPUTER_ID \
-H "Authorization: Bearer $ORGO_API_KEY"
import requests
response = requests.delete(
f"https://www.orgo.ai/api/computers/{computer_id}",
headers={"Authorization": f"Bearer {api_key}"}
)
if response.json().get("success"):
print("Computer deleted")
const response = await fetch(`https://www.orgo.ai/api/computers/${computerId}`, {
method: 'DELETE',
headers: { 'Authorization': `Bearer ${apiKey}` }
});
const { success } = await response.json();
if (success) console.log('Computer deleted');
Response
{
"success": true
}
Errors
| Status | Body | When |
|---|---|---|
401 | { "error": "Invalid API key" } | The Bearer token starts with sk_ but is not a known Orgo key. |
401 | { "error": "Authentication required" } | No Authorization header, or a Bearer token that is not an sk_ key. |
403 | { "error": "You do not have access to this workspace." } | You are neither the owner nor a member of the computer’s workspace. |
403 | { "error": "This workspace is view-only. Ask the owner for write access (workspace_read_only)." } | You are a view-only member. |
403 | { "error": "This API key cannot access this workspace (workspace_scope_mismatch)." } | The API key is scoped to a different workspace. |
404 | { "error": "Desktop not found" } | No computer matches the id. |
409 | { "error": "This computer is being moved to another host. Try again in a few minutes.", "code": "migrating" } | The computer is being migrated between hosts. Retry after the move. |
409 | { "error": "pool_mac_release_required", "message": "…" } | The computer is a Mac managed by Orgo. Ask support to release it. |
409 | { "error": "runpod_managed", "message": "…" } | The computer runs on a dedicated machine Orgo manages directly. Contact support to remove it. |
409 | { "error": "openclaw_enrollment_cleanup_required", "detail": "…" } | OpenClaw monitoring is still enrolled on the computer. Disable and revoke the enrollment first. |
409 | { "error": "teardown_in_flight", "detail": "…" } | Another operation is already working on the computer. The error can also be teardown_membership_changed, teardown_reconciliation_required, or teardown_unavailable; detail says what to do. |
500 | { "error": "Failed to delete computer" } | The record could not be removed. |
503 | { "error": "Service temporarily unavailable. The database is not accepting requests. Retry shortly." } | The credential store is unavailable. Carries Retry-After: 5. |
⌘I
Delete computer
curl --request DELETE \
--url https://www.orgo.ai/api/computers/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.orgo.ai/api/computers/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.orgo.ai/api/computers/{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://www.orgo.ai/api/computers/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
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://www.orgo.ai/api/computers/{id}"
req, _ := http.NewRequest("DELETE", 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.delete("https://www.orgo.ai/api/computers/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.orgo.ai/api/computers/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true
}