Skip to main content
Артём маликов
New Member
September 28, 2026
Question

Figma MCP upload_assets returns HTTP 405

  • September 28, 2026
  • 1 reply
  • 9 views

Hello Figma Support,

I’m working in ChatGPT with the officially connected Figma MCP plugin. I have edit access to the target file, and other canvas editing actions work, but image uploads fail.

On September 28, 2026 at 16:18 UTC, I requested a fresh submitUrl from upload_assets for file E1r9TavVGj7XrvGMaL6RAb. Following the tool’s preferred instructions, I sent a 706,594-byte PNG via POST as multipart/form-data, with the image in the file field.

The endpoint on mcp.figma.com returned HTTP/2 405 Not Allowed, with a 163-byte HTML response from openresty/1.27.1.1. There was no Allow header or request ID, and the image was not placed.

Could you investigate why the fresh upload URL rejects the request format specified by upload_assets?

1 reply

Jaycee Lewis
Figmate
Figmate
September 28, 2026

Hi ​@Артём маликов 👋 Thank you very much for your detailed post.I have a few questions:

  • Could you share the upload_assets tool call and its complete response, especially the upload instructions? Seeing the HTTP request (method, URL path, Content-Type, and body format) and the response status, headers, and body is super helpful for troubleshooting. (Please redact the full submitUrl, including its query string, along with any credentials)
  • Was this in ChatGPT, the Codex app or CLI, or another client?

If you’re comfortable, here’s a quick test to see if we get success or another 4XX response:

Using the same session in Codex (if possible), request Codex to use fresh upload URL and send the same PNG as raw bytes:

curl -i --request POST \
--header 'Content-Type: image/png' \
--data-binary '@/path/to/image.png' \
'<fresh submitUrl from upload_assets>'

Make sure to replace both placeholders locally.

Talk soon! — Jaycee