Docs / API / Brand Kit Brand Kit Get the workspace brand kit GET /v1/brandkit/ {id}
Retrieve the brand kit profile (website, summary, tone, onboarded) for a workspace.
Request
curl "https://api.rendley.com/v1/brandkit/ID" \
-H "Authorization: Bearer YOUR_API_KEY" const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID" , {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const { data } = await res. json (); import requests
res = requests.get(
"https://api.rendley.com/v1/brandkit/ID" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Example response {
"data" : {
"brand_voice" : {
"audience" : "string" ,
"energy" : "string" ,
"name" : "string" ,
"notes" : "string" ,
"tone" : "string"
},
"branding" : {},
"id" : "string" ,
"onboarded" : true ,
"summary" : "string" ,
"tone" : "string" ,
"website_url" : "string" ,
"workspace_id" : "string"
}
} Response codes Status Description 200OK 401Unauthorized
Update the workspace brand kit profile PUT /v1/brandkit/ {id}
Update website, summary, tone, and/or the onboarded flag.
Request
curl -X PUT "https://api.rendley.com/v1/brandkit/ID" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"onboarded": true,
"summary": "<summary>",
"tone": "<tone>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID" , {
method: "PUT" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"onboarded" : true ,
"summary" : "<summary>" ,
"tone" : "<tone>"
}),
});
const { data } = await res. json (); import requests
res = requests.put(
"https://api.rendley.com/v1/brandkit/ID" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"onboarded" : True ,
"summary" : "<summary>" ,
"tone" : "<tone>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description onboardedboolean Optional summarystring Optional tonestring Optional website_urlstring Optional
Example response {
"data" : {
"brand_voice" : {
"audience" : "string" ,
"energy" : "string" ,
"name" : "string" ,
"notes" : "string" ,
"tone" : "string"
},
"branding" : {},
"id" : "string" ,
"onboarded" : true ,
"summary" : "string" ,
"tone" : "string" ,
"website_url" : "string" ,
"workspace_id" : "string"
}
} Response codes Status Description 200OK 400Bad Request 401Unauthorized
Update the structured brand voice PUT /v1/brandkit/ {id} /brand-voice
Replace the machine-readable brand voice (adjectives, audience, messaging, vocabulary, do/don'ts) the AI agent uses. Free for all plans.
Request
curl -X PUT "https://api.rendley.com/v1/brandkit/ID/brand-voice" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"brand_voice": {
"audience": "string",
"energy": "string",
"name": "string",
"notes": "string",
"tone": "string"
}
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/brand-voice" , {
method: "PUT" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"brand_voice" : {
"audience" : "string" ,
"energy" : "string" ,
"name" : "string" ,
"notes" : "string" ,
"tone" : "string"
}
}),
});
const { data } = await res. json (); import requests
res = requests.put(
"https://api.rendley.com/v1/brandkit/ID/brand-voice" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"brand_voice" : {
"audience" : "string" ,
"energy" : "string" ,
"name" : "string" ,
"notes" : "string" ,
"tone" : "string"
}
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description brand_voiceobject Optional brand_voice.audiencestring Optional brand_voice.energystring Optional brand_voice.namestring Optional Name is the editable brand display name. Seeded once from the import's extracted name
(metadata.branding.name stays the immutable onboarding artifact); like Notes, a user's
value is never overwritten by a re-import. brand_voice.notesstring Optional free-form extra direction, read verbatim by the agent brand_voice.tonestring Optional
Example response {
"data" : {
"brand_voice" : {
"audience" : "string" ,
"energy" : "string" ,
"name" : "string" ,
"notes" : "string" ,
"tone" : "string"
},
"branding" : {},
"id" : "string" ,
"onboarded" : true ,
"summary" : "string" ,
"tone" : "string" ,
"website_url" : "string" ,
"workspace_id" : "string"
}
} Response codes Get the brand kit caption style GET /v1/brandkit/ {id} /caption-style
Returns the SDK-compatible caption style config (empty object when unset). Free for all plans.
Request
curl "https://api.rendley.com/v1/brandkit/ID/caption-style" \
-H "Authorization: Bearer YOUR_API_KEY" const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/caption-style" , {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const { data } = await res. json (); import requests
res = requests.get(
"https://api.rendley.com/v1/brandkit/ID/caption-style" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Example response {
"data" : {
"config" : {}
}
} Response codes Set the brand kit caption style PUT /v1/brandkit/ {id} /caption-style
Store the SDK-compatible caption style config (main + highlight text styles, animation, mode, scale). Free for all plans.
Request
curl -X PUT "https://api.rendley.com/v1/brandkit/ID/caption-style" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"config": {}
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/caption-style" , {
method: "PUT" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"config" : {}
}),
});
const { data } = await res. json (); import requests
res = requests.put(
"https://api.rendley.com/v1/brandkit/ID/caption-style" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"config" : {}
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description configobject Required
Example response {
"data" : {
"config" : {}
}
} Response codes List brand kit colors GET /v1/brandkit/ {id} /colors
Retrieve the colors of a workspace brand kit.
Request
curl "https://api.rendley.com/v1/brandkit/ID/colors" \
-H "Authorization: Bearer YOUR_API_KEY" const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/colors" , {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const { data } = await res. json (); import requests
res = requests.get(
"https://api.rendley.com/v1/brandkit/ID/colors" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Example response {
"data" : [
{
"id" : "string" ,
"name" : "string" ,
"role" : "string" ,
"value" : "string"
}
]
} Response codes Status Description 200OK 401Unauthorized
Add a brand kit color POST /v1/brandkit/ {id} /colors
Add a color to a workspace brand kit.
Request
curl -X POST "https://api.rendley.com/v1/brandkit/ID/colors" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"color": "<color>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/colors" , {
method: "POST" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"color" : "<color>"
}),
});
const { data } = await res. json (); import requests
res = requests.post(
"https://api.rendley.com/v1/brandkit/ID/colors" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"color" : "<color>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description colorstring Required namestring Optional rolestring Optional
Example response {
"data" : {
"id" : "string" ,
"name" : "string" ,
"role" : "string" ,
"value" : "string"
}
} Response codes Status Description 200OK 400Bad Request 401Unauthorized 403Forbidden
Delete a brand kit color DELETE /v1/brandkit/ {id} /colors
Remove a color from a workspace brand kit.
Request
curl -X DELETE "https://api.rendley.com/v1/brandkit/ID/colors" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"color_id": "<color_id>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/colors" , {
method: "DELETE" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"color_id" : "<color_id>"
}),
});
const { data } = await res. json (); import requests
res = requests.delete(
"https://api.rendley.com/v1/brandkit/ID/colors" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"color_id" : "<color_id>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description color_idstring Required
Response codes Status Description 200OK 400Bad Request 401Unauthorized 403Forbidden
Fill the brand kit with Rendley defaults POST /v1/brandkit/ {id} /defaults
Fills any empty brand kit field (colors, fonts, text styles, captions) with the Rendley defaults. Used by the "start from scratch" path; set fields are kept.
Request
curl -X POST "https://api.rendley.com/v1/brandkit/ID/defaults" \
-H "Authorization: Bearer YOUR_API_KEY" const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/defaults" , {
method: "POST" ,
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const { data } = await res. json (); import requests
res = requests.post(
"https://api.rendley.com/v1/brandkit/ID/defaults" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Response codes Status Description 200OK 401Unauthorized
List brand kit fonts GET /v1/brandkit/ {id} /fonts
Request
curl "https://api.rendley.com/v1/brandkit/ID/fonts" \
-H "Authorization: Bearer YOUR_API_KEY" const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/fonts" , {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const { data } = await res. json (); import requests
res = requests.get(
"https://api.rendley.com/v1/brandkit/ID/fonts" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Example response {
"data" : [
{
"font_id" : "string" ,
"id" : "string" ,
"is_pro" : true ,
"name" : "string" ,
"order" : 0 ,
"role" : "string" ,
"source" : "string" ,
"source_url" : "string" ,
"styles" : {},
"weights" : {}
}
]
} Response codes Add a font to the brand kit POST /v1/brandkit/ {id} /fonts
Reference a catalog font in the brand fonts collection. Catalog fonts whose source is "brandkit" (custom) require the Pro font-upload entitlement.
Request
curl -X POST "https://api.rendley.com/v1/brandkit/ID/fonts" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"font_id": "<font_id>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/fonts" , {
method: "POST" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"font_id" : "<font_id>"
}),
});
const { data } = await res. json (); import requests
res = requests.post(
"https://api.rendley.com/v1/brandkit/ID/fonts" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"font_id" : "<font_id>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description font_idstring Required orderinteger Optional rolestring Optional
Example response {
"data" : {
"font_id" : "string" ,
"id" : "string" ,
"is_pro" : true ,
"name" : "string" ,
"order" : 0 ,
"role" : "string" ,
"source" : "string" ,
"source_url" : "string" ,
"styles" : {},
"weights" : {}
}
} Response codes Remove a font from the brand kit DELETE /v1/brandkit/ {id} /fonts
Request
curl -X DELETE "https://api.rendley.com/v1/brandkit/ID/fonts" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"brandkit_font_id": "<brandkit_font_id>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/fonts" , {
method: "DELETE" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"brandkit_font_id" : "<brandkit_font_id>"
}),
});
const { data } = await res. json (); import requests
res = requests.delete(
"https://api.rendley.com/v1/brandkit/ID/fonts" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"brandkit_font_id" : "<brandkit_font_id>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description brandkit_font_idstring Required
Response codes Import brand kit from a website POST /v1/brandkit/ {id} /import
Extract a website's brand (via the Gemini-backed extractor) and populate the brand kit profile, colors and fonts.
Request
curl -X POST "https://api.rendley.com/v1/brandkit/ID/import" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"website_url": "<website_url>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/import" , {
method: "POST" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"website_url" : "<website_url>"
}),
});
const { data } = await res. json (); import requests
res = requests.post(
"https://api.rendley.com/v1/brandkit/ID/import" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"website_url" : "<website_url>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description website_urlstring Required
Example response {
"data" : {
"brand_voice" : {
"audience" : "string" ,
"energy" : "string" ,
"name" : "string" ,
"notes" : "string" ,
"tone" : "string"
},
"branding" : {},
"id" : "string" ,
"onboarded" : true ,
"summary" : "string" ,
"tone" : "string" ,
"website_url" : "string" ,
"workspace_id" : "string"
}
} Response codes Status Description 200OK 400Bad Request 401Unauthorized
Import brand kit from an uploaded PDF POST /v1/brandkit/ {id} /import-pdf
Read a brand PDF previously uploaded to storage (via the presigned URL) and populate the brand kit profile, colors and fonts. The transient PDF is deleted after.
Request
curl -X POST "https://api.rendley.com/v1/brandkit/ID/import-pdf" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"storage_key": "<storage_key>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/import-pdf" , {
method: "POST" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"storage_key" : "<storage_key>"
}),
});
const { data } = await res. json (); import requests
res = requests.post(
"https://api.rendley.com/v1/brandkit/ID/import-pdf" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"storage_key" : "<storage_key>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description storage_keystring Required
Example response {
"data" : {
"brand_voice" : {
"audience" : "string" ,
"energy" : "string" ,
"name" : "string" ,
"notes" : "string" ,
"tone" : "string"
},
"branding" : {},
"id" : "string" ,
"onboarded" : true ,
"summary" : "string" ,
"tone" : "string" ,
"website_url" : "string" ,
"workspace_id" : "string"
}
} Response codes Status Description 200OK 400Bad Request 401Unauthorized
Get a presigned URL to upload a brand PDF POST /v1/brandkit/ {id} /import-pdf/upload-url
Returns a presigned PUT URL to upload a brand PDF directly to storage, plus the storage key to pass to the import endpoint.
Request
curl -X POST "https://api.rendley.com/v1/brandkit/ID/import-pdf/upload-url" \
-H "Authorization: Bearer YOUR_API_KEY" const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/import-pdf/upload-url" , {
method: "POST" ,
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const { data } = await res. json (); import requests
res = requests.post(
"https://api.rendley.com/v1/brandkit/ID/import-pdf/upload-url" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Example response {
"data" : {
"presigned_url" : "string" ,
"storage_key" : "string"
}
} Response codes Status Description 200OK 401Unauthorized
Get brand kit overview GET /v1/brandkit/ {id} /overview
Retrieve a brand kit overview grouped by category for a workspace.
Request
curl "https://api.rendley.com/v1/brandkit/ID/overview" \
-H "Authorization: Bearer YOUR_API_KEY" const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/overview" , {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const { data } = await res. json (); import requests
res = requests.get(
"https://api.rendley.com/v1/brandkit/ID/overview" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Example response {
"data" : [
{
"assets" : [
{
"asset_type" : "string" ,
"duration" : 0 ,
"height" : 0 ,
"id" : "string" ,
"mime_type" : "string" ,
"name" : "string" ,
"original_file_name" : "string" ,
"source_url" : "string" ,
"tags" : [
{}
],
"width" : 0
}
],
"category_id" : "string" ,
"category_name" : "string"
}
]
} Response codes Status Description 200OK 401Unauthorized
List brand kit text styles GET /v1/brandkit/ {id} /text-styles
Role-bound text styles (title/subtitle/heading/body/label). Free for all plans.
Request
curl "https://api.rendley.com/v1/brandkit/ID/text-styles" \
-H "Authorization: Bearer YOUR_API_KEY" const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/text-styles" , {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const { data } = await res. json (); import requests
res = requests.get(
"https://api.rendley.com/v1/brandkit/ID/text-styles" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Example response {
"data" : [
{
"color" : "string" ,
"color_role" : "string" ,
"font_id" : "string" ,
"font_name" : "string" ,
"font_size" : 0 ,
"font_source" : "string" ,
"font_weight" : "string" ,
"letter_spacing" : 0 ,
"line_height" : 0 ,
"role" : "string" ,
"text_align" : "string" ,
"text_case" : "string"
}
]
} Response codes Create or update a text style PUT /v1/brandkit/ {id} /text-styles
Upsert the text style for a single role. Free for all plans.
Request
curl -X PUT "https://api.rendley.com/v1/brandkit/ID/text-styles" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"role": "<role>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/text-styles" , {
method: "PUT" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"role" : "<role>"
}),
});
const { data } = await res. json (); import requests
res = requests.put(
"https://api.rendley.com/v1/brandkit/ID/text-styles" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"role" : "<role>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description colorstring Optional color_rolestring Optional soft reference to a brand color role font_idstring Optional font_sizenumber Optional font_weightstring Optional letter_spacingnumber Optional line_heightnumber Optional rolestring Required text_alignstring Optional left | center | right text_casestring Optional none | uppercase | lowercase | capitalize
Response codes Delete a text style DELETE /v1/brandkit/ {id} /text-styles
Request
curl -X DELETE "https://api.rendley.com/v1/brandkit/ID/text-styles" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"role": "<role>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/text-styles" , {
method: "DELETE" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"role" : "<role>"
}),
});
const { data } = await res. json (); import requests
res = requests.delete(
"https://api.rendley.com/v1/brandkit/ID/text-styles" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"role" : "<role>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description rolestring Required
Response codes List brand kit uploads GET /v1/brandkit/ {id} /uploads
Retrieve the uploaded assets of a workspace brand kit.
Request
curl "https://api.rendley.com/v1/brandkit/ID/uploads" \
-H "Authorization: Bearer YOUR_API_KEY" const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/uploads" , {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const { data } = await res. json (); import requests
res = requests.get(
"https://api.rendley.com/v1/brandkit/ID/uploads" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Example response {
"data" : [
{
"asset_type" : "string" ,
"duration" : 0 ,
"height" : 0 ,
"id" : "string" ,
"mime_type" : "string" ,
"name" : "string" ,
"original_file_name" : "string" ,
"source_url" : "string" ,
"tags" : [
"string"
],
"width" : 0
}
]
} Response codes Status Description 200OK 401Unauthorized
Create a brand kit upload POST /v1/brandkit/ {id} /uploads
Initiate an upload of an asset to a workspace brand kit.
Request
curl -X POST "https://api.rendley.com/v1/brandkit/ID/uploads" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"asset_type": "<asset_type>",
"file_size": 0,
"mime_type": "<mime_type>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/uploads" , {
method: "POST" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"asset_type" : "<asset_type>" ,
"file_size" : 0 ,
"mime_type" : "<mime_type>"
}),
});
const { data } = await res. json (); import requests
res = requests.post(
"https://api.rendley.com/v1/brandkit/ID/uploads" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"asset_type" : "<asset_type>" ,
"file_size" : 0 ,
"mime_type" : "<mime_type>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description asset_typestring Required durationnumber Optional file_sizeinteger Required heightinteger Optional mime_typestring Required namestring Optional original_file_namestring Optional tagsarray<string> Optional widthinteger Optional
Response codes Status Description 200OK 400Bad Request 401Unauthorized 403Forbidden
Rename a brand kit asset PUT /v1/brandkit/ {id} /uploads
Set a friendly display name on an uploaded asset so it's easy to find.
Request
curl -X PUT "https://api.rendley.com/v1/brandkit/ID/uploads" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "<name>",
"upload_id": "<upload_id>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/uploads" , {
method: "PUT" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"name" : "<name>" ,
"upload_id" : "<upload_id>"
}),
});
const { data } = await res. json (); import requests
res = requests.put(
"https://api.rendley.com/v1/brandkit/ID/uploads" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"name" : "<name>" ,
"upload_id" : "<upload_id>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description namestring Required upload_idstring Required
Response codes Delete a brand kit upload DELETE /v1/brandkit/ {id} /uploads
Remove an uploaded asset from a workspace brand kit.
Request
curl -X DELETE "https://api.rendley.com/v1/brandkit/ID/uploads" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"upload_id": "<upload_id>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/uploads" , {
method: "DELETE" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"upload_id" : "<upload_id>"
}),
});
const { data } = await res. json (); import requests
res = requests.delete(
"https://api.rendley.com/v1/brandkit/ID/uploads" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"upload_id" : "<upload_id>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description upload_idstring Required
Response codes Status Description 200OK 400Bad Request 401Unauthorized 403Forbidden
Complete a brand kit upload POST /v1/brandkit/ {id} /uploads/complete
Finalize a previously initiated brand kit upload.
Request
curl -X POST "https://api.rendley.com/v1/brandkit/ID/uploads/complete" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"upload_id": "<upload_id>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/uploads/complete" , {
method: "POST" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"upload_id" : "<upload_id>"
}),
});
const { data } = await res. json (); import requests
res = requests.post(
"https://api.rendley.com/v1/brandkit/ID/uploads/complete" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"upload_id" : "<upload_id>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description upload_idstring Required
Response codes Status Description 200OK 400Bad Request 401Unauthorized 403Forbidden
Search brand kit uploads GET /v1/brandkit/ {id} /uploads/search
Search uploaded assets by name, filename or tag, optionally scoped to an asset type.
Request
curl "https://api.rendley.com/v1/brandkit/ID/uploads/search" \
-H "Authorization: Bearer YOUR_API_KEY" const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/uploads/search" , {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const { data } = await res. json (); import requests
res = requests.get(
"https://api.rendley.com/v1/brandkit/ID/uploads/search" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Query parameters Name Type Required Description qstring Optional Search term asset_typestring Optional Asset type filter
Example response {
"data" : [
{
"asset_type" : "string" ,
"duration" : 0 ,
"height" : 0 ,
"id" : "string" ,
"mime_type" : "string" ,
"name" : "string" ,
"original_file_name" : "string" ,
"source_url" : "string" ,
"tags" : [
"string"
],
"width" : 0
}
]
} Response codes PUT /v1/brandkit/ {id} /uploads/tags
Replace the searchable tag set on an uploaded asset.
Request
curl -X PUT "https://api.rendley.com/v1/brandkit/ID/uploads/tags" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"upload_id": "<upload_id>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/uploads/tags" , {
method: "PUT" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"upload_id" : "<upload_id>"
}),
});
const { data } = await res. json (); import requests
res = requests.put(
"https://api.rendley.com/v1/brandkit/ID/uploads/tags" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"upload_id" : "<upload_id>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description tagsarray<string> Optional upload_idstring Required
Response codes List brand kit preferred voices GET /v1/brandkit/ {id} /voices
Request
curl "https://api.rendley.com/v1/brandkit/ID/voices" \
-H "Authorization: Bearer YOUR_API_KEY" const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/voices" , {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const { data } = await res. json (); import requests
res = requests.get(
"https://api.rendley.com/v1/brandkit/ID/voices" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Example response {
"data" : [
{
"id" : "string" ,
"model_id" : "string" ,
"name" : "string" ,
"order" : 0 ,
"settings" : {},
"voice_id" : "string"
}
]
} Response codes Add a preferred voice to the brand kit POST /v1/brandkit/ {id} /voices
Free plans are limited to a small number of preferred voices.
Request
curl -X POST "https://api.rendley.com/v1/brandkit/ID/voices" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model_id": "<model_id>",
"voice_id": "<voice_id>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/voices" , {
method: "POST" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"model_id" : "<model_id>" ,
"voice_id" : "<voice_id>"
}),
});
const { data } = await res. json (); import requests
res = requests.post(
"https://api.rendley.com/v1/brandkit/ID/voices" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"model_id" : "<model_id>" ,
"voice_id" : "<voice_id>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description model_idstring Required namestring Optional orderinteger Optional settingsobject Optional voice_idstring Required
Example response {
"data" : {
"id" : "string" ,
"model_id" : "string" ,
"name" : "string" ,
"order" : 0 ,
"settings" : {},
"voice_id" : "string"
}
} Response codes Remove a preferred voice from the brand kit DELETE /v1/brandkit/ {id} /voices
Request
curl -X DELETE "https://api.rendley.com/v1/brandkit/ID/voices" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"brandkit_voice_id": "<brandkit_voice_id>"
}' const res = await fetch ( "https://api.rendley.com/v1/brandkit/ID/voices" , {
method: "DELETE" ,
headers: { Authorization: "Bearer YOUR_API_KEY" , "Content-Type" : "application/json" },
body: JSON . stringify ({
"brandkit_voice_id" : "<brandkit_voice_id>"
}),
});
const { data } = await res. json (); import requests
res = requests.delete(
"https://api.rendley.com/v1/brandkit/ID/voices" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
json = {
"brandkit_voice_id" : "<brandkit_voice_id>"
},
)
data = res.json()[ "data" ] Path parameters Name Type Description idstring Workspace ID
Request body Name Type Required Description brandkit_voice_idstring Required
Response codes List brand kit categories GET /v1/brandkit/categories
Retrieve the fixed set of brand kit categories.
Request
curl "https://api.rendley.com/v1/brandkit/categories" \
-H "Authorization: Bearer YOUR_API_KEY" const res = await fetch ( "https://api.rendley.com/v1/brandkit/categories" , {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
const { data } = await res. json (); import requests
res = requests.get(
"https://api.rendley.com/v1/brandkit/categories" ,
headers = { "Authorization" : "Bearer YOUR_API_KEY" },
)
data = res.json()[ "data" ] Example response {
"data" : [
{
"default" : true ,
"group" : "string" ,
"id" : "string" ,
"name" : "string"
}
]
} Response codes Status Description 200OK 401Unauthorized
Previous page Templates Next page Collaboration