curl --request GET \
--url https://api.rigbox.dev/api/v1/workspaces/{id}/tools/{tool}/status \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rigbox.dev/api/v1/workspaces/{id}/tools/{tool}/status"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rigbox.dev/api/v1/workspaces/{id}/tools/{tool}/status', 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.rigbox.dev/api/v1/workspaces/{id}/tools/{tool}/status",
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.rigbox.dev/api/v1/workspaces/{id}/tools/{tool}/status"
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.rigbox.dev/api/v1/workspaces/{id}/tools/{tool}/status")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rigbox.dev/api/v1/workspaces/{id}/tools/{tool}/status")
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{
"category": "<string>",
"description": "<string>",
"discovery": {
"filenames": [
"<string>"
],
"max_depth": 1,
"max_projects": 1,
"type": "FilePresence",
"exclude_paths": [
"<string>"
]
},
"icon": "<string>",
"id": "<string>",
"name": "<string>",
"port": 1,
"subdomain_suffix": "<string>",
"available": true,
"project_roots_truncated": true,
"running": true,
"install_hint": "<string>",
"tags": [
"<string>"
],
"needs_install": true,
"project_roots": [
"<string>"
],
"started_at_ms": 1,
"status_sys": "<string>",
"unavailable_reason": "<string>",
"url": "<string>"
}Get Tool Status
Get the current status of a specific tool in a workspace.
curl --request GET \
--url https://api.rigbox.dev/api/v1/workspaces/{id}/tools/{tool}/status \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rigbox.dev/api/v1/workspaces/{id}/tools/{tool}/status"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rigbox.dev/api/v1/workspaces/{id}/tools/{tool}/status', 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.rigbox.dev/api/v1/workspaces/{id}/tools/{tool}/status",
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.rigbox.dev/api/v1/workspaces/{id}/tools/{tool}/status"
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.rigbox.dev/api/v1/workspaces/{id}/tools/{tool}/status")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rigbox.dev/api/v1/workspaces/{id}/tools/{tool}/status")
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{
"category": "<string>",
"description": "<string>",
"discovery": {
"filenames": [
"<string>"
],
"max_depth": 1,
"max_projects": 1,
"type": "FilePresence",
"exclude_paths": [
"<string>"
]
},
"icon": "<string>",
"id": "<string>",
"name": "<string>",
"port": 1,
"subdomain_suffix": "<string>",
"available": true,
"project_roots_truncated": true,
"running": true,
"install_hint": "<string>",
"tags": [
"<string>"
],
"needs_install": true,
"project_roots": [
"<string>"
],
"started_at_ms": 1,
"status_sys": "<string>",
"unavailable_reason": "<string>",
"url": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Response
Tool status
How this tool detects availability.
- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes
Port the tool listens on inside the VM.
x >= 0Subdomain suffix - e.g. "arch" → arch-{ws_id}.rigbox.dev
User-facing install command when the tool needs setup. Shown in the UI when the tool is unavailable or partially available.
Tags indicating supported languages, runtimes, etc.
True if the tool requires setup before it can analyze/launch. Discovery may still work but full functionality needs install.
x >= 0Lifecycle state reported by the tool's background process. Values are tool-defined (e.g. "analyzing", "installing", "building"). None when idle or no background process is running.
Brief explanation of why the tool is unavailable.