Upload a file
POST/api/v1/files/upload
Uploads a file to the server and stores it in the configured storage directory
Request
Responses
- 201
- 400
- 401
- 403
- 409
- 413
- 429
- 500
File uploaded successfully
Missing file or invalid project
Authentication required
Insufficient permissions
The project's storage_bytes quota is exceeded (QUOTA_STORAGE_EXCEEDED). Delete stored content, or raise the quota — no window reset clears a stored total, so no Retry-After is sent.
The upload is over this deployment's byte ceiling (UPLOAD_TOO_LARGE; FILE_UPLOAD_MAX_BYTES, 25 MB by default). The request is refused while the body is still streaming, so nothing was stored.
QUOTA_EXCEEDED — a requests quota on the calling API key or its project is spent for the window; Retry-After says when it reopens
Response Headers
Seconds until the quota window admits a request again
Unexpected server error — INTERNAL_ERROR, with the raw message never forwarded