跳转到主要内容
POST /api/v1/cloud/files 上传一个文本类文件,并返回 File 对象

请求头

头部必选说明
AuthorizationBearer <PAT>
Content-Typemultipart/form-data

请求体

字段类型必选说明
filefile文本类文件内容。支持类型见支持上传的文件类型
namestring存储文件名。不传时使用上传文件名。服务端清理后长度必须为 1-255 byte,且不能是 ...
metadataJSON string作为表单字段传入的合法 JSON。原始长度最大 8 KB,省略时为 {}

示例请求

curl -X POST "https://api.qoder.com/api/v1/cloud/files" \
  -H "Authorization: Bearer $QODER_PAT" \
  -F "file=@./my-document.txt" \
  -F "name=my-document.txt" \
  -F 'metadata={"project":"demo"}'

示例响应

HTTP 200 OK
{
  "id": "file_019e3bb8c1387743bf4ef115aae5acb1",
  "type": "file",
  "filename": "my-document.txt",
  "mime_type": "text/plain",
  "size_bytes": 110,
  "downloadable": false,
  "scope": null,
  "metadata": {
    "project": "demo"
  },
  "created_at": "2026-05-18T15:33:44Z"
}

响应字段

字段类型说明
idstringFile ID,前缀为 file_
typestring固定为 "file"
filenamestring存储后的文件名
size_bytesinteger文件大小,单位 byte
mime_typestring上传时提供或根据文件名检测出的 MIME type
downloadableboolean是否可通过 /content 端点下载
scopeobject | null文件关联到其他资源时的 scope,例如 { "id": "sess_...", "type": "session" }
metadataobject上传时传入的自定义元数据对象;省略时为 {}
created_atstringUTC 创建时间,RFC 3339 格式

注意事项

  • multipart 请求体限制约为 5 MB 文件内容加上表单开销。
  • 只接受文本类文件。二进制文档、图片、音视频和压缩包会被拒绝。
  • 服务端会对 name 取基础文件名,并将路径分隔符或空字节替换为 _

错误码

HTTPtype触发条件
400invalid_request_error缺少 file、multipart 表单非法、文件类型不支持、name 非法、metadata 非法或请求体过大
401authentication_error缺少或无效的认证令牌
500api_error文件存储后端不可用
完整错误信封说明详见 错误参考

相关

附加与下载文件

上传文件为 Agent 提供上下文,并下载 Agent 产出的文件。