Guide
Branding Workspace API
Read and save Identity, Visuals, or Support without overwriting unrelated brand settings.
Section and permission scope
Use the developer session with all-products scope. Reading requires brand-view permission and saving requires brand-management permission. Support also requires customer-view permission. Supported section values are identity, visuals, and support; domain connection endpoints remain separate.
SoundSync
Versioned section operations
/api/developer/branding/workspace/:section
Read the current section
- Auth
- Account Bearer JWT
- Scope
- Workspace permissions and product assignments are checked.
- Returns
- branding, supportCenter (for support), version, uploadMaxBytes, and canManage.
- Notes
- section is identity, visuals or support. Support also requires customers.view. Private contact-form delivery addresses must not be published.
Request, response and error reference
No request body fields are read by this operation.
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"branding": {
"type": "object",
"properties": {
"storeName": {
"type": "string"
},
"developerDisplayName": {
"type": "string"
},
"tagline": {
"type": "string"
},
"slug": {
"type": "string"
},
"shortDescription": {
"type": "string"
},
"marketplaceBio": {
"type": "string"
},
"logos": {
"type": "object",
"properties": {
"logoUrl": {
"type": "string"
},
"lightLogoUrl": {
"type": "string"
},
"darkLogoUrl": {
"type": "string"
},
"iconUrl": {
"type": "string"
},
"defaultProductImageUrl": {
"type": "string"
}
},
"additionalProperties": true
},
"colors": {
"type": "object",
"properties": {
"appearance": {
"type": "string",
"enum": [
"light",
"dark",
"system"
]
},
"backgroundColor": {
"type": "string"
},
"brandHighlightColor": {
"type": "string"
},
"accentColor": {
"type": "string"
},
"advancedOverrides": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
},
"support": {
"type": "object",
"properties": {
"supportEmail": {
"type": "string"
},
"supportUrl": {
"type": "string"
},
"documentationUrl": {
"type": "string"
},
"faqUrl": {
"type": "string"
},
"refundPolicyUrl": {
"type": "string"
},
"termsUrl": {
"type": "string"
},
"licenseUrl": {
"type": "string"
}
},
"additionalProperties": true
},
"emailIdentity": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"socialLinks": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"domains": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"metadata": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
},
"supportCenter": {
"type": [
"object",
"null"
],
"properties": {
"settings": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"articles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": [
"integer",
"null"
]
},
"title": {
"type": "string"
},
"body": {
"type": "string"
},
"type": {
"type": "string"
},
"visible": {
"type": "boolean"
},
"sortOrder": {
"type": "integer"
}
},
"additionalProperties": true
}
}
},
"additionalProperties": true
},
"version": {
"type": "string"
},
"uploadMaxBytes": {
"type": "integer"
},
"canManage": {
"type": "boolean"
}
},
"additionalProperties": true
}
Documented failures: 400, 500, 503.
/api/developer/branding/workspace/:section
Save the reviewed section version
- Auth
- Account Bearer JWT
- Scope
- Workspace permissions and product assignments are checked.
- Request fields
- version: string (required)
- values: object (required)
- Returns
- Updated branding/supportCenter/version; stale input returns 409 BRANDING_EDIT_CONFLICT.
- Notes
- Read the section first and send its exact version. A stale version returns 409 BRANDING_EDIT_CONFLICT. identity accepts identity fields; visuals accepts logos/colors; support accepts contact settings, articles and links. Articles are the complete edited list; published answers need body content. applyFields is section-specific, not an arbitrary property list.
Request, response and error reference
Request (application/json)
{
"type": "object",
"properties": {
"version": {
"type": "string"
},
"values": {
"type": "object",
"properties": {
"storeName": {
"type": "string"
},
"developerDisplayName": {
"type": "string"
},
"tagline": {
"type": "string"
},
"slug": {
"type": "string"
},
"shortDescription": {
"type": "string"
},
"marketplaceBio": {
"type": "string"
},
"logos": {
"type": "object",
"properties": {
"logoUrl": {
"type": "string"
},
"lightLogoUrl": {
"type": "string"
},
"darkLogoUrl": {
"type": "string"
},
"iconUrl": {
"type": "string"
},
"defaultProductImageUrl": {
"type": "string"
}
},
"additionalProperties": true
},
"colors": {
"type": "object",
"properties": {
"appearance": {
"type": "string",
"enum": [
"light",
"dark",
"system"
]
},
"backgroundColor": {
"type": "string"
},
"brandHighlightColor": {
"type": "string"
},
"accentColor": {
"type": "string"
},
"advancedOverrides": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
},
"support": {
"type": "object",
"properties": {
"supportEmail": {
"type": "string"
},
"supportUrl": {
"type": "string"
},
"documentationUrl": {
"type": "string"
},
"faqUrl": {
"type": "string"
},
"refundPolicyUrl": {
"type": "string"
},
"termsUrl": {
"type": "string"
},
"licenseUrl": {
"type": "string"
}
},
"additionalProperties": true
},
"emailIdentity": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"socialLinks": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"domains": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"metadata": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"applyFields": {
"type": "array",
"items": {
"type": "string"
}
},
"supportEmail": {
"type": "string"
},
"supportDisplayName": {
"type": "string"
},
"businessAddress": {
"type": "string"
},
"supportPhone": {
"type": "string"
},
"primaryContactName": {
"type": "string"
},
"supportContactLabel": {
"type": "string"
},
"responseTimeMessage": {
"type": "string"
},
"availabilityMessage": {
"type": "string"
},
"contactFormEnabled": {
"type": "boolean"
},
"contactFormDestinationEmail": {
"type": "string",
"format": "email"
},
"supportPageEnabled": {
"type": "boolean"
},
"supportContactDetails": {
"type": "boolean"
},
"articles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": [
"integer",
"null"
]
},
"title": {
"type": "string"
},
"body": {
"type": "string"
},
"type": {
"type": "string"
},
"visible": {
"type": "boolean"
},
"sortOrder": {
"type": "integer"
}
},
"additionalProperties": true
}
},
"links": {
"type": "object",
"properties": {
"supportEmail": {
"type": "string"
},
"supportUrl": {
"type": "string"
},
"documentationUrl": {
"type": "string"
},
"faqUrl": {
"type": "string"
},
"refundPolicyUrl": {
"type": "string"
},
"termsUrl": {
"type": "string"
},
"licenseUrl": {
"type": "string"
}
},
"additionalProperties": true
}
},
"additionalProperties": true
}
},
"required": [
"version",
"values"
],
"additionalProperties": true
}
HTTP 200 response (application/json)
{
"type": "object",
"properties": {
"branding": {
"type": "object",
"properties": {
"storeName": {
"type": "string"
},
"developerDisplayName": {
"type": "string"
},
"tagline": {
"type": "string"
},
"slug": {
"type": "string"
},
"shortDescription": {
"type": "string"
},
"marketplaceBio": {
"type": "string"
},
"logos": {
"type": "object",
"properties": {
"logoUrl": {
"type": "string"
},
"lightLogoUrl": {
"type": "string"
},
"darkLogoUrl": {
"type": "string"
},
"iconUrl": {
"type": "string"
},
"defaultProductImageUrl": {
"type": "string"
}
},
"additionalProperties": true
},
"colors": {
"type": "object",
"properties": {
"appearance": {
"type": "string",
"enum": [
"light",
"dark",
"system"
]
},
"backgroundColor": {
"type": "string"
},
"brandHighlightColor": {
"type": "string"
},
"accentColor": {
"type": "string"
},
"advancedOverrides": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
},
"support": {
"type": "object",
"properties": {
"supportEmail": {
"type": "string"
},
"supportUrl": {
"type": "string"
},
"documentationUrl": {
"type": "string"
},
"faqUrl": {
"type": "string"
},
"refundPolicyUrl": {
"type": "string"
},
"termsUrl": {
"type": "string"
},
"licenseUrl": {
"type": "string"
}
},
"additionalProperties": true
},
"emailIdentity": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"socialLinks": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"domains": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"metadata": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
}
},
"additionalProperties": true
},
"supportCenter": {
"type": [
"object",
"null"
],
"properties": {
"settings": {
"type": "object",
"additionalProperties": true,
"description": "Operation-specific extension data; do not put credentials or unnecessary personal information here."
},
"articles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": [
"integer",
"null"
]
},
"title": {
"type": "string"
},
"body": {
"type": "string"
},
"type": {
"type": "string"
},
"visible": {
"type": "boolean"
},
"sortOrder": {
"type": "integer"
}
},
"additionalProperties": true
}
}
},
"additionalProperties": true
},
"version": {
"type": "string"
},
"uploadMaxBytes": {
"type": "integer"
},
"canManage": {
"type": "boolean"
}
},
"additionalProperties": true
}
Documented failures: 400, 500, 503.
Operation errors: BRANDING_EDIT_CONFLICT.
SoundSync
Save an identity change
curl -X PUT "$SOUNDSYNC_ORIGIN/api/developer/branding/workspace/identity" \
-H "Authorization: Bearer $DEVELOPER_TOKEN" \
-H "Content-Type: application/json" \
--data '{"version":"VERSION_FROM_GET","values":{"tagline":"Audio tools for your next record"}}'
Conflict, validation, and privacy
On 409, retain the local edits, read the current version, and let the editor resolve the difference. Do not silently replay an old payload under a new version. Enabled contact forms need a valid route; published help answers need content. Private form-delivery addresses must not be exposed in storefront configuration or screenshots.
