Upload a logo
/branding/logosUploads a logo for the token's organisation, returning it with a Location. Send multipart file (an image up to 10 MB, no SVG), label and optionally public (default true). The logo already live for that label is replaced in the same step: it stops showing and its id returns 404, and its stored file is kept. Needs permission to change the organisation; a service identity cannot upload. dry_run stores nothing. Emits branding_logo.created and branding_logo.deleted per replaced logo; no email. DELETE /branding/logos/{id} undoes it.
Query parameters
Validate and run the call without committing it, returning what the real call would return with
meta.dry_runset.
Headers
Makes a retry safe. Send a new UUID for each new request and reuse it only to retry that request; the first response is replayed for 24 hours.
Request body
multipart/form-data, required
The logo image, up to 10 MB. SVG is not accepted.
- One of:
Where the logo shows: connectLogo Connect page logo, connectHeader Connect page header, navBarAlt navigation bar logo on a light theme, loginLogo sign-in logo, loginLogoLight sign-in logo for light backgrounds, emailLogo email header logo, faviconLogo browser tab icon.
connectLogo,connectHeader,navBarAlt,loginLogo,loginLogoLight,emailLogo,faviconLogo - Default:
Whether the logo is public. The platform shows only public logos to users. Send true or false.
true
Responses
{
"data": {
"id": 1,
"label": "connectLogo",
"public": true,
"file_name": "string",
"mime_type": "string",
"file_size": 1,
"url": "string",
"created_at": "2026-06-12T10:00:00+00:00",
"updated_at": "2026-06-12T10:00:00+00:00"
}
}Authorization failed. error.code is one of org_disabled,
ip_blocked, missing_scope, scope_disabled, user_disabled.
The request can't be processed (HTTP 422): validation_failed with one ErrorDetail per
problem, or a code documented on the operation.
Examples
curl -X POST https://your-org-domain/kong/core/api/v2/branding/logos\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"