Move Template to Folder
Move a studio template into a folder, or out of its current folder
Published
PATCH
/v1/studio/templates/{templateId}/foldercurl -X PATCH "https://api.orshot.com/v1/studio/templates/<TEMPLATE_ID>/folder" \
-H "Authorization: Bearer <ORSHOT_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"folder_id": 1
}'const res = await fetch("https://api.orshot.com/v1/studio/templates/<TEMPLATE_ID>/folder", {
method: "PATCH",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
body: JSON.stringify({
"folder_id": 1
}),
});
const data = await res.json();import requests
response = requests.patch(
"https://api.orshot.com/v1/studio/templates/<TEMPLATE_ID>/folder",
headers={"Authorization": "Bearer <ORSHOT_API_KEY>"},
json={
"folder_id": 1
},
)
data = response.json()$ch = curl_init("https://api.orshot.com/v1/studio/templates/<TEMPLATE_ID>/folder");
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([
"folder_id" => 1
]));
$data = json_decode(curl_exec($ch), true);
curl_close($ch);require "net/http"
require "json"
uri = URI("https://api.orshot.com/v1/studio/templates/<TEMPLATE_ID>/folder")
req = Net::HTTP::Patch.new(uri)
req["Authorization"] = "Bearer <ORSHOT_API_KEY>"
req["Content-Type"] = "application/json"
req.body = {
"folder_id": 1
}.to_json
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)Overview#
Assign a studio template to a folder, or pass null to move it out of its current folder back to "All templates".
https://api.orshot.com/v1/studio/templates/:templateId/folderPath Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
templateId | Integer | Yes | The unique ID of the studio template |
Request Body#
| Parameter | Type | Required | Description |
|---|---|---|---|
folder_id | Integer or null | Yes | Target folder ID, or null to remove the template from its folder |
Request#
await fetch("https://api.orshot.com/v1/studio/templates/123/folder", {
method: "PATCH",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
body: JSON.stringify({
folder_id: 11, // or null to move it out
}),
});{
"success": true,
"template_id": 123,
"folder_id": 11
}Error Responses#
Folder Not in Your Workspace (400)#
{
"error": "Folder not found in this workspace"
}Missing folder_id (400)#
{
"error": "folder_id is required (use null to remove from its folder)"
}Template Not Found (404)#
{
"error": "Studio template with ID '123' not found in your workspace"
}Notes#
- Folder moves are organization only. They never trigger the
template.updateembed webhook. - To move several templates, call this endpoint once per template.
Rate Limits#
- 30 requests per minute per API key
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