Update Workspace
curl --request PUT \
--url https://api.vertracloud.app/v1/workspaces/{id} \
--header 'Content-Type: application/json' \
--data '{
"updates": {}
}'import requests
url = "https://api.vertracloud.app/v1/workspaces/{id}"
payload = { "updates": {} }
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({updates: {}})
};
fetch('https://api.vertracloud.app/v1/workspaces/{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://api.vertracloud.app/v1/workspaces/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'updates' => [
]
]),
CURLOPT_HTTPHEADER => [
"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.vertracloud.app/v1/workspaces/{id}"
payload := strings.NewReader("{\n \"updates\": {}\n}")
req, _ := http.NewRequest("PUT", url, payload)
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.put("https://api.vertracloud.app/v1/workspaces/{id}")
.header("Content-Type", "application/json")
.body("{\n \"updates\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vertracloud.app/v1/workspaces/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"updates\": {}\n}"
response = http.request(request)
puts response.read_body{
"response": {
"id": "org123",
"name": "updatedworkspace",
"description": "Updated description",
"tags": ["newtag", "updated"],
"owner_id": "993591427428790342",
"created_at": "2026-03-14T19:58:00Z",
"updated_at": "2026-03-14T20:00:00Z",
"members": [
{
"user_id": "993591427428790342",
"role": "owner",
"joined_at": "2026-03-14T19:58:00Z"
}
]
}
}
Workspaces
Update Workspace
Updates the name, description, or tags of an workspace.
PUT
/
v1
/
workspaces
/
{id}
Update Workspace
curl --request PUT \
--url https://api.vertracloud.app/v1/workspaces/{id} \
--header 'Content-Type: application/json' \
--data '{
"updates": {}
}'import requests
url = "https://api.vertracloud.app/v1/workspaces/{id}"
payload = { "updates": {} }
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({updates: {}})
};
fetch('https://api.vertracloud.app/v1/workspaces/{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://api.vertracloud.app/v1/workspaces/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'updates' => [
]
]),
CURLOPT_HTTPHEADER => [
"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.vertracloud.app/v1/workspaces/{id}"
payload := strings.NewReader("{\n \"updates\": {}\n}")
req, _ := http.NewRequest("PUT", url, payload)
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.put("https://api.vertracloud.app/v1/workspaces/{id}")
.header("Content-Type", "application/json")
.body("{\n \"updates\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vertracloud.app/v1/workspaces/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"updates\": {}\n}"
response = http.request(request)
puts response.read_body{
"response": {
"id": "org123",
"name": "updatedworkspace",
"description": "Updated description",
"tags": ["newtag", "updated"],
"owner_id": "993591427428790342",
"created_at": "2026-03-14T19:58:00Z",
"updated_at": "2026-03-14T20:00:00Z",
"members": [
{
"user_id": "993591427428790342",
"role": "owner",
"joined_at": "2026-03-14T19:58:00Z"
}
]
}
}
The ID of the workspace to update.
The fields to update for the workspace.
Show Toggle object
Show Toggle object
Response
The updated details of the workspace.
Show Toggle object
Show Toggle object
The ID of the workspace.
The name of the workspace.
The description of the workspace.
The tags associated with the workspace.
The ID of the workspace owner.
The timestamp when the workspace was created.
The timestamp when the workspace was last updated.
{
"response": {
"id": "org123",
"name": "updatedworkspace",
"description": "Updated description",
"tags": ["newtag", "updated"],
"owner_id": "993591427428790342",
"created_at": "2026-03-14T19:58:00Z",
"updated_at": "2026-03-14T20:00:00Z",
"members": [
{
"user_id": "993591427428790342",
"role": "owner",
"joined_at": "2026-03-14T19:58:00Z"
}
]
}
}
Error Responses
The error code indicating the reason for failure. Possible values:
UNAUTHORIZED: The user is not authenticated.NAME_MUST_BE_A_STRING: The provided name is not a string.DESCRIPTION_MUST_BE_A_STRING: The provided description is not a string.TAGS_MUST_BE_AN_ARRAY: The provided tags are not an array of strings.NAME_TOO_LONG: The provided name exceeds 50 characters.DESCRIPTION_TOO_LONG: The provided description exceeds 200 characters.TAG_TOO_LONG: One or more tags exceed 20 characters.ORGANIZATION_NAME_ALREADY_EXISTS: An workspace with the provided name already exists.
A descriptive message providing additional details about the error.
{
"code": "UNAUTHORIZED"
}
{
"code": "NAME_TOO_LONG"
}
{
"code": "ORGANIZATION_NAME_ALREADY_EXISTS"
}
⌘I