Start a workspace.
curl --request POST \
--url https://api.rigbox.dev/api/v1/workspaces/{id}/start \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rigbox.dev/api/v1/workspaces/{id}/start"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rigbox.dev/api/v1/workspaces/{id}/start', 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}/start",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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}/start"
req, _ := http.NewRequest("POST", 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.post("https://api.rigbox.dev/api/v1/workspaces/{id}/start")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rigbox.dev/api/v1/workspaces/{id}/start")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"vm": {
"created_at": "2023-11-07T05:31:56Z",
"disk_size_mb": 1,
"id": "<string>",
"image": "<string>",
"name": "<string>",
"node_id": "<string>",
"ram_mb": 1,
"updated_at": "2023-11-07T05:31:56Z",
"user_id": "<string>",
"vcpu_count": 1,
"ai_mode": "<string>",
"cloned_from": "<string>",
"creation_attempts": 123,
"creation_started_at": "2023-11-07T05:31:56Z",
"env_vars": {},
"failure_code": "<string>",
"failure_reason": "<string>",
"image_digest": "<string>",
"ip_address": "<string>",
"service_spec_ids": [
"<string>"
],
"setup_script_ids": [
"<string>"
],
"template_id": "<string>"
},
"failure": {
"attempts": 123,
"code": "<string>",
"message": "<string>",
"occurred_at": "2023-11-07T05:31:56Z",
"retryable": true
}
}Workspaces
Start Workspace
Boot a provisioned or stopped workspace.
POST
/
api
/
v1
/
workspaces
/
{id}
/
start
Start a workspace.
curl --request POST \
--url https://api.rigbox.dev/api/v1/workspaces/{id}/start \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rigbox.dev/api/v1/workspaces/{id}/start"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rigbox.dev/api/v1/workspaces/{id}/start', 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}/start",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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}/start"
req, _ := http.NewRequest("POST", 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.post("https://api.rigbox.dev/api/v1/workspaces/{id}/start")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rigbox.dev/api/v1/workspaces/{id}/start")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"vm": {
"created_at": "2023-11-07T05:31:56Z",
"disk_size_mb": 1,
"id": "<string>",
"image": "<string>",
"name": "<string>",
"node_id": "<string>",
"ram_mb": 1,
"updated_at": "2023-11-07T05:31:56Z",
"user_id": "<string>",
"vcpu_count": 1,
"ai_mode": "<string>",
"cloned_from": "<string>",
"creation_attempts": 123,
"creation_started_at": "2023-11-07T05:31:56Z",
"env_vars": {},
"failure_code": "<string>",
"failure_reason": "<string>",
"image_digest": "<string>",
"ip_address": "<string>",
"service_spec_ids": [
"<string>"
],
"setup_script_ids": [
"<string>"
],
"template_id": "<string>"
},
"failure": {
"attempts": 123,
"code": "<string>",
"message": "<string>",
"occurred_at": "2023-11-07T05:31:56Z",
"retryable": true
}
}If a stopped workspace is below its template/catalog resource floor, Rigbox raises the stored RAM, vCPU, and disk values before booting. If the account cannot fit the raised resources, the start request fails before the VM is started.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Workspace ID
Response
200 - application/json
Workspace start queued
⌘I