跳到主要内容
Sursa Developers

GET/v1/uploads/{upload_id}

获取上传

get_upload

返回上传状态和已收到的分段(parts:每个分段的编号、大小、SHA-256 和 ETag),这样在连接中断后,客户端只需发送缺少的分段。status:pending 表示等待分段和 complete,processing 表示正在组装和检查文件,ready 表示可以使用,rejected 表示已被拒绝(reject_reason),consumed 表示已被使用,expired 表示已过期。其他调用方的上传返回 404 uploads.not_found。在 1.62.0 中新增。

身份验证

在 Authorization 请求头中传入 API 密钥:Authorization: Bearer <密钥>。

路径参数

  • upload_idstring必填

    上传 ID(upl_ 后跟 32 个十六进制字符)。

    length ≤ 64

响应

200成功响应

响应头

  • RateLimit-Policy

    当前生效的限制,格式遵循 IETF 草案 draft-ietf-httpapi-ratelimit-headers:以逗号分隔的项 "<name>";q=<quota>;w=<window in seconds>。key 是 API 密钥的请求速率(配额即突发量,时间窗口是配额完全恢复所需的时间;会话为 user,无凭据时为 ip);minute、day 和 month 是组织按 UTC 计算的自然分钟、自然日和自然月的配额。

  • RateLimit

    RateLimit-Policy 中每项限制的剩余量:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policy 中最严格一项(剩余请求数最少的一项)的限额。

  • X-RateLimit-Remaining

    最严格限制下的剩余请求数。

  • X-RateLimit-Reset

    距最严格限制重置的秒数。

application/json

对象:Upload

  • idstring必填

    上传 ID(upl_ 后跟 32 个十六进制字符)。

  • purposeUploadPurpose必填
  • filenamestring必填

    文件名(不含文件夹)。

  • content_typestring必填

    声明的内容类型;未声明时为空。

  • sizeinteger (int64)必填

    文件大小(字节)。

  • sha256string | null必填

    文件的 SHA-256,在创建时或调用 complete 时声明;尚不知道时为 null。

  • statusUploadStatus必填
  • part_sizeinteger (int64)必填

    除最后一个分段外,每个分段的大小(5 到 100 MiB)。

  • part_countinteger必填

    分段数量。

    ≥ 1, ≤ 1000

  • parts_receivedinteger必填

    已接收的分段数量。

    ≥ 0

  • partsarray of UploadPart必填

    按编号列出的已接收分段(在 POST /v1/uploads 响应中为空)。

  • reject_reasonstring | null必填

    拒绝原因(rejected):checksum_mismatch、type_mismatch、unsupported_format、infected、scan_unavailable、unsafe_content。该枚举可能扩充;未被拒绝时为 null。

  • reject_detailsobject | null必填

    拒绝的详细信息(扩展名、声明的格式和检测到的格式、校验和);未被拒绝时为 null。

  • created_atstring (date-time)必填

    上传的创建时间。

  • expires_atstring (date-time)必填

    完成上传的截止时间,以及上传就绪后使用它的截止时间。

  • completed_atstring (date-time) | null必填

    检查完成的时间(ready 或 rejected)。

  • consumed_atstring (date-time) | null必填

    上传被使用的时间(被卡片、压缩包或导入使用)。

401未发送凭据(既没有会话 Cookie,也没有 API 密钥),或未找到该密钥。

响应头

  • RateLimit-Policy

    当前生效的限制,格式遵循 IETF 草案 draft-ietf-httpapi-ratelimit-headers:以逗号分隔的项 "<name>";q=<quota>;w=<window in seconds>。key 是 API 密钥的请求速率(配额即突发量,时间窗口是配额完全恢复所需的时间;会话为 user,无凭据时为 ip);minute、day 和 month 是组织按 UTC 计算的自然分钟、自然日和自然月的配额。

  • RateLimit

    RateLimit-Policy 中每项限制的剩余量:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policy 中最严格一项(剩余请求数最少的一项)的限额。

  • X-RateLimit-Remaining

    最严格限制下的剩余请求数。

  • X-RateLimit-Reset

    距最严格限制重置的秒数。

application/json

对象:Error

403不允许执行该操作:角色权限不足、无权访问合集或卡片、请求在“View as”模式下执行,或组织已被暂停或删除(`detail` 为对象,包含 `code: org_suspended | org_deleted`)。

响应头

  • RateLimit-Policy

    当前生效的限制,格式遵循 IETF 草案 draft-ietf-httpapi-ratelimit-headers:以逗号分隔的项 "<name>";q=<quota>;w=<window in seconds>。key 是 API 密钥的请求速率(配额即突发量,时间窗口是配额完全恢复所需的时间;会话为 user,无凭据时为 ip);minute、day 和 month 是组织按 UTC 计算的自然分钟、自然日和自然月的配额。

  • RateLimit

    RateLimit-Policy 中每项限制的剩余量:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policy 中最严格一项(剩余请求数最少的一项)的限额。

  • X-RateLimit-Remaining

    最严格限制下的剩余请求数。

  • X-RateLimit-Reset

    距最严格限制重置的秒数。

application/json

对象:Error

404对象不存在或您无权访问。对于访问受限的对象,API 不会确认其是否存在。

响应头

  • RateLimit-Policy

    当前生效的限制,格式遵循 IETF 草案 draft-ietf-httpapi-ratelimit-headers:以逗号分隔的项 "<name>";q=<quota>;w=<window in seconds>。key 是 API 密钥的请求速率(配额即突发量,时间窗口是配额完全恢复所需的时间;会话为 user,无凭据时为 ip);minute、day 和 month 是组织按 UTC 计算的自然分钟、自然日和自然月的配额。

  • RateLimit

    RateLimit-Policy 中每项限制的剩余量:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policy 中最严格一项(剩余请求数最少的一项)的限额。

  • X-RateLimit-Remaining

    最严格限制下的剩余请求数。

  • X-RateLimit-Reset

    距最严格限制重置的秒数。

application/json

对象:Error

429请求过多(`api.rate_limited`)、组织每分钟、每天或每月的配额已用完(`api.quota_exceeded`;`error.details` 中包含 `quota`、`limit` 和 `reset_at`)、已达到组织的限额,或回答服务繁忙(`answers.engine_busy`)。请等待 `Retry-After` 头中给出的时间。

响应头

  • Retry-After

    重试请求前需要等待的秒数。

  • RateLimit-Policy

    当前生效的限制,格式遵循 IETF 草案 draft-ietf-httpapi-ratelimit-headers:以逗号分隔的项 "<name>";q=<quota>;w=<window in seconds>。key 是 API 密钥的请求速率(配额即突发量,时间窗口是配额完全恢复所需的时间;会话为 user,无凭据时为 ip);minute、day 和 month 是组织按 UTC 计算的自然分钟、自然日和自然月的配额。

  • RateLimit

    RateLimit-Policy 中每项限制的剩余量:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policy 中最严格一项(剩余请求数最少的一项)的限额。

  • X-RateLimit-Remaining

    最严格限制下的剩余请求数。

  • X-RateLimit-Reset

    距最严格限制重置的秒数。

application/json

对象:Error

错误码

除所有请求通用的错误码外,此接口还可能在 error.code 中返回以下错误码。

速率限制

响应带有 RateLimit 和 RateLimit-Policy 头,以及旧版的 X-RateLimit-Limit、X-RateLimit-Remaining 和 X-RateLimit-Reset 头。429 响应带有以秒为单位的 Retry-After:等待后重试。

← uploads · API 参考