Request Upload URL
request_upload_urlObtain an expiring upload URL for files up to 500MB scoped to a module. Upload the file bytes via PUT to that URL, then confirm the upload.
Instructions
DEFAULT upload path for every file (up to 500MB); upload_file is only the fallback if this flow fails. Flow: 1) call this tool, 2) PUT the raw bytes to uploadUrl with Content-Type exactly matching contentType (S3 rejects mismatches with 403), 3) call confirm_upload({ s3Key }) — its returned path is the File/Image field value for submit_activity. uploadUrl expires in ~1 hour; call again on expiry.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| module | Yes | Module name. Required — scopes the file to the module's storage folder. | |
| fileName | Yes | Original filename including extension (e.g. 'report.pdf') | |
| fileSize | Yes | File size in bytes. Must be > 0 and ≤ 500MB (524288000). | |
| contentType | No | MIME type. Must match the Content-Type header used in the PUT request. | application/octet-stream |
| workspaceId | No | Workspace ID. Omit if set via env or set_workspace; required in stateless/remote mode. |