Skip to content
SoundSyncAudio software platform

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

GET /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.

PUT /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

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.