# Upload to URL

> Get a public link for any file with Upload to URL: host images, PDFs, videos and documents, choose how long each link lasts, and publish HTML as a web page.

App · File Storage · 4 actions. Web page: https://docs.lodol.com/docs/integrations/upload-to-url

## Actions

### Delete a file

Permanently delete a file you uploaded. Its link stops working at once. A file that is already gone counts as deleted.

**Inputs**

- File (`file_id`, text, required): The file to delete: the file_id 'Upload a file' returned.

**Outputs**

- `deleted` (true/false): True once it is gone.
- `file_id` (text): The file deleted.
- `filename` (text): The name the deleted file was hosted under.
- `note` (text): Says so when the file was already gone. Empty otherwise.
- `status` (text): Status of the action execution ("success" on success).

**Example output**

```json
{
  "deleted": true,
  "file_id": "bc06ce7a-ad5c-4862-a2d3-d4d0f4186cad",
  "filename": "quarterly-report.pdf",
  "note": "",
  "status": "success"
}
```

### Get a file

Look up a file you uploaded: its public link, name, size, and when it expires.

**Inputs**

- File (`file_id`, text, required): The file to look up: the file_id 'Upload a file' returned.

**Outputs**

- `content_type` (text): The file's media type, e.g. application/pdf.
- `expired` (true/false): True once the link has stopped working.
- `expires_at` (text): When the link stops working and the file is deleted (ISO 8601). Empty when it never expires.
- `file_id` (text): The file's ID, for 'Get a file' and 'Delete a file'.
- `filename` (text): The name the file is hosted under.
- `size_bytes` (number): Size of the file in bytes.
- `status` (text): Status of the action execution ("success" on success).
- `uploaded_at` (text): When the file was uploaded (ISO 8601).
- `url` (text): The file's public link, to share, embed or send.

**Example output**

```json
{
  "content_type": "application/pdf",
  "expired": false,
  "expires_at": "2026-10-10T09:30:00+00:00",
  "file_id": "bc06ce7a-ad5c-4862-a2d3-d4d0f4186cad",
  "filename": "quarterly-report.pdf",
  "size_bytes": 52316,
  "status": "success",
  "uploaded_at": "2026-10-03T09:30:00+00:00",
  "url": "https://cdn.uploadtourl.com/29a23ae6-4d6a-4ba4-bc54-2603da5d82b8_quarterly-report.pdf"
}
```

### Publish a web page

Turn HTML into a live web page with its own public link, such as an email preview, a report or a landing page.

**Inputs**

- HTML (`html`, text, required): The page's HTML, e.g. <h1>Hello</h1>.
- Page address (`page_address`, text): Optional. The end of the page's link: spring-menu publishes at uploadtourl.com/spring-menu. Leave blank for a new address each time.
- Delete after (`delete_after`, text): How long the link keeps working before Upload to URL deletes the file. Your plan's default is 7 days on Free, 90 on Starter and a year on Pro. Free keeps files for up to 7 days; paid plans can keep them longer, or never delete them. One of: `default` (Your plan's default), `1` (1 day), `7` (7 days), `30` (30 days), `90` (90 days), `365` (1 year), `never`. Default: `default`.

**Outputs**

- `page_address` (text): The end of the page's link, e.g. spring-menu.
- `status` (text): Status of the action execution ("success" on success).
- `uploads_left` (number): How many uploads the account has left this month.
- `url` (text): The page's public link.

**Example output**

```json
{
  "page_address": "spring-menu",
  "status": "success",
  "uploads_left": 23,
  "url": "https://uploadtourl.com/spring-menu"
}
```

### Upload a file

Upload any file and get a public link to share, embed or send. Choose a file, use one from an earlier step, or paste a link.

**Inputs**

- File (`file`, text, required): The file to host: upload one, pick one from an earlier step, or paste a public link to it.
- Delete after (`delete_after`, text): How long the link keeps working before Upload to URL deletes the file. Your plan's default is 7 days on Free, 90 on Starter and a year on Pro. Free keeps files for up to 7 days; paid plans can keep them longer, or never delete them. One of: `default` (Your plan's default), `1` (1 day), `7` (7 days), `30` (30 days), `90` (90 days), `365` (1 year), `never`. Default: `default`.
- Save as (`save_as`, text): Optional. The file name to host it under, which also ends its link, e.g. menu.pdf. Leave blank to keep the file's own name.

**Outputs**

- `content_type` (text): The file's media type, e.g. application/pdf.
- `expires_at` (text): When the link stops working and the file is deleted (ISO 8601). Empty when it never expires.
- `file_id` (text): The file's ID, for 'Get a file' and 'Delete a file'.
- `filename` (text): The name the file is hosted under.
- `note` (text): A sentence when something differs from what was asked, such as the plan keeping the file for less time. Empty otherwise.
- `size_bytes` (number): Size of the file in bytes.
- `status` (text): Status of the action execution ("success" on success).
- `uploads_left` (number): How many uploads the account has left this month.
- `url` (text): The file's public link, to share, embed or send.

**Example output**

```json
{
  "content_type": "application/pdf",
  "expires_at": "2026-10-10T09:30:00+00:00",
  "file_id": "bc06ce7a-ad5c-4862-a2d3-d4d0f4186cad",
  "filename": "quarterly-report.pdf",
  "note": "",
  "size_bytes": 52316,
  "status": "success",
  "uploads_left": 24,
  "url": "https://cdn.uploadtourl.com/29a23ae6-4d6a-4ba4-bc54-2603da5d82b8_quarterly-report.pdf"
}
```
