---
title: "Set Widget Branding"
method: POST
path: "/api/admin/widgets/branding"
tags: ["Admin"]
---

# Set Widget Branding

`POST /api/admin/widgets/branding`

## Request

- Base URL: `https://api.xfinlab.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.xfinlab.com/api/admin/widgets/branding`
- Auth: none declared

2026-08-09 (white-label Tier A, XFINLAB_Final_Strategy.md P2/P3):
admin-only setter for a Pro/Enterprise client's embed-widget branding
(services/widget_branding_service.py). No self-serve UI yet -- same
"admin sets it up per paying client" convention as
/intelligence/admin/issue-key, since Pro/Enterprise billing itself is
still manual. body: {api_key, brand_name, accent_color, logo_url,
badge_mode}. badge_mode='hidden' (fully remove the XFINLAB badge) is
rejected unless the key's tier is 'enterprise' -- the service layer
itself enforces this, this endpoint is just the auth gate.

## Query parameters

- `token` string, required

## Request body

- object

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/xfinlab/apis/xfinlab-api.md) · [All operations](https://skmtc.dev/xfinlab/apis/xfinlab-api/llms.txt) · [OpenAPI document](https://skmtc.dev/xfinlab/apis/xfinlab-api/revisions/205f85614bc6?raw)
