upload
upload

Sign Video Upload

Mint a short-lived signed PUT URL for a coursework video.

Plain def: it holds a sync Session and calls GCS, so it runs on the threadpool rather than blocking the loop.

{content_type, size, filename?, org_id?}. The browser PUTs the file straight to the bucket with the returned headers, then calls /upload/video/complete with object_path. Nothing passes through the pod. Returns {"mode": "multipart"} when USE_GCS_STORAGE is off, and the client uses /upload/assignment-file instead.

post/api/upload/video/sign

Headers

authorizationstring nullable

Request body

object required

Response

Successful Response

{"stackTrail":"paths:/api/upload/video/sign:post:responses:200:content:application/json:schema","oasType":"schema","type":"unknown"}

Changes