diagnoseUrl
Check whether a remote HTTPS URL can be used by GetFileURL remote ingest.
POST/v1/diagnostics/urlURL diagnostics use the same outbound URL policy as remote URL ingest. The submitted URL is returned sanitized to the caller, but Convex diagnostic history stores only hostnames and URL hashes.
request bodyresponses 200, 400, 401, 403, 410, 429, 500
listFiles
List file metadata for the authenticated workspace.
GET/v1/filesno request bodyresponses 200, 400, 401, 403, 410, 429, 500
uploadFile
Upload a file and receive a controlled public file URL.
POST/v1/filesrequest bodyresponses 201, 400, 401, 403, 410, 413, 415, 429, 500
deleteFile
Delete a file and revoke its public file URL.
DELETE/v1/files/{file_id}no request bodyresponses 202, 204, 401, 403, 404, 410, 429, 500
getFile
Retrieve file metadata for one file in the authenticated workspace.
GET/v1/files/{file_id}no request bodyresponses 200, 400, 401, 403, 404, 410, 429, 500
createSignedDeliveryUrl
Create a signed CDN delivery URL and require signed delivery for the file.
POST/v1/files/{file_id}/signed-urlrequest bodyresponses 201, 400, 401, 403, 404, 410, 429, 500
uploadFileFromUrl
Fetch a remote HTTPS URL into GetFileURL and return a controlled public file URL.
POST/v1/files/from-urlRemote URL uploads require HTTPS, no URL credentials, standard port 443, an allowed public host, and a valid Content-Length header before quota is reserved.
request bodyresponses 201, 400, 401, 403, 410, 413, 415, 429, 500
createUploadSession
Create a bounded multipart upload session for files larger than the standard upload limit.
POST/v1/upload-sessionsCreates a Convex-controlled upload session and an R2 multipart upload. The API key remains server-side; clients upload each part through GetFileURL's Upload/API Worker rather than receiving raw public R2 credentials or URLs.
request bodyresponses 201, 400, 401, 402, 403, 410, 413, 415, 429, 500
completeUploadSession
Complete a multipart upload session and return the controlled file URL.
POST/v1/upload-sessions/{upload_session_id}/completeCompletes the R2 multipart upload, verifies the completed object size against the declared session size, finalizes Convex file state, and returns the same file response shape as standard upload.
no request bodyresponses 201, 400, 401, 403, 404, 410, 429, 500
uploadUploadSessionPart
Upload one part for a multipart upload session.
PUT/v1/upload-sessions/{upload_session_id}/parts/{part_number}Uploads a single binary part through the Upload/API Worker. The request must include a valid `Content-Length`; all non-final parts must match the session `part_size`, and the final part may be smaller.
request bodyresponses 200, 400, 401, 403, 404, 410, 429, 500
getWorkspaceUsage
Retrieve sanitized usage and limits for the authenticated workspace.
GET/v1/usageReturns Convex source-of-truth usage rollups, workspace usage state, plan limits, grace limits, and support target for the API key's workspace. It does not expose Stripe identifiers, billing provider records, private object keys, raw customer file URLs, or customer file contents.
no request bodyresponses 200, 400, 401, 403, 404, 410, 429, 500