Media upload
Media upload, with the permissions the key’s creator has in DUMA today.
POST
https://api.duma-business.com/v1/manage/cms/assets/uploadmedia:writeSecret key only
Request example
Example request
curl -X POST "https://api.duma-business.com/v1/manage/cms/assets/upload" \
-H "Authorization: Bearer dk_sec_…" \
-H "Content-Type: application/json" \
-d '{ … }'Request body
JSON, sent with Content-Type: application/json.
fileNamestringRequired- 1–255 characters.
mimeTypestringRequired- Up to 120 characters.
fileBase64stringRequired- Base64 bytes for small files (MCP request limit 1 MB). For files up to 25 MB use multipart REST with field file; workspace_info returns upload URLs. 4–35000000 characters.
Optional
titlestring | null- Can be null.
altTextstring | null- Can be null.
folderstring | null- Can be null.
tagsstring[]- Up to 30 items.
idempotencyKeystring- Stable unique request identifier. Reuse unchanged on retry. Requires Redis; retained results prevent duplicate writes. 8–128 characters.
Response
- 200Management result
- 201Created
- 204Deleted
- 400Validation failed — invalid request body
- 401Unauthorized — missing or invalid bearer token
- 403Scope, owner access, or module denied
- 409Version, reference or retry conflict
- 429Too many requests — rate limited