Call the requestUploadUrl MCP tool
Mint a signed HTTP PUT URL so file bytes travel over HTTP instead of through the model. Use this instead of uploadAsset image_base64 whenever the environment can execute an HTTP PUT (a shell with curl, a script): call this, PUT the file to upload_url, then call finalizeAsset with the returned asset_token to validate the bytes and get the hosted URL. The staged upload sits in a private staging area and is NOT usable until finalizeAsset accepts it, and is deleted automatically if never finalized within 24 hours. URL is single-object and expires. Accepted, decided by bytes not by declared content type: png/jpeg/webp/gif (5 MB), pdf (20 MB), docx (10 MB), markdown or plain text (200 KB); never svg or html. The result carries an instructions field with a ready-to-run curl line and a PowerShell (Invoke-WebRequest) line for the PUT.
Called through the Actions bridge: the response is that tool's own result, wrapped as { data: <tool result> } under HTTP 200. Billing, daily-cap, and confirm-step outcomes are embedded INSIDE data, never remapped to an HTTP status (see the templated /api/v1/actions/{toolName} operation above for the full protocol, and x-mcp-actions for this tool's machine-readable scope/cap/confirm_behavior fields). Authentication, request-shape, and optional idempotency-protocol failures still use their documented non-200 statuses.
Request
- Base URL: https://app.reachium.io
- URL: https://app.reachium.io/api/v1/actions/requestUploadUrl
- Auth: HTTP bearer
Headers
Optional caller-generated key (8-200 characters: letters, digits, dot, underscore, colon, or hyphen). A final tool result is replayed for the same key and body. An ambiguous result remains 409 under that key; reconcile external state before using a new key. Reuse with a different body returns 422.
Request body
Response
The result of calling this tool.
Changes
No recorded changes to this operation across all 1 revision of this API.