Creates a GCS resumable upload session behind our domain. The caller PUTs file chunks to the returned uploadUrl with Content-Range headers.
Clerk session JWT or Unkey API key passed as Bearer token
Optional. Identifies the end-user when authenticating with an API key. Ignored when authenticating with a Clerk JWT (the user ID is extracted from the token).
"user_abc123"
Optional. Email of the external user, used for audit logging. Only applicable when authenticating with an API key.
"user@example.com"
Original file name including extension
1Total file size in bytes. Must not exceed the format-specific limit (e.g. 30 MB for PDF/images, 2 GB for video/audio, 10 MB for documents)
MIME type (e.g. application/pdf, image/png)
1Upload initiated — use uploadUrl to PUT file chunks
Server-generated upload identifier
Relative URL for chunk uploads: PUT /v1/uploads/{uploadId}
Maximum bytes per PUT chunk request (default 50 MB). Final chunk may be smaller.
Correlation ID for request tracing. Include in support requests.