> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wpos.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Branding

> White-label the assistant your customers see: set the agency name, logo, and accent color per site, or a partner-wide default.

White-label branding, called handoff, replaces every WPOS mark your customer would
otherwise see with your own. It applies to the assistant inside the customer's
wp-admin and to the [embedded assistant](/partners/embed) in your product. Setting
it needs the `handoff` scope.

## Set branding on a site

`POST /sites/:siteId/handoff` turns handoff on for a site and sets its branding.

```bash theme={null}
curl -X POST https://api.wpcursor.com/api/partner/v1/sites/site_.../handoff \
  -H "X-Partner-Key: $WPOS_PARTNER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "handoffMode": true,
    "agencyName": "Acme Agency",
    "logoUrl": "https://acme.com/logo.svg",
    "primaryColor": "#1B3A6B",
    "showChat": true
  }'
```

| Field          | Notes                                                                                                    |
| -------------- | -------------------------------------------------------------------------------------------------------- |
| `handoffMode`  | Turn white-labeling on or off for the site.                                                              |
| `agencyName`   | The name shown in place of WPOS.                                                                         |
| `logoUrl`      | Must be an `https://` URL. Shown in place of the WPOS wordmark.                                          |
| `primaryColor` | A six-digit hex color, for example `#1B3A6B`, applied as the accent.                                     |
| `showChat`     | Whether the branded assistant is visible in the customer's wp-admin. Defaults to on for partner handoff. |

<Note>
  Omit a branding field with `handoffMode` on and it falls back to your
  partner-wide default for that field. Set your defaults with WPOS so every site
  you hand off is branded without you sending them each time.
</Note>

Validation is strict: a `logoUrl` that is not https, or a `primaryColor` that is
not a six-digit hex, returns `validation_error`. WPOS persists the branding, then
pushes it to the live WordPress site. The response tells you both:

```json theme={null}
{ "success": true, "persisted": true, "pushed": true }
```

If the site could not be reached, `pushed` is `false` with a `pushError`, but the
branding is saved and syncs on the site's next check-in.

## What your customer sees

With handoff on, the assistant drops every WPOS and WPCursor name, wordmark, and
outbound link, and renders your agency name, logo, and accent color instead. Turn
`handoffMode` off and the site returns to the default appearance with no visual
trace of the change.

## Reading branding back

Branding comes back on each site in
[`GET /accounts/:accountId/sites`](/partners/accounts#list-an-accounts-sites)
under the `handoff` object, so you can show your customers their current
configuration.

## Next

<Card title="Embed the assistant" icon="window" href="/partners/embed">
  The embedded assistant uses this same branding.
</Card>
