Create File
Creates a file and returns a presigned destination to upload its bytes to. PUT the bytes to upload_url (single-part), or to each of multipart_upload_urls and then call Complete File Multipart Upload. Once the bytes land the file becomes ready, and its ID can be attached wherever a file is accepted — account legal documents, dispute evidence documents.
Authorizations
An Account API key, account-scoped JWT, App API key, or user OAuth token. Prepend the key or token with Bearer, for example Bearer ***************************.
Headers
A unique key that makes this request safe to retry. See Idempotent requests.
255"d9105228-4a08-46b1-8b91-42fed586d383"
Pins the request to a dated API version.
"2026-08-25-2"
Body
The name of the file including its extension, e.g. terms.pdf.
"terms.pdf"
The file's size in bytes. Required when multipart is true. Multipart uploads support at most 10,000 parts of 5MB each (about 50 GB).
15728640
Upload the file in 5MB parts. Required for files larger than 5GB; useful above ~100MB. The file must be larger than 5MB.
true
public files are served via an unsigned CDN URL — use for assets anyone may see. private files are served via a signed, expiring URL — use for sensitive documents. Defaults to private.
public, private "public"
Response
file created with a single-part upload destination
The file's MIME type, e.g. application/pdf.
"application/pdf"
When the file was created, as an ISO 8601 timestamp.
"2026-01-01T12:00:00.000Z"
The original filename, including its extension.
"evidence.pdf"
The file's ID, prefixed file_.
"file_xxxxxxxxxxxxxx"
The type of this object, always file.
"file"
The file size in bytes. null until the upload has finished.
9670
Where the file is in its upload lifecycle.
pending, processing, ready, failed "pending"
A URL to download the file: a permanent CDN URL for public files, a signed expiring URL for private ones. null until the upload has finished.
"https://whop-assets-example.s3.amazonaws.com/uploads/audio/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
public files are served via an unsigned CDN URL; private files via a signed, expiring URL.
public, private "private"
The byte size each part (except the last) must be. Present only on create, and only for multipart uploads.
5242880
The ID of the multipart upload, passed back to complete. Present only on create, and only for multipart uploads.
"upload-id"
Headers to send with the upload PUT. Present only on create.
Presigned URL to PUT the file's bytes to. Present only on create, and only for single-part uploads.
"https://whop-assets-example.s3.amazonaws.com/uploads/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/application.pdf"

