---
title: "Upload Assignment File"
method: POST
path: "/api/upload/assignment-file"
tags: ["upload", "upload"]
---

# Upload Assignment File

`POST /api/upload/assignment-file`

Upload a school assignment document (teacher material or student
solution). Max 20MB; PDF/Office/text/image types. Returns the URL the
assignment or submission then references.

Also the FALLBACK rail for videos (MP4/MOV/WebM, 200 MB) when
USE_GCS_STORAGE is off and `/upload/video/sign` cannot hand out a direct
upload. The body is read into memory on one worker, and the ingress in
front of it must allow the size (gamma's `gamma-api-ingress` is at 150m),
so in production videos take the direct path.

## 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.dev/fluentea/apis/aurqa-language-learning-platform-refactored/revisions/be75c0eba493?raw)
