/v1/brands/{brand_id}/white-label Update white-label settings
Partial update of the brand's white-label config (PATCH semantics):
- Only fields included in the body are touched.
- Sending an explicit
nullfor any nullable scalar clears that column. - For nested section configs (
report_sections_config,brand_sections_config), only the toggles you send are merged with the persisted blob. Sendingnullclears the blob entirely. - An empty body is a valid no-op.
Path parameters
Brand UUID.
Header parameters
Request body
application/json required- brand_sections_configWhiteLabelBrandSectionsPatch (nullable)nullable
Per-section toggles for brand exports. Only the keys you send are merged with the persisted blob; send
nullto clear the blob entirely. - company_namestring (nullable)nullable
- cover_subtitlestring (nullable)nullable
- cover_titlestring (nullable)nullable
- logo_urlstring (nullable)nullable
- primary_colorstring (nullable)nullable
#RRGGBBhex color; sendnullto clear. - report_sections_configWhiteLabelReportSectionsPatch (nullable)nullable
Per-section toggles for report exports. Only the keys you send are merged with the persisted blob; send
nullto clear the blob entirely. - secondary_colorstring (nullable)nullable
Example payload
{
"logo_url": "https://cdn.acmecoffee.example.com/brand/logo-2026.png",
"primary_color": "#C0392B",
"report_sections_config": {
"show_citation_table": false,
"show_competitor_ranking": false
}
}Responses
Owning brand id (UUID).
- brand_sections_configWhiteLabelBrandSections (nullable)nullable
Per-section toggles for brand exports.
- company_namestring (nullable)nullable
Display name shown next to the logo / in the footer.
- cover_subtitlestring (nullable)nullable
Subtitle rendered on the report cover page.
- cover_titlestring (nullable)nullable
Title rendered on the report cover page.
- created_atstring (nullable)nullable
ISO-8601 timestamp the row was first written.
- logo_urlstring (nullable)nullable
Public URL of the logo rendered in headers and the cover page.
- objectstring
Always
white_label. - primary_colorstring (nullable)nullable
Primary brand color in
#RRGGBB. - report_sections_configWhiteLabelReportSections
Per-section toggles for report exports.
Show fields
- show_category_performanceboolean
- show_citation_leaderboardboolean
- show_citation_tableboolean
- show_competitor_rankingboolean
- show_cover_pageboolean
- show_header_logoboolean
- show_missed_promptsboolean
- show_platform_matrixboolean
- show_platform_performanceboolean
- show_prompt_ranksboolean
- show_prompt_trendsboolean
- show_ranked_promptsboolean
- show_region_breakdownboolean
- show_run_history_tableboolean
- show_stats_cardsboolean
- show_trend_chartboolean
- show_visibility_scoreboolean
- secondary_colorstring (nullable)nullable
Secondary brand color in
#RRGGBB. - updated_atstring (nullable)nullable
ISO-8601 timestamp of the last write.
Example response
{
"brand_id": "3f9c7e8a-1b6a-4d8e-92cf-7d9c8b1e2a04",
"company_name": "Acme Coffee Roasters",
"cover_subtitle": "Monthly AI search performance for our wholesale catalog.",
"cover_title": "Acme Coffee Visibility Report",
"created_at": "2026-01-12T15:23:04.512Z",
"footer_email": "hello@acmecoffee.example.com",
"footer_phone": "+1-415-555-0117",
"footer_website": "https://acmecoffee.example.com",
"logo_url": "https://cdn.acmecoffee.example.com/brand/logo.png",
"object": "white_label",
"primary_color": "#C0392B",
"report_sections_config": {
"show_category_performance": true,
"show_citation_leaderboard": true,
"show_citation_table": true,
"show_competitor_ranking": true,
"show_cover_page": true,
"show_footer": true,
"show_header_logo": true,
"show_missed_prompts": true,
"show_platform_matrix": true,
"show_platform_performance": true,
"show_prompt_ranks": true,
"show_prompt_trends": true,
"show_ranked_prompts": true,
"show_region_breakdown": true,
"show_run_history_table": true,
"show_stats_cards": true,
"show_trend_chart": true,
"show_visibility_score": true
},
"secondary_color": "#2C3E50",
"updated_at": "2026-04-01T09:00:11.412Z"
}Show fields
Stable machine-readable error code from the catalog.
Human-readable description suitable for logging.
- detailsobject
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
- request_idstring
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "validation_error",
"message": "Request validation failed"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}Show fields
Stable machine-readable error code from the catalog.
Human-readable description suitable for logging.
- detailsobject
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
- request_idstring
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "unauthorized",
"message": "Missing or invalid credentials"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}Show fields
Stable machine-readable error code from the catalog.
Human-readable description suitable for logging.
- detailsobject
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
- request_idstring
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "forbidden",
"message": "You do not have permission to access this resource"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}Show fields
Stable machine-readable error code from the catalog.
Human-readable description suitable for logging.
- detailsobject
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
- request_idstring
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "not_found",
"message": "Resource not found"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}Show fields
Stable machine-readable error code from the catalog.
Human-readable description suitable for logging.
- detailsobject
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
- request_idstring
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "conflict",
"message": "Resource conflict"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}Show fields
Stable machine-readable error code from the catalog.
Human-readable description suitable for logging.
- detailsobject
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
- request_idstring
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "body_validation_error",
"message": "Request body did not match the expected schema"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}Show fields
Stable machine-readable error code from the catalog.
Human-readable description suitable for logging.
- detailsobject
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
- request_idstring
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "rate_limit_exceeded",
"message": "Per-minute rate limit exceeded"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}Show fields
Stable machine-readable error code from the catalog.
Human-readable description suitable for logging.
- detailsobject
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
- request_idstring
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "internal_error",
"message": "An unexpected error occurred"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}Show fields
Stable machine-readable error code from the catalog.
Human-readable description suitable for logging.
- detailsobject
Optional, code-specific context (e.g.
errorsarray forvalidation_error,retry_afterforservice_unavailable). Shape depends onerror.code; treat as opaque otherwise.Show fields
Empty object (no properties).
- request_idstring
Server-generated correlation id for the request. Mirrors the
X-Correlation-IDresponse header. Include this when contacting support.
Example response
{
"error": {
"code": "service_unavailable",
"message": "Service temporarily unavailable, please retry"
},
"request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}