Upload a file
upload_filePut a file online and get a short public link. Pass text directly, or base64 with encoding="base64" for binary files (images, PDFs, zips). An .html file becomes a web page; a .zip containing index.html becomes a website. Returns the URL and expires_at; anonymous callers also get a manage_token. Status may be "checking"/"publishing" (call get_link before sharing) or "unpublished" (not published). Limit 20 MB inline; use create_upload_session for bigger files.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Custom link name (3-40 letters, digits, dashes); available on plans with custom names. | |
| content | Yes | File content: plain text, or base64 when encoding is "base64" (use base64 for any binary file). | |
| encoding | No | How `content` is encoded. | text |
| filename | Yes | File name including extension, e.g. "report.pdf" or "index.html". The extension decides how the link renders. | |
| password | No | Visitors must enter this password to open the link; available on plans with password protection. | |
| mime_type | No | Optional MIME type; used to add a missing file extension. |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The public link to share. | |
| kind | Yes | html | site | file | bundle | pending | |
| slug | Yes | ||
| title | Yes | ||
| views | Yes | View count; null when the link's account plan has no view counts, or the link has no account. | |
| status | Yes | checking = not live yet (poll get_link); live = shareable; unpublished = not published; publishing = will be live soon (poll get_link); in_review = not available right now; removed = removed by moderation (see removed_reason, appeal_url). | |
| permanent | Yes | ||
| appeal_url | No | Only with status removed: mailto link to appeal to abuse@putit.online. | |
| created_at | Yes | ||
| expires_at | Yes | ISO time the link stops working; null for permanent links. | |
| file_count | Yes | ||
| manage_url | No | Private page to manage/delete the link. Only returned on creation; keep it secret. | |
| size_bytes | Yes | ||
| checkout_url | No | Only with status unpublished: the page where the uploader can publish this link. | |
| manage_token | No | Secret token for get_link/delete_link without an account. Only returned on creation. | |
| removed_reason | No | Only with status removed: why, in plain words. | |
| status_message | Yes | ||
| removed_category | No | Only with status removed: the moderation category (malware, phishing, explicit, …); null when not disclosed. | |
| password_protected | Yes |