Change an Environment's branding
/api/v1/brandingSets the Environment's branding. Every field is optional and each one falls back on its own: send only what you want to change, send null to return a field to Canopy's default. The product name replaces Canopy's on every customer-facing surface, the logo shows at the top, the primary color drives buttons and links, and the support link becomes the support line. Returns 400 (validation) for a malformed value. Emits environment.branding_updated.
Authentication
Authorization Option A JWT access token. Never send alongside X-API-Key: a request carrying both is refused.
X-API-Key Option B API key for management-tier access. Never send alongside an Authorization header: a request carrying both is refused.
Request body
application/json
product_namestring Optional The product name every hosted page and the organization admin portal show in place of Canopy's. Null clears it.
logo_urlstring Optional Absolute https URL of the logo shown at the top of hosted pages and the portal. Null clears it.
primary_colorstring Optional Six-digit hex color for buttons and links on hosted pages and the portal. Null returns to Canopy's primary.
support_urlstring Optional Where the support line points: an https URL or a mailto: address. Null hides the line.
Responses
application/json
data *EnvironmentBrandingResponseDto
application/json
error *ApiErrorBodyDto
application/json
error *ApiErrorBodyDto
application/json
error *ApiErrorBodyDto
Returned object
curl -X PATCH "https://auth.canopy-io.com/api/v1/branding" \ -H "X-API-Key: $CANOPY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "product_name": "string", "logo_url": "string", "primary_color": "#B93C0C", "support_url": "string" }'
{ "data": { "environment_slug": "string", "branding": { "product_name": "string", "logo_url": "string", "primary_color": "string", "support_url": "string" }, "effective": { "product_name": "string", "logo_url": "string", "primary_color": "string", "support_url": "string", "attribution": false }, "brand_removal_available": false } }
Tell us how we can improve this guide.