# White-label branding (Enterprise)

Source: https://developers.leonai.io/docs/guides/white-label/

White-label branding lets you replace LeonAI's identity with your own on the public pages
your audience sees — link-in-bio pages and shared analytics pages. Set a logo, a brand
color, a brand name, and hide the "Powered by LeonAI" footer.

Reading branding is available on **any tier** (it returns sensible defaults). **Writing**
branding is an **Enterprise** feature — a `PUT` from a lower tier returns `403`.

## Read your branding

```bash
curl https://api.short.leonai.io/api/v1/branding \
  -H "X-API-Key: $LEONAI_API_KEY"
```

Response (`200 OK`):

```json
{
  "success": true,
  "data": {
    "logoUrl": null,
    "brandColor": "#14b8a6",
    "brandName": null,
    "hidePoweredBy": false
  }
}
```

`REST: GET /api/v1/branding`. On tiers below Enterprise this returns the defaults shown
above.

## Update your branding (Enterprise)

```bash
curl -X PUT https://api.short.leonai.io/api/v1/branding \
  -H "X-API-Key: $LEONAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "logoUrl": "https://cdn.example.com/logo.svg",
    "brandColor": "#ff5722",
    "brandName": "Acme Links",
    "hidePoweredBy": true
  }'
```

Response (`200 OK`):

```json
{
  "success": true,
  "data": {
    "logoUrl": "https://cdn.example.com/logo.svg",
    "brandColor": "#ff5722",
    "brandName": "Acme Links",
    "hidePoweredBy": true
  }
}
```

`REST: PUT /api/v1/branding`. All fields are optional — send only what you want to change.

| Field           | Notes                                          |
| --------------- | ---------------------------------------------- |
| `logoUrl`       | Absolute `http`/`https` URL of your logo       |
| `brandColor`    | Hex color in `#RRGGBB` form                    |
| `brandName`     | Text used in place of "LeonAI" on public pages |
| `hidePoweredBy` | `true` removes the "Powered by LeonAI" footer  |

## Where branding shows up

Public payloads carry a `branding` object (or `null` when none is set), so the pages can
theme themselves and optionally drop the LeonAI footer:

- [Link-in-bio](https://developers.leonai.io/docs/guides/link-in-bio/) — `GET /api/v1/public/bio/:slug`
- [Shareable analytics](https://developers.leonai.io/docs/guides/shareable-analytics/) — `GET /api/v1/public/analytics/:token`

## Error codes

| Status | When                                                           |
| ------ | -------------------------------------------------------------- |
| `400`  | `brandColor` is not `#RRGGBB`, or `logoUrl` is not a valid URL |
| `403`  | Writing branding on a tier below Enterprise (feature gated)    |

## Related

- [Link-in-bio](https://developers.leonai.io/docs/guides/link-in-bio/) — branded public profiles
- [Shareable analytics](https://developers.leonai.io/docs/guides/shareable-analytics/) — branded public reports
- [API Reference](https://developers.leonai.io/docs/api-reference/) — the full OpenAPI spec and Swagger UI
