公开 API
删除番剧发布
DELETE /api/releases/{releaseId} —— 删除番剧发布;GET …/deletion 查状态。
只支持 rel_*。要求 releases:delete。无 query、无请求体。
DELETE /api/releases/{releaseId}
鉴权 · releases:delete
最多等待约 2 秒:完成返回 200,否则 202。重复 DELETE 幂等。
GET /api/releases/{releaseId}/deletion
鉴权 · releases:delete
查询同一删除回执。未知、从未删除或无权一律 404。
202 只表示已受理。只有 completed 才表示站内公开面已不可见。不召回已下载内容、Tracker 和外站帖子。
releaseId:^rel_[A-Za-z0-9_-]+$,5–100 字符。普通成员只能删自己的发布;owner / admin 可删本组任意发布。无权与不存在一样返回 404。Key 不能跨组删除。scope 上线前的旧 Key 仅有 releases:publish,用 /me 检查 scopes。
完整字段见 接口参考。
release_id='rel_example'
base='https://anibt.net'
response=$(curl -sS -X DELETE \
-H "Authorization: Bearer $ANIBT_API_KEY" \
"$base/api/releases/$release_id")
while [ "$(jq -r '.result.state // .error.details.state // empty' <<<"$response")" = "pending" ]; do
sleep 2
response=$(curl -sS \
-H "Authorization: Bearer $ANIBT_API_KEY" \
"$base/api/releases/$release_id/deletion")
done
jq . <<<"$response"state | 做什么 |
|---|---|
pending | 按 Retry-After 继续轮询 |
completed | 停止 |
failed | 停止自动重试,记录 failure.code 与 X-Request-ID |
pending 的 Retry-After 是轮询建议。真正超限返回 429。响应 private, no-store,不要缓存回执。被 tombstone 覆盖的 releaseId 不能复用。若对象仍被另一条 live release 引用,返回 409 / RELEASE_OBJECT_SHARED。
| HTTP | 处理 |
|---|---|
| 400 | 去掉请求体 |
| 401 | 检查 Bearer / X-API-Key |
| 403 | 改用含 releases:delete 的 Key |
| 404 | 不存在,或无权;两者不可区分 |
| 409 | 先解除共享对象引用 |
| 422 | 只传规范 rel_* 路径,不要加 query |
| 429 | 按 Retry-After 退避 |
| 500 | DELETE 观察到终态失败。保存回执和 X-Request-ID,停止盲目重试 |
GET 读取已失败操作仍返回 200 且 state=failed。再次 DELETE 终态失败映射为 500。