REST API 参考。

四个接口完成文件处理,数据按所属会话隔离。所有请求需携带 Authorization: Bearer YOUR_KEY。

POST/v1/files

使用 multipart 字段 file。成功返回 201,包含 file_id, bytes,以及 extension。上传时使用 Content-Length 声明长度,并遵守大小限制。

可复制示例
curl -X POST "$REDACTTOOL_BASE_URL/v1/files" \
  -H "Authorization: Bearer $REDACTTOOL_API_KEY" \
  -F "file=@sample.docx"
POST/v1/redactions

JSON file_id 和 mode:只能为 blackout 或 placeholder。请提供 8–100 个字符的 Idempotency-Key;可使用字母、数字、下划线或连字符。

可复制示例
curl -X POST "$REDACTTOOL_BASE_URL/v1/redactions" \
  -H "Authorization: Bearer $REDACTTOOL_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: example-request-001" \
  -d '{"file_id":"YOUR_FILE_ID","mode":"placeholder"}'
GET/v1/redactions/{id}

轮询至 completed 或 failed。stage 和 done/total 字段提供进度,各阶段耗时并不固定。

可复制示例
{
  "id": "example-job",
  "status": "completed",
  "stage": "completed",
  "done": 1,
  "total": 1,
  "error": null,
  "mode": "placeholder",
  "redactions": 3,
  "download_url": "/v1/redactions/example-job/file"
}

此为响应示例。阶段名称与计数取决于实际处理流程。

GET/v1/redactions/{id}/file

下载时使用同一个 Bearer 密钥。返回的下载路径并不意味着文件可被公开访问。

需要处理的错误

状态码含义与处理方式
401缺少身份凭据或凭据已过期,请获取有效凭据。
404对象不存在、已过期或属于其他用户。不要据此推断对象归属。
409幂等请求冲突,或结果尚未就绪。请查看错误详情。
413 / 415 / 422大小、格式或输入校验未通过,请修正请求。
429达到容量或试用限制。请延迟后重试,不要无限循环。

HTTP 错误使用 {"detail":"error_code"}。任务接口可能返回 HTTP 200,但任务状态为 status: failed;请检查其 error 字段。