Update Workspace
Rename the workspace or change its slug
Updated
PATCH
/v1/workspacecurl -X PATCH "https://api.orshot.com/v1/workspace" \
-H "Authorization: Bearer <ORSHOT_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"title": "<TITLE>",
"slug": "<SLUG>"
}'const res = await fetch("https://api.orshot.com/v1/workspace", {
method: "PATCH",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
body: JSON.stringify({
"title": "<TITLE>",
"slug": "<SLUG>"
}),
});
const data = await res.json();import requests
response = requests.patch(
"https://api.orshot.com/v1/workspace",
headers={"Authorization": "Bearer <ORSHOT_API_KEY>"},
json={
"title": "<TITLE>",
"slug": "<SLUG>"
},
)
data = response.json()$ch = curl_init("https://api.orshot.com/v1/workspace");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <ORSHOT_API_KEY>",
"Content-Type: application/json",
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"title" => "<TITLE>",
"slug" => "<SLUG>"
]));
$data = json_decode(curl_exec($ch), true);
curl_close($ch);require "net/http"
require "json"
uri = URI("https://api.orshot.com/v1/workspace")
req = Net::HTTP::Patch.new(uri)
req["Authorization"] = "Bearer <ORSHOT_API_KEY>"
req["Content-Type"] = "application/json"
req.body = {
"title": "<TITLE>",
"slug": "<SLUG>"
}.to_json
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)Update the active workspace. POST is accepted as an alias for PATCH.
Endpoint#
https://api.orshot.com/v1/workspaceRequest Body#
| Parameter | Type | Required | Description |
|---|---|---|---|
title | String | No | New display name, 1 to 100 characters |
slug | String | No | New URL slug: lowercase letters, numbers and hyphens, 3 to 48 characters, unique across Orshot |
Changing the slug changes all of the workspace's URLs. Reserved slugs (like admin or api) are rejected with code slug_reserved.
Request#
await fetch("https://api.orshot.com/v1/workspace", {
method: "PATCH",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
body: JSON.stringify({
title: "Acme Marketing",
}),
});{
"data": {
"updated": ["title"],
"title": "Acme Marketing",
"slug": "my-workspace",
"url": "https://orshot.com/workspace/my-workspace"
}
}Errors#
| Status | Code | Description |
|---|---|---|
400 | unknown_fields | The request included fields outside the list above |
400 | slug_reserved | The requested slug is reserved |
400 | The slug is already taken or a value is invalid |
Was this page helpful?
Ready to automate?
Start rendering images, PDFs and videos from your templates in under 2 minutes. Free plan, no credit card.
Get your API key- Image, PDF and video generation via API
- Visual editor with AI and smart layouts
- Zapier, Make, MCP and 50+ integrations
- White-label embed for your own app
- 30 free credits — no credit card required