Update Font Tags
Learn how to update tags on a custom font
Published ·Updated
PATCH
/v1/brand-assets/fonts/update/{id}curl -X PATCH "https://api.orshot.com/v1/brand-assets/fonts/update/<ID>" \
-H "Authorization: Bearer <ORSHOT_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"tags": []
}'const res = await fetch("https://api.orshot.com/v1/brand-assets/fonts/update/<ID>", {
method: "PATCH",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
body: JSON.stringify({
"tags": []
}),
});
const data = await res.json();import requests
response = requests.patch(
"https://api.orshot.com/v1/brand-assets/fonts/update/<ID>",
headers={"Authorization": "Bearer <ORSHOT_API_KEY>"},
json={
"tags": []
},
)
data = response.json()$ch = curl_init("https://api.orshot.com/v1/brand-assets/fonts/update/<ID>");
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([
"tags" => []
]));
$data = json_decode(curl_exec($ch), true);
curl_close($ch);require "net/http"
require "json"
uri = URI("https://api.orshot.com/v1/brand-assets/fonts/update/<ID>")
req = Net::HTTP::Patch.new(uri)
req["Authorization"] = "Bearer <ORSHOT_API_KEY>"
req["Content-Type"] = "application/json"
req.body = {
"tags": []
}.to_json
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)Overview#
This endpoint allows you to update the tags on a specific custom font in your workspace.
https://api.orshot.com/v1/brand-assets/fonts/update/:idRequest#
await fetch("https://api.orshot.com/v1/brand-assets/fonts/update/456", {
method: "PATCH",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer <ORSHOT_API_KEY>",
},
body: JSON.stringify({
tags: ["heading", "brand", "serif"],
}),
});{
"data": {
"id": 456,
"created_at": "2025-09-10T15:30:45.123Z",
"font_family": "BrandFont Bold",
"file_name": "BrandFont-Bold.ttf",
"file_url": "https://storage.orshot.com/custom-fonts/workspace_id/BrandFont-Bold.ttf",
"file_size": 184320,
"file_type": "font/ttf",
"tags": ["heading", "brand", "serif"],
"workspace_id": 50,
"user_id": "abcdef01-2345-6789-abcd-ef0123456789"
}
}Path Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id | Number | Yes | The unique identifier of the font to update |
Request Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
tags | String[] | Yes | Array of tags to set on the font (replaces any existing tags) |
Notes#
- Tags are automatically normalized: trimmed, deduplicated (case-insensitive), and empty values are removed
- Passing an empty array
[]will clear all tags from the font - The font cache is automatically invalidated when tags are updated
Error Responses#
Font Not Found (404)#
{
"error": "Font not found"
}Invalid Tags (400)#
{
"error": "\"tags\" must be an array of strings"
}Query Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
embedId | String | No | Embed instance ID. Pair with embedUserId to scope this call to one embed user |
embedUserId | String | No | The same userId your app passes to the embed URL. Requires embedId |
Per-User Libraries#
Pass embedId and embedUserId together to target only that embed user's font, so one user's ID can never retag another's. This is how one embed serves many brands or tenants, each with its own brand space.
Omit them and this endpoint behaves exactly as documented above. See Per-User Brand Assets for the full picture.
Rate Limits#
- 30 requests per minute per endpoint
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
- 100 free credits a month, no credit card required