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