v1

latestOpenAPI 3.1.02026-07-223261135.0 KB
uploads

Upload File

Upload a file and return a stable proxy URL.

The returned URL can be used as an attachment in start_design_task. Supports images, PDFs, Office documents (PowerPoint, Word, and Excel spreadsheets), CSV, plain-text/Markdown, and web-playable video (MP4, WebM, MOV).

Size limit: the API gateway caps inbound HTTP request bodies at ~32 MiB. Files above that size must use the two-step signed-URL flow (POST /v1/uploads/url + POST /v1/uploads/register) instead — the bytes go directly to storage and never traverse the gateway.

post/uploads

Headers

Moda-Version'2026-04-12' | '2026-05-01'
Example:2026-05-01

Calendar-dated API version pin. New integrations should pin 2026-05-01 to opt into the newest response shapes. For back-compat the server also accepts requests with no header and resolves them to the current default (today: 2026-04-12); that default advances on each sunset date. Any unsupported value returns 400 unsupported_version.

Response

Successful Response

idstring required

Unique file identifier (prefixed file_...).

urlstring required

Stable proxy URL for the uploaded file. Use this in attachment URLs.

filenamestring required

Filename of the uploaded file.

mime_typestring required

MIME type of the file.

size_bytesinteger nullable

File size in bytes.

was_duplicateboolean

True if an identical file already existed (deduplicated).

Example response

{
  "id": "file_01HT9WK8N3M2J4A5Z6P7Q8R9TV"
}