upload
upload

Upload Chat Image

Upload an image pasted/attached into a 1:1 or group call chat. Returns a 60-minute signed URL; the caller sends a chat message referencing it. Max file size: 8MB. Supported formats: JPG, PNG, WebP, GIF.

🔒 Used to target the PUBLIC fluentea-profile-pictures bucket with long-cache settings, unlike the DM/channel chat-image path (chat-image-ephemeral below), which was already migrated to the PRIVATE 30-day-expiry bucket served via short-lived signed URLs. This is the same exposure for call chat — including school class calls with minors — so a pasted image was a permanent, unauthenticated, publicly-fetchable URL forever. Now uploads to the same private bucket and returns a signed URL in the same {"success", "url"} shape the frontend already expects (no frontend change needed): in-call chat is not persisted server-side (see reference_incall_chat_not_persisted), so every viewer sees the image live, well within the 60-minute signed-URL window.

post/api/upload/chat-image

Headers

authorizationstring nullable

Response

Successful Response

{"stackTrail":"paths:/api/upload/chat-image:post:responses:200:content:application/json:schema","oasType":"schema","type":"unknown"}

Changes