Upload files to Whop for use in courses, forums, profiles, and more. The SDK provides a simpleDocumentation Index
Fetch the complete documentation index at: https://docs.whop.com/llms.txt
Use this file to discover all available pages before exploring further.
upload method that handles the entire process for you.
upload method:
- Creates a file record with a presigned URL
- Uploads your file to storage
- Polls until processing is complete
- Returns the ready file with its final URL
Public vs private files
Every file you upload has a visibility that controls how it can be accessed. You choose visibility at upload time — it cannot be changed after.| Visibility | URL type | Who can access | Use for |
|---|---|---|---|
public (default) | Permanent, unsigned CDN URL | Anyone with the link | Product images, thumbnails, branding, marketing assets |
private | Signed URL that expires | Only your app, via the API | User-uploaded documents, sensitive content, AI-generated files |
Uploading a private file
Passvisibility: "private" when creating the file:
Accessing private files
Private file URLs expire. To get a fresh URL, retrieve the file by ID:Using uploaded files
Once uploaded, use the file ID in any API call that accepts file attachments:File properties
| Property | Description |
|---|---|
id | Unique identifier (e.g., file_xxxxxxxxxxxxx) |
filename | Original filename |
content_type | MIME type (e.g., image/jpeg) |
byte_size | File size in bytes |
url | URL to access the file (signed and expiring for private files) |
upload_status | Status: pending, processing, ready, or failed |
visibility | public or private |

