ファイルをアップロードする
「ファイル」ページの「アップロード」ボタンと同じように、ファイルをワークスペースに保存する。本文はファイルそのもので、JSON でも multipart でもなく、型は `Content-Type` に入れる。
実際の呼び出しを、ご自身のキーで自分のワークスペースに対して実行します。
POST /files
「ファイル」ページの「アップロード」ボタンと同じように、ファイルをワークスペースに保存する。本文はファイルそのもので、JSON でも multipart でもなく、型は Content-Type に入れる。
例
threads:write が必要。ファイル名はクエリパラメーター filename か、URI エンコードした X-Filename ヘッダーで指定する。応答はファイルを含む 201 で、その id は { fileId } として送信に添付できる。
curl -X POST "$OE/files?filename=price-list.pdf" -H "$AUTH" -H 'content-type: application/pdf' --data-binary @price-list.pdf{ "object": "file", "id": "file_0c4e7a91d2b84f63a5e19b7d", "filename": "price-list.pdf", "mimeType": "application/pdf", "sizeBytes": 248112, "direction": "uploaded", "threadId": null, "messageId": null, "deliveredTo": null, "usage": null, "deletable": true, "createdAt": "2026-09-24T09:12:40.000Z"}名前は拒否されずに整えられる。ファイル名に使えない文字は _ になり、255 文字を超える名前は拡張子を残して切り詰められる。MIME タイプでない Content-Type は application/octet-stream として保存される。
名前がなければ 400 upload_no_name、プログラムやスクリプトは 400 upload_dangerous、空の本文は 400 upload_empty、100 MB を超えるファイルは 413 upload_too_large になる。
ワークスペースが受け付けるアップロードは 1 時間に 500 件で、削除したものも数に入る。同時に保持できるアップロード済みファイルは 10 GB まで。これを超えると応答は 429 upload_rate_limited か 507 upload_storage_full になる。502 upload_failed はストレージの失敗を意味し、再試行する価値がある。
すべてのアドレスに届くキーはワークスペース全体にアップロードし、deliveredTo は null になる。特定のアドレスやドメインに限定されたキーは持っている最初のアドレスにアップロードし、アドレスを 1 つも持たないキーは 403 upload_no_address になる。