v1
latestOpenAPI 3.1.02026-07-223261135.0 KBuploads
Create Upload Url
Mint a short-lived signed PUT URL for direct-to-storage upload.
Two-step flow for files above the gateway's ~32 MiB inbound cap:
- POST /v1/uploads/url with {filename, mime_type} → {upload_url, storage_key, ...}.
- PUT raw bytes to upload_url with Content-Type: <mime_type>.
- POST /v1/uploads/register with {storage_key} to receive a standard FileUploadResponse whose url is reusable as an attachment in start_design_task.
Files are still capped at settings.MAX_FILE_SIZE_BYTES (enforced at register time when the actual size is known). Signed URLs expire after expires_in_seconds (default 600s, max 3600s).
post/uploads/url
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.
Request body
Response
Successful Response