---
title: "Upload file to Remote File Manager"
method: POST
path: "/v0/enterprise/{enterprise_id}/content/remote-file/"
tags: ["esper_cloud_api_Content"]
---

# Upload file to Remote File Manager

`POST /v0/enterprise/{enterprise_id}/content/remote-file/`

Uploads a file to the Remote File Manager bucket for temporary storage.

Accepts a multipart file upload up to 50MB and returns a file_key, bucket name, size, content type, and a pre-signed download_url. Files uploaded here are automatically deleted after 1 day, so this is intended for short-lived transfers rather than long-term content storage.

**About Upload File to Remote File Manager**

The Remote File Manager bucket is a temporary staging area distinct from Esper's main Content management system. Because files here are auto-deleted after 1440 minutes (1 day), it's best suited for short-lived use cases such as generating a one-time download link or briefly staging a file for another workflow, rather than for files devices need to reference long-term.

**Key Fields / Request Body**

file — the file to upload, required, maximum 50MB

filename — an optional custom filename; defaults to the uploaded file's name

content_type — an optional MIME type override, auto-detected if omitted

**Common Use Cases**

Generating a short-lived, shareable download link for a file

Staging a file temporarily for a downstream automation step

**Best Practices**

Do not rely on this endpoint for files that need to persist beyond 1 day; use the Content API for anything longer-lived

Capture the file_key immediately, since it is required to generate additional download URLs later

**Workflow**

POST the file as multipart form data to this endpoint

Capture the returned file_key and download_url

Use the generate_download_url endpoint with the file_key if you need a new pre-signed URL after the original expires

## Path parameters

- `enterprise_id` string, required

## Response `201`

File uploaded successfully

- object
  - `file_key` string — Unique storage key for the file
  - `bucket` string — Storage bucket name
  - `file_size` integer — Size of uploaded file in bytes
  - `content_type` string — Detected/validated MIME type
  - `auto_delete_after_minutes` integer — When file will be auto-deleted
  - `download_url` string — Pre-signed URL for downloading the file
  - `download_expires_in` integer — Download URL expiration time in seconds

## Other responses

- `400` — Bad request
- `401` — Authorization information is missing or invalid.
- `403` — Forbidden, no permission to perform this action.
- `413` — File too large (max 50MB)
- `500` — Internal server error

---

[API](https://skmtc.net/esper/apis/esper-api-reference.md) · [All operations](https://skmtc.net/esper/apis/esper-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/esper/esper-api-reference/versions/e1f64cbb488e/schema)
