Update a theme
Update theme settings or title.
PUT
/themes/{id}Authorization
AuthorizationBearer token (JWT) · headerrequiredPath parameters
idstringrequiredTheme ID
Request body
requiredapplication/jsontitlestringsettings_jsonstringRaw JSON string of theme settings. Note: the request field is `settings_json`, not `settings` (the response field, returned as `settings`, is named differently from the request field).
parent_idstringReassigns the dev theme's parent (production) theme.
last_updated_onstring<date-time>Optimistic-locking timestamp; rejects the update if the theme changed since.
Responses
200Theme updated
_linksHalLinksidstringOpaque theme identifier
linkedbooleanWhether this is a linked (inherited) theme
parent_idstring | nullproductionboolean`true` for the live/public theme
publicbooleanAlias for `production`
accessiblebooleantitlestringsettingsstringRaw JSON string of theme settings
created_onstring<date-time>updated_onstring<date-time>_embeddedobjectShow propertiesHide properties
templatesThemeTemplate[]Show propertiesHide properties
Array of
ThemeTemplate_linksHalLinksidstringfile_namestringpathstringbodystringFull template source code
is_sectionbooleanschemaobjectPresent only when `is_section` is true — the section's configurable schema.
parent_commitstring | nullupdated_onstring<date-time>assetsThemeAsset[]Show propertiesHide properties
Array of
ThemeAsset_linksHalLinksidstringfile_namestringcontent_typestringfile_sizeintegerdigeststringurlstringCDN URL for this asset
updated_onstring<date-time>401Unauthorized
403Access denied
404Theme not found
Request
curl -X PUT "https://api.onbolder.com/v2/themes/abc123" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Updated Theme Title",
"settings_json": "{\"bg_color\":\"#333\"}"
}'const response = await fetch("https://api.onbolder.com/v2/themes/abc123", {
method: "PUT",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"title": "Updated Theme Title",
"settings_json": "{\"bg_color\":\"#333\"}"
})
});import requests
response = requests.put(
"https://api.onbolder.com/v2/themes/abc123",
headers={
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
json={
"title": "Updated Theme Title",
"settings_json": "{\"bg_color\":\"#333\"}"
},
)Response
{
"_links": {
"property1": {
"href": "string",
"templated": true,
"method": "get",
"title": "string",
"type": "string"
},
"property2": {
"href": "string",
"templated": true,
"method": "get",
"title": "string",
"type": "string"
}
},
"id": "string",
"linked": true,
"parent_id": "string",
"production": true,
"public": true,
"accessible": true,
"title": "string",
"settings": "string",
"created_on": "2019-08-24T14:15:22Z",
"updated_on": "2019-08-24T14:15:22Z",
"_embedded": {
"templates": [
{
"_links": {
"property1": {
"href": "string",
"templated": true,
"method": "get",
"title": "string",
"type": "string"
},
"property2": {
"href": "string",
"templated": true,
"method": "get",
"title": "string",
"type": "string"
}
},
"id": "string",
"file_name": "layout.html",
"path": "string",
"body": "string",
"is_section": true,
"schema": {},
"parent_commit": "string",
"updated_on": "2019-08-24T14:15:22Z"
}
],
"assets": [
{
"_links": {
"property1": {
"href": "string",
"templated": true,
"method": "get",
"title": "string",
"type": "string"
},
"property2": {
"href": "string",
"templated": true,
"method": "get",
"title": "string",
"type": "string"
}
},
"id": "string",
"file_name": "logo.png",
"content_type": "image/png",
"file_size": 0,
"digest": "string",
"url": "string",
"updated_on": "2019-08-24T14:15:22Z"
}
]
}
}Unauthorized
Access denied
Theme not found