---
title: "set or clear a hub project's custom logo"
method: POST
path: "/w/{workspace}/hub/projects/{slug}/logo"
tags: ["hubPublish"]
---

# set or clear a hub project's custom logo

`POST /w/{workspace}/hub/projects/{slug}/logo`

Requires the caller to be a workspace admin. Sets the project's custom
logo (base64 png/svg, decoded size max 512KB) or clears it when `logo`
is null; the `logo` field itself is required so an empty body cannot
clear the logo by accident. Forwards the request to the configured Hub
scoped to the `{workspace}:{folder}` source and returns the Hub's
status code and raw response body.

## Path parameters

- `workspace` string, required
- `slug` string, required — hub project slug (3-50 chars, lowercase alphanumeric and hyphens, no leading/trailing hyphen)

## Query parameters

- `folder` string, required

## Request body

- ProjectLogoBody
  - `logo` object, nullable, required — the logo to set, or null to clear the project's current logo
    - `b64` string, required — base64-encoded image bytes (decoded size max 512KB)
    - `mime` 'image/png' | 'image/svg+xml', required

## Response `200`

raw Hub response body (status code is passed through from the Hub)

---

[API](https://skmtc.net/windmill/apis/windmill-api.md) · [All operations](https://skmtc.net/windmill/apis/windmill-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/windmill/windmill-api/versions/155a35b3caff/schema)
