Get Asset Upload URL (Platform MCP)

Returns a presigned URL to upload a file to monday.com, the first step in attaching a file to an item using the Platform MCP.

Use this tool to get a presigned URL for uploading a file to monday.com. It returns an upload_id and an upload_url. This is the first step of a three-step upload flow — after uploading the file to the returned URL, call finalize_asset_upload to create the asset and attach it to an item.

🚧

This tool runs against the monday.com dev (preview) API schema (create_upload). The underlying API is subject to change until it is promoted to a stable API version.

The full upload flow is:

  1. get_asset_upload_url ← You are here — Get an upload_id and upload_url.
  2. Upload the file — Send the file to upload_url with an HTTP PUT request and capture the ETag response header.
  3. finalize_asset_upload — Complete the upload with the upload_id and etag, and attach the asset to a file/doc column.

Parameters

ParameterTypeRequiredDescription
fileNamestringYesThe name of the file to upload, including extension (e.g. "report.pdf").
contentTypestringYesThe MIME type of the file (e.g. "application/pdf", "image/png", "text/plain").
fileSizenumberYesThe file size in bytes. Maximum 500 MB (524288000 bytes).

Example

Request an upload URL for a PDF:

{
  "fileName": "report.pdf",
  "contentType": "application/pdf",
  "fileSize": 248320
}

The tool returns an upload_id, an upload_url, and a url_expires_at timestamp. Upload the file with PUT and capture the ETag header:

curl -i -X PUT "<upload_url>" \
  -H "Content-Type: application/pdf" \
  --data-binary @report.pdf

Save the ETag value from the response — you'll pass it to finalize_asset_upload.


Programmatic equivalent

This tool maps to the create_upload mutation on the monday.com dev (preview) API schema. There is no stable public GraphQL equivalent yet. For working with files on the stable API, see Assets.