跳转到内容

Files API

管理


GET /v1/files

列出认证团队拥有的文件,并进行分页处理。响应始终返回一个 `pagination_token`;将其作为查询参数传回以获取下一页。当返回的 `data` 数组长度小于 `limit` 时,表示已到达列表末尾。

查询参数

  • limit (整数) — 单次响应中返回的最大对象数量。

  • order (字符串) — 用于排序返回文件的顺序。使用 `asc` 表示升序,`desc` 表示降序。

  • sort_by (字符串) — 排序依据的字段。有效选项:`created_at`、`filename`、`size`。默认为 `created_at`。

  • pagination_token (字符串) — 上一次列出文件请求返回的分页令牌。

  • after (字符串) — 仅用于兼容性。请使用 `pagination_token`。

  • filter (字符串) — AIP-160 过滤表达式,用于缩小结果范围。

    可过滤字段:

    字段类型描述
    `name` (或 `file_name`)字符串文件名的模糊匹配
    `file_id`字符串文件 ID 的精确匹配
    `size_bytes`整数文件大小(字节)
    `content_type`字符串MIME 类型的部分匹配(例如 `"pdf"` 匹配 `"application/pdf"`)
    `created_at`时间戳RFC 3339 时间戳(例如 `"2024-01-01T00:00:00Z"`)
    `expires_at`时间戳RFC 3339 时间戳
    `upload_status`字符串上传状态(`"Complete"`)
    `user_defined_id`字符串用户定义 ID 的精确匹配

    运算符: `=`, `!=`, `>`, `>=`, `<`, `<=`

    逻辑运算: `AND`, `OR`, `NOT`

    示例:

    • `name:"quarterly report"` — 文件名的模糊匹配
    • `content_type = "pdf"` — PDF 内容类型的文件
    • `size_bytes > 1000000 AND created_at > "2024-01-01T00:00:00Z"` — 大于 1 MB 且在 2024 年 1 月 1 日之后创建的文件
    • `file_id = "file_abc123"` — 精确的文件 ID 匹配

响应体

  • data (数组<对象>, 必需) — 文件列表。

    • bytes (整数, 必需) — 文件大小,以字节为单位。

    • created_at (整数, 必需) — 文件创建时间的 Unix 时间戳(秒)。

    • expires_at (整数 | null) — 文件过期时间的 Unix 时间戳(秒)。如果文件不过期,则为 null。

    • filename (字符串, 必需) — 文件名。

    • id (字符串, 必需) — 文件标识符,可用于其他 API 请求。

    • object (字符串, 必需) — 对象类型,始终为 `file`。仅用于兼容性。

    • public_url (字符串 | null) — 文件的公共 URL。仅当文件具有活动的公共 URL 时存在。

    • public_url_expires_at (整数 | null) — 公共 URL 过期的 Unix 时间戳(秒)。仅当公共 URL 具有独立的过期时间时存在。

    • purpose (字符串) — 上传文件的预期用途。仅包含用于 OAI 兼容性。

  • pagination_token (字符串 | null) — 用于下一次请求的分页令牌。

响应示例:

json
{
  "data": [
    {
      "id": "file_a128090d-f0c9-4873-bd84-e499777e7417",
      "object": "file",
      "bytes": 12345,
      "created_at": 1762345678,
      "expires_at": null,
      "filename": "document.pdf",
      "purpose": ""
    }
  ],
  "pagination_token": "file_a128090d-f0c9-4873-bd84-e499777e7417"
}

GET /v1/files/{file_id}

通过 ID 检索单个文件的元数据。如果文件不存在、已被删除或已超过其 `expires_at`,则返回 404 错误。

路径参数

  • file_id (字符串, 必需) — 上传或列出操作返回的文件的 `id`。

响应体

  • bytes (整数, 必需) — 文件大小,以字节为单位。

  • created_at (整数, 必需) — 文件创建时间的 Unix 时间戳(秒)。

  • expires_at (整数 | null) — 文件过期时间的 Unix 时间戳(秒)。如果文件不过期,则为 null。

  • filename (字符串, 必需) — 文件名。

  • id (字符串, 必需) — 文件标识符,可用于其他 API 请求。

  • object (字符串, 必需) — 对象类型,始终为 `file`。仅用于兼容性。

  • public_url (字符串 | null) — 文件的公共 URL。仅当文件具有活动的公共 URL 时存在。

  • public_url_expires_at (整数 | null) — 公共 URL 过期的 Unix 时间戳(秒)。仅当公共 URL 具有独立的过期时间时存在。

  • purpose (字符串) — 上传文件的预期用途。仅包含用于 OAI 兼容性。

响应示例:

json
{}

PUT /v1/files/{file_id}

向 /v1/files/{file_id} 发送 PUT 请求的 API 端点。

Method: PUT
Path: /v1/files/{file_id}

DELETE /v1/files/{file_id}

通过 ID 删除文件。此请求返回后,文件将不再出现在 `GET /v1/files` 中,内容下载将返回 404,并且该 ID 无法再在聊天附件中被引用。

路径参数

  • file_id (字符串, 必需) — 要删除的文件的 `id`。

响应体

  • deleted (布尔值, 必需) — 文件是否已被删除。

  • id (字符串, 必需) — 文件的 ID。

  • object (字符串, 必需) — 对象类型,始终为 "file"。仅用于兼容性。

响应示例:

json
{
  "id": "file_a128090d-f0c9-4873-bd84-e499777e7417",
  "deleted": true
}

本文档为 docs.x.ai 全站中文翻译,由 AI 自动翻译生成。代码示例请以原文为准。