POST /api/v1/projects/{projectId}/uploads/{uploadId}/confirm
POST
/api/v1/projects/{projectId}/uploads/{uploadId}/confirm确认上传完成(需 developer 及以上;校验对象大小与类型,幂等,随后入队内容审核)
请求参数
| 名称 | 类型 | 位置 | 必填 | 说明 |
|---|---|---|---|---|
projectId | string | path | 是 | 项目 ID(UUID)。携带 `X-API-Key` 时按 API Key scope 鉴权,否则按 JWT + 项目成员角色鉴权 |
uploadId | string | path | 是 | — |
请求示例
cURL
curl -X POST 'http://localhost:8080/api/v1/projects/{projectId}/uploads/{uploadId}/confirm' \
-H 'Accept: application/json' \
-H 'X-API-Key: <PROJECT_API_KEY>'
# 也可使用登录会话:-H 'Authorization: Bearer <JWT>'JavaScript
const res = await fetch('http://localhost:8080/api/v1/projects/{projectId}/uploads/{uploadId}/confirm', {
method: 'POST',
headers: {
'Accept': 'application/json',
'X-API-Key': '<PROJECT_API_KEY>'
},
});
const data = await res.json();Python
import requests
res = requests.post(
'http://localhost:8080/api/v1/projects/{projectId}/uploads/{uploadId}/confirm',
headers={'Accept': 'application/json', 'X-API-Key': '<PROJECT_API_KEY>'}
)
print(res.json())响应
200上传会话
application/json
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"project_id": {
"type": "string",
"format": "uuid"
},
"storage_id": {
"type": "string",
"format": "uuid"
},
"user_id": {
"type": "string",
"format": "uuid"
},
"object_key": {
"type": "string"
},
"filename": {
"type": "string"
},
"content_type": {
"type": "string"
},
"size_bytes": {
"type": "integer",
"format": "int64"
},
"status": {
"type": "string"
},
"moderation_status": {
"type": "string"
},
"moderation_reason": {
"type": "string"
},
"uploaded_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"expires_at": {
"type": "string",
"format": "date-time"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
}
}400请求参数错误
application/json
{
"type": "object",
"properties": {
"code": {
"type": "string",
"example": "not_found"
},
"message": {
"type": "string",
"example": "资源不存在"
}
}
}403无权限(未通过 RBAC 或 2FA)
application/json
{
"type": "object",
"properties": {
"code": {
"type": "string",
"example": "not_found"
},
"message": {
"type": "string",
"example": "资源不存在"
}
}
}在线调试
在线调试
凭证仅保存在当前页面内存中自定义请求 Header
