docs(api): 同步计费结算接口契约
重新生成 OpenAPI,补充估价字段、任务计费状态、管理员结算查询与审计重试接口。
This commit is contained in:
@@ -1963,6 +1963,160 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/admin/runtime/billing-settlements": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"BearerAuth": []
|
||||
}
|
||||
],
|
||||
"description": "管理端分页查询待结算、重试失败和人工复核记录。",
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"billing"
|
||||
],
|
||||
"summary": "查询计费结算队列",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "结算状态",
|
||||
"name": "status",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "动作:settle 或 release",
|
||||
"name": "action",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"default": 1,
|
||||
"description": "页码",
|
||||
"name": "page",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"default": 50,
|
||||
"description": "每页数量",
|
||||
"name": "pageSize",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/httpapi.BillingSettlementListResponse"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/httpapi.ErrorEnvelope"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/httpapi.ErrorEnvelope"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/httpapi.ErrorEnvelope"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/httpapi.ErrorEnvelope"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/admin/runtime/billing-settlements/{settlementId}/retry": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"BearerAuth": []
|
||||
}
|
||||
],
|
||||
"description": "Manager 使用单值 Idempotency-Key 将重试失败或人工复核记录重新放入队列,并记录审计日志。",
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"billing"
|
||||
],
|
||||
"summary": "重试计费结算",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "string",
|
||||
"description": "结算记录 ID",
|
||||
"name": "settlementId",
|
||||
"in": "path",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "幂等键",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header",
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/httpapi.BillingSettlementRetryResponse"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/httpapi.ErrorEnvelope"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/httpapi.ErrorEnvelope"
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/httpapi.ErrorEnvelope"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Not Found",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/httpapi.ErrorEnvelope"
|
||||
}
|
||||
},
|
||||
"409": {
|
||||
"description": "Conflict",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/httpapi.ErrorEnvelope"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/httpapi.ErrorEnvelope"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/admin/runtime/model-rate-limits": {
|
||||
"get": {
|
||||
"security": [
|
||||
@@ -5340,6 +5494,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -5501,6 +5661,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -5594,6 +5760,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -5804,6 +5976,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -6202,6 +6380,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -6445,6 +6629,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -6538,6 +6728,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -6940,6 +7136,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -7033,6 +7235,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -7853,6 +8061,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -7966,6 +8180,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -8059,6 +8279,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -8152,6 +8378,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -8271,6 +8503,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -8440,6 +8678,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -8533,6 +8777,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -9118,6 +9368,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -9279,6 +9535,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -9372,6 +9634,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -9465,6 +9733,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -9558,6 +9832,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -9727,6 +10007,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -9820,6 +10106,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -9971,6 +10263,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -10167,6 +10465,12 @@
|
||||
"name": "X-Async",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "可选请求幂等键;同一用户范围内唯一",
|
||||
"name": "Idempotency-Key",
|
||||
"in": "header"
|
||||
},
|
||||
{
|
||||
"description": "AI 任务请求,字段随任务类型变化",
|
||||
"name": "input",
|
||||
@@ -10469,6 +10773,40 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"httpapi.BillingSettlementListResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"items": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/store.BillingSettlement"
|
||||
}
|
||||
},
|
||||
"page": {
|
||||
"type": "integer",
|
||||
"example": 1
|
||||
},
|
||||
"pageSize": {
|
||||
"type": "integer",
|
||||
"example": 50
|
||||
},
|
||||
"total": {
|
||||
"type": "integer",
|
||||
"example": 42
|
||||
}
|
||||
}
|
||||
},
|
||||
"httpapi.BillingSettlementRetryResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"auditLog": {
|
||||
"$ref": "#/definitions/store.AuditLog"
|
||||
},
|
||||
"settlement": {
|
||||
"$ref": "#/definitions/store.BillingSettlement"
|
||||
}
|
||||
}
|
||||
},
|
||||
"httpapi.CatalogProviderListResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -12658,6 +12996,67 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"store.BillingSettlement": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"action": {
|
||||
"type": "string"
|
||||
},
|
||||
"amount": {
|
||||
"type": "number"
|
||||
},
|
||||
"attempts": {
|
||||
"type": "integer"
|
||||
},
|
||||
"completedAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"currency": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
},
|
||||
"lastErrorCode": {
|
||||
"type": "string"
|
||||
},
|
||||
"lastErrorMessage": {
|
||||
"type": "string"
|
||||
},
|
||||
"lockedAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"lockedBy": {
|
||||
"type": "string"
|
||||
},
|
||||
"manualReviewReason": {
|
||||
"type": "string"
|
||||
},
|
||||
"nextAttemptAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"payload": {
|
||||
"type": "object",
|
||||
"additionalProperties": {}
|
||||
},
|
||||
"pricingSnapshot": {
|
||||
"type": "object",
|
||||
"additionalProperties": {}
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"taskId": {
|
||||
"type": "string"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"store.CatalogProvider": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -13089,10 +13488,25 @@
|
||||
"$ref": "#/definitions/store.TaskAttempt"
|
||||
}
|
||||
},
|
||||
"billingCurrency": {
|
||||
"type": "string"
|
||||
},
|
||||
"billingSettledAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"billingStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"billingSummary": {
|
||||
"type": "object",
|
||||
"additionalProperties": {}
|
||||
},
|
||||
"billingUpdatedAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"billingVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"billings": {
|
||||
"type": "array",
|
||||
"items": {}
|
||||
@@ -13115,6 +13529,9 @@
|
||||
"errorMessage": {
|
||||
"type": "string"
|
||||
},
|
||||
"executionLeaseExpiresAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"finalChargeAmount": {
|
||||
"type": "number"
|
||||
},
|
||||
@@ -13149,6 +13566,10 @@
|
||||
"newMessageCount": {
|
||||
"type": "integer"
|
||||
},
|
||||
"pricingSnapshot": {
|
||||
"type": "object",
|
||||
"additionalProperties": {}
|
||||
},
|
||||
"remoteTaskId": {
|
||||
"type": "string"
|
||||
},
|
||||
@@ -13160,12 +13581,18 @@
|
||||
"type": "object",
|
||||
"additionalProperties": {}
|
||||
},
|
||||
"requestFingerprint": {
|
||||
"type": "string"
|
||||
},
|
||||
"requestId": {
|
||||
"type": "string"
|
||||
},
|
||||
"requestedModel": {
|
||||
"type": "string"
|
||||
},
|
||||
"reservationAmount": {
|
||||
"type": "number"
|
||||
},
|
||||
"resolvedModel": {
|
||||
"type": "string"
|
||||
},
|
||||
@@ -14506,6 +14933,10 @@
|
||||
"platformName": {
|
||||
"type": "string"
|
||||
},
|
||||
"pricingSnapshot": {
|
||||
"type": "object",
|
||||
"additionalProperties": {}
|
||||
},
|
||||
"provider": {
|
||||
"type": "string"
|
||||
},
|
||||
@@ -14515,6 +14946,9 @@
|
||||
"queueKey": {
|
||||
"type": "string"
|
||||
},
|
||||
"requestFingerprint": {
|
||||
"type": "string"
|
||||
},
|
||||
"requestId": {
|
||||
"type": "string"
|
||||
},
|
||||
@@ -14553,6 +14987,12 @@
|
||||
"taskId": {
|
||||
"type": "string"
|
||||
},
|
||||
"upstreamSubmissionStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"upstreamSubmissionUpdatedAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"usage": {
|
||||
"type": "object",
|
||||
"additionalProperties": {}
|
||||
|
||||
@@ -85,6 +85,29 @@ definitions:
|
||||
$ref: '#/definitions/store.BaseModel'
|
||||
type: array
|
||||
type: object
|
||||
httpapi.BillingSettlementListResponse:
|
||||
properties:
|
||||
items:
|
||||
items:
|
||||
$ref: '#/definitions/store.BillingSettlement'
|
||||
type: array
|
||||
page:
|
||||
example: 1
|
||||
type: integer
|
||||
pageSize:
|
||||
example: 50
|
||||
type: integer
|
||||
total:
|
||||
example: 42
|
||||
type: integer
|
||||
type: object
|
||||
httpapi.BillingSettlementRetryResponse:
|
||||
properties:
|
||||
auditLog:
|
||||
$ref: '#/definitions/store.AuditLog'
|
||||
settlement:
|
||||
$ref: '#/definitions/store.BillingSettlement'
|
||||
type: object
|
||||
httpapi.CatalogProviderListResponse:
|
||||
properties:
|
||||
items:
|
||||
@@ -1599,6 +1622,47 @@ definitions:
|
||||
status:
|
||||
type: string
|
||||
type: object
|
||||
store.BillingSettlement:
|
||||
properties:
|
||||
action:
|
||||
type: string
|
||||
amount:
|
||||
type: number
|
||||
attempts:
|
||||
type: integer
|
||||
completedAt:
|
||||
type: string
|
||||
createdAt:
|
||||
type: string
|
||||
currency:
|
||||
type: string
|
||||
id:
|
||||
type: string
|
||||
lastErrorCode:
|
||||
type: string
|
||||
lastErrorMessage:
|
||||
type: string
|
||||
lockedAt:
|
||||
type: string
|
||||
lockedBy:
|
||||
type: string
|
||||
manualReviewReason:
|
||||
type: string
|
||||
nextAttemptAt:
|
||||
type: string
|
||||
payload:
|
||||
additionalProperties: {}
|
||||
type: object
|
||||
pricingSnapshot:
|
||||
additionalProperties: {}
|
||||
type: object
|
||||
status:
|
||||
type: string
|
||||
taskId:
|
||||
type: string
|
||||
updatedAt:
|
||||
type: string
|
||||
type: object
|
||||
store.CatalogProvider:
|
||||
properties:
|
||||
capabilitySchema:
|
||||
@@ -1890,9 +1954,19 @@ definitions:
|
||||
items:
|
||||
$ref: '#/definitions/store.TaskAttempt'
|
||||
type: array
|
||||
billingCurrency:
|
||||
type: string
|
||||
billingSettledAt:
|
||||
type: string
|
||||
billingStatus:
|
||||
type: string
|
||||
billingSummary:
|
||||
additionalProperties: {}
|
||||
type: object
|
||||
billingUpdatedAt:
|
||||
type: string
|
||||
billingVersion:
|
||||
type: string
|
||||
billings:
|
||||
items: {}
|
||||
type: array
|
||||
@@ -1908,6 +1982,8 @@ definitions:
|
||||
type: string
|
||||
errorMessage:
|
||||
type: string
|
||||
executionLeaseExpiresAt:
|
||||
type: string
|
||||
finalChargeAmount:
|
||||
type: number
|
||||
finishedAt:
|
||||
@@ -1931,6 +2007,9 @@ definitions:
|
||||
type: string
|
||||
newMessageCount:
|
||||
type: integer
|
||||
pricingSnapshot:
|
||||
additionalProperties: {}
|
||||
type: object
|
||||
remoteTaskId:
|
||||
type: string
|
||||
remoteTaskPayload:
|
||||
@@ -1939,10 +2018,14 @@ definitions:
|
||||
request:
|
||||
additionalProperties: {}
|
||||
type: object
|
||||
requestFingerprint:
|
||||
type: string
|
||||
requestId:
|
||||
type: string
|
||||
requestedModel:
|
||||
type: string
|
||||
reservationAmount:
|
||||
type: number
|
||||
resolvedModel:
|
||||
type: string
|
||||
responseDurationMs:
|
||||
@@ -2850,12 +2933,17 @@ definitions:
|
||||
type: string
|
||||
platformName:
|
||||
type: string
|
||||
pricingSnapshot:
|
||||
additionalProperties: {}
|
||||
type: object
|
||||
provider:
|
||||
type: string
|
||||
providerModelName:
|
||||
type: string
|
||||
queueKey:
|
||||
type: string
|
||||
requestFingerprint:
|
||||
type: string
|
||||
requestId:
|
||||
type: string
|
||||
requestSnapshot:
|
||||
@@ -2882,6 +2970,10 @@ definitions:
|
||||
type: integer
|
||||
taskId:
|
||||
type: string
|
||||
upstreamSubmissionStatus:
|
||||
type: string
|
||||
upstreamSubmissionUpdatedAt:
|
||||
type: string
|
||||
usage:
|
||||
additionalProperties: {}
|
||||
type: object
|
||||
@@ -4264,6 +4356,106 @@ paths:
|
||||
summary: 列出定价规则
|
||||
tags:
|
||||
- pricing
|
||||
/api/admin/runtime/billing-settlements:
|
||||
get:
|
||||
description: 管理端分页查询待结算、重试失败和人工复核记录。
|
||||
parameters:
|
||||
- description: 结算状态
|
||||
in: query
|
||||
name: status
|
||||
type: string
|
||||
- description: 动作:settle 或 release
|
||||
in: query
|
||||
name: action
|
||||
type: string
|
||||
- default: 1
|
||||
description: 页码
|
||||
in: query
|
||||
name: page
|
||||
type: integer
|
||||
- default: 50
|
||||
description: 每页数量
|
||||
in: query
|
||||
name: pageSize
|
||||
type: integer
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/httpapi.BillingSettlementListResponse'
|
||||
"400":
|
||||
description: Bad Request
|
||||
schema:
|
||||
$ref: '#/definitions/httpapi.ErrorEnvelope'
|
||||
"401":
|
||||
description: Unauthorized
|
||||
schema:
|
||||
$ref: '#/definitions/httpapi.ErrorEnvelope'
|
||||
"403":
|
||||
description: Forbidden
|
||||
schema:
|
||||
$ref: '#/definitions/httpapi.ErrorEnvelope'
|
||||
"500":
|
||||
description: Internal Server Error
|
||||
schema:
|
||||
$ref: '#/definitions/httpapi.ErrorEnvelope'
|
||||
security:
|
||||
- BearerAuth: []
|
||||
summary: 查询计费结算队列
|
||||
tags:
|
||||
- billing
|
||||
/api/admin/runtime/billing-settlements/{settlementId}/retry:
|
||||
post:
|
||||
description: Manager 使用单值 Idempotency-Key 将重试失败或人工复核记录重新放入队列,并记录审计日志。
|
||||
parameters:
|
||||
- description: 结算记录 ID
|
||||
in: path
|
||||
name: settlementId
|
||||
required: true
|
||||
type: string
|
||||
- description: 幂等键
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
required: true
|
||||
type: string
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/httpapi.BillingSettlementRetryResponse'
|
||||
"400":
|
||||
description: Bad Request
|
||||
schema:
|
||||
$ref: '#/definitions/httpapi.ErrorEnvelope'
|
||||
"401":
|
||||
description: Unauthorized
|
||||
schema:
|
||||
$ref: '#/definitions/httpapi.ErrorEnvelope'
|
||||
"403":
|
||||
description: Forbidden
|
||||
schema:
|
||||
$ref: '#/definitions/httpapi.ErrorEnvelope'
|
||||
"404":
|
||||
description: Not Found
|
||||
schema:
|
||||
$ref: '#/definitions/httpapi.ErrorEnvelope'
|
||||
"409":
|
||||
description: Conflict
|
||||
schema:
|
||||
$ref: '#/definitions/httpapi.ErrorEnvelope'
|
||||
"500":
|
||||
description: Internal Server Error
|
||||
schema:
|
||||
$ref: '#/definitions/httpapi.ErrorEnvelope'
|
||||
security:
|
||||
- BearerAuth: []
|
||||
summary: 重试计费结算
|
||||
tags:
|
||||
- billing
|
||||
/api/admin/runtime/model-rate-limits:
|
||||
get:
|
||||
description: 管理端查看平台模型维度的限流和冷却状态。
|
||||
@@ -6432,6 +6624,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -6537,6 +6733,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -6598,6 +6798,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -6732,6 +6936,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -6989,6 +7197,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -7153,6 +7365,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -7214,6 +7430,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -7473,6 +7693,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -7534,6 +7758,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -8062,6 +8290,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -8136,6 +8368,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -8197,6 +8433,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -8258,6 +8498,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -8336,6 +8580,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -8449,6 +8697,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -8510,6 +8762,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -8890,6 +9146,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -8995,6 +9255,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -9056,6 +9320,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -9117,6 +9385,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -9178,6 +9450,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -9291,6 +9567,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -9352,6 +9632,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -9450,6 +9734,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
@@ -9577,6 +9865,10 @@ paths:
|
||||
in: header
|
||||
name: X-Async
|
||||
type: boolean
|
||||
- description: 可选请求幂等键;同一用户范围内唯一
|
||||
in: header
|
||||
name: Idempotency-Key
|
||||
type: string
|
||||
- description: AI 任务请求,字段随任务类型变化
|
||||
in: body
|
||||
name: input
|
||||
|
||||
Reference in New Issue
Block a user