---
title: "Upload Domain Logo"
method: POST
path: "/api/v1/domains/{domain_id}/logo"
tags: ["Domains"]
---

# Upload Domain Logo

`POST /api/v1/domains/{domain_id}/logo`

## Request

- Base URL: `https://app.aimrank.io` (the document declares no server; this is the origin it was published from)
- URL: `https://app.aimrank.io/api/v1/domains/{domain_id}/logo`
- Auth: none declared

Upload a logo for a domain.

Mirrors the ranking-thumbnail upload pattern. Saves to
static/domain-logos/{domain_id}.{ext} via the storage backend
(S3 in prod, local FS in dev) and sets domain.image_url.
Returned URL works immediately on the domain detail page.

Owner-only — checked via the owner_id filter rather than the
full ranking-permission system because Domains don't have
collaborators yet.

## Path parameters

- `domain_id` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

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