アップロード用の署名付き URL を発行

POST/chat-rooms/:roomId/files/upload-url

ファイルは API を経由せず S3 へ直接アップロードします。この API が返す uploadUrl に対して、requiredHeaders をそのまま付けて PUT してください。Authorization ヘッダは付けないこと(署名が壊れます)。アップロード後に POST /chat-rooms/:roomId/files で登録します。上限は 10MB です。

認証要ログイン

パスパラメータ

roomIdstring必須

チャットルーム ID。

リクエストボディ

fileNamestring必須

ファイル名(255 文字まで)。

mimeTypestring必須

MIME タイプ。PUT の Content-Type と一致させること。

sizenumber必須

バイト数(10MB まで)。実サイズは登録時にサーバーが検証します。

リクエスト
curl https://api.4s.link/chat-rooms/ROOM_ID/files/upload-url \
-X POST \
-H "Authorization: Bearer 4s_at_..." \
-H "Content-Type: application/json" \
-d '{
"fileName": "report.pdf",
"mimeType": "application/pdf",
"size": 1234567
}'
レスポンス例
{
"uploadUrl": "https://.../chat-file-uploads/...?X-Amz-Signature=...",
"uploadKey": "chat-file-uploads/r1a2b3c4-.../a1b2c3d4-.../....pdf",
"expiresIn": 300,
"requiredHeaders": { "Content-Type": "application/pdf", "Content-Length": "1234567" }
}