Skip to main content
POST
/
v2
/
file.upload
UploadFile
curl --request POST \
  --url https://api.manus.ai/v2/file.upload \
  --header 'Content-Type: application/json' \
  --header 'x-manus-api-key: <api-key>' \
  --data '
{
  "filename": "<string>"
}
'
{
  "ok": true,
  "request_id": "<string>",
  "file": {
    "id": "<string>",
    "filename": "<string>",
    "status": "pending",
    "created_at": 123
  },
  "upload_url": "<string>",
  "upload_expires_at": 123
}
Questions or issues? Contact us at api-support@manus.ai.

Authorizations

x-manus-api-key
string
header
required

Body

application/json
filename
string
required

Name of the file to upload, including extension (e.g., "report.pdf", "data.csv"). The extension helps determine the file type.

Response

File record created successfully.

ok
boolean

Whether the request was successful.

Example:

true

request_id
string

Unique identifier for this API request.

file
object

The created file record. Status will be pending until the upload completes.

upload_url
string

Presigned S3 URL for uploading the file content. Send a PUT request with the file bytes as the body. Expires in 3 minutes.

upload_expires_at
integer<int64>

Unix timestamp (seconds) when the upload_url expires. Complete the upload before this time.