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:
get_asset_upload_url← You are here — Get anupload_idandupload_url.- Upload the file — Send the file to
upload_urlwith an HTTPPUTrequest and capture theETagresponse header. - finalize_asset_upload — Complete the upload with the
upload_idandetag, and attach the asset to a file/doc column.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileName | string | Yes | The name of the file to upload, including extension (e.g. "report.pdf"). |
| contentType | string | Yes | The MIME type of the file (e.g. "application/pdf", "image/png", "text/plain"). |
| fileSize | number | Yes | The 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.pdfSave 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.
Updated about 4 hours ago
