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 15 days ago
