---
title: "Upload organization icon"
method: POST
path: "/api/public/organizations/{id}/icon"
tags: ["Organizations"]
---

# Upload organization icon

`POST /api/public/organizations/{id}/icon`

## Request

- Base URL: `https://charts.basedash.com`
- URL: `https://charts.basedash.com/api/public/organizations/{id}/icon`
- Auth: HTTP bearer

Uploads an icon image for an organization. The image is stored and the organization is updated with the new icon URL. Requires admin access.

## Path parameters

- `id` string, required: Organization ID

## Request body `multipart/form-data`

- object
  - `icon` string, binary: Image file (JPEG or PNG). Maximum size: 2 MB.

## Response `200`

Icon uploaded successfully

- object
  - `data` object, required
    - `iconUrl` string, required: URL of the uploaded icon

## Other responses

- `400`: Bad request - Invalid file type, missing file, or malformed request
- `401`: Unauthorized - Missing or invalid API key
- `404`: Not found - Organization not found or no admin access
- `413`: Payload too large - File size exceeds 2 MB limit
- `429`: Rate limit exceeded - Too many requests
- `500`: Internal server error
- `503`: Service unavailable - S3 storage is not configured

---

[API](https://skmtc.dev/basedash/apis/basedash-public-api.md) - [All operations](https://skmtc.dev/basedash/apis/basedash-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/basedash/apis/basedash-public-api/revisions/efb9d40bc6f7?raw)
