POST /v1/files
テキストベースのファイルをアップロードし、ファイルオブジェクトを返します。
ヘッダー
| ヘッダー | 必須 | 説明 |
|---|---|---|
| Authorization | はい | Bearer $QODER_PAT |
| Content-Type | はい | multipart/form-data |
リクエストボディ
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
file | file | はい | テキストベースのファイル内容。サポートされるアップロードファイルタイプを参照 |
name | string | いいえ | 保存されるファイル名。デフォルトはアップロードされたファイル名。サーバーのサニタイズ後、長さは 1-255 バイトで . や .. は不可 |
purpose | string | いいえ | ファイル用途。デフォルトは user_upload。ファイル用途を参照 |
metadata | JSON string | いいえ | フォームフィールドとしてエンコードされた有効な JSON。最大サイズは 8 KB。デフォルトは {} |
リクエスト例
レスポンス例
HTTP 201 Createdレスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
file_id | string | ファイル ID(file_ プレフィックス) |
filename | string | 保存されたファイル名 |
size_bytes | integer | ファイルサイズ(バイト) |
mime_type | string | アップロード時に指定された MIME タイプ、またはファイル名から検出された MIME タイプ |
purpose | string | ファイル用途。ファイル用途を参照 |
status | string | ファイル状態。ファイルステータスを参照 |
metadata | JSON value | アップロード時に指定されたメタデータ JSON |
created_at | string | 作成時刻(RFC 3339 形式の UTC) |
updated_at | string | 更新時刻。created_at と異なる場合のみ返されます |
session_id | string | ファイルが Session に関連付けられている場合に返されます |
注意事項
- multipart リクエストボディはファイルコンテンツ約 5 MB とマルチパートオーバーヘッドに制限されます。
- テキストベースのファイルのみ受け付けます。バイナリドキュメント、画像、音声、動画、アーカイブファイルは拒否されます。
- サーバーは
nameをサニタイズし、ベースファイル名を保持してパスセパレータやヌルバイトを_に置換します。
エラーレスポンス
| HTTP | type | 説明 |
|---|---|---|
| 400 | invalid_request_error | file の欠落、無効なマルチパートフォーム、サポートされていないファイルタイプ、無効な purpose、無効な name、無効な metadata、またはリクエストボディが大きすぎる |
| 401 | authentication_error | 認証トークンが欠落または無効 |
| 500 | api_error | ファイルストレージバックエンドが利用不可 |
関連項目
ファイルの添付とダウンロード
Agent にコンテキストを提供するファイルをアップロードし、Agent が生成したファイルをダウンロードします。