---
title: "Upload Cover"
method: POST
path: "/organizations/{org_id}/cover"
tags: ["organizations", "organizations"]
---

# Upload Cover

`POST /organizations/{org_id}/cover`

Upload the school's cover photo. Owner/admin only. PNG/JPEG/WebP, max 8MB.

`PUT /branding` has always taken `cover_image_url`, which is the right shape
for a school that has its banner on its own web server and the wrong one for
every other school — a coordinator has a JPEG, not a URL, and until this
existed the only way to set a cover was a seeding script (see
`seed_demo_school.seed_branding`, which says so). The logo had an upload and
the cover did not, so half the branding screen could not be operated by the
person it is for.

Flattened onto white and capped at 1600px wide: the same "what every student
downloads" argument the logo's 512px cap is made of, one order of magnitude
up because this one is a photograph.

## Path parameters

- `org_id` string, required

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/fluentea/apis/aurqa-language-learning-platform-refactored.md) · [All operations](https://skmtc.dev/fluentea/apis/aurqa-language-learning-platform-refactored/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fluentea/aurqa-language-learning-platform-refactored/revisions/45cbba31aa7d/schema)
