Tasks
异步任务状态和进度。
Base URL https://api.sniphunter.com
请求与响应中的 $ref 在 OpenAPI 的 components 中定义。
3 个接口
Tasks
GET/api/v1/tasks/historyGet Async Task History Endpoint
{
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 1,
"default": 1,
"title": "Page"
}
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"default": 10,
"title": "Page Size"
}
},
{
"name": "job_type",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Job Type"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AsyncTaskHistoryResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}GET/api/v1/tasks/{task_id}Get Async Task Endpoint
{
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "task_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Task Id"
}
},
{
"name": "progress_token",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Progress Token"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AsyncTaskDetail"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}GET/api/v1/tasks/{task_id}/progressGet Async Task Progress Endpoint
{
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "task_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Task Id"
}
},
{
"name": "token",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Token"
}
},
{
"name": "progress_token",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Progress Token"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}数据模型
展开 components
{
"schemas": {
"AsyncTaskDetail": {
"properties": {
"task_id": {
"type": "integer",
"title": "Task Id"
},
"job_type": {
"type": "string",
"title": "Job Type"
},
"status": {
"type": "string",
"title": "Status"
},
"progress": {
"type": "number",
"title": "Progress",
"default": 0
},
"current_step": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Step"
},
"source_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Url"
},
"params": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Params"
},
"result_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Result Url"
},
"output_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Output Url"
},
"result_video_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Result Video Url"
},
"result_payload": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Result Payload"
},
"processing_time_seconds": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Processing Time Seconds"
},
"estimated_time_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Estimated Time Seconds"
},
"error_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error Message"
},
"created_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created At"
},
"started_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Started At"
},
"completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Completed At"
}
},
"type": "object",
"required": [
"task_id",
"job_type",
"status"
],
"title": "AsyncTaskDetail"
},
"AsyncTaskHistoryItem": {
"properties": {
"task_id": {
"type": "integer",
"title": "Task Id"
},
"job_type": {
"type": "string",
"title": "Job Type"
},
"status": {
"type": "string",
"title": "Status"
},
"source_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Url"
},
"result_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Result Url"
},
"processing_time_seconds": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Processing Time Seconds"
},
"created_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created At"
},
"completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Completed At"
}
},
"type": "object",
"required": [
"task_id",
"job_type",
"status"
],
"title": "AsyncTaskHistoryItem"
},
"AsyncTaskHistoryResponse": {
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/AsyncTaskHistoryItem"
},
"type": "array",
"title": "Items"
},
"total": {
"type": "integer",
"title": "Total"
},
"page": {
"type": "integer",
"title": "Page"
},
"page_size": {
"type": "integer",
"title": "Page Size"
}
},
"type": "object",
"required": [
"items",
"total",
"page",
"page_size"
],
"title": "AsyncTaskHistoryResponse"
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
},
"ValidationError": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
}
},
"securitySchemes": {
"HTTPBearer": {
"type": "http",
"scheme": "bearer"
}
}
}