lea-GEO / runner /openapi.json
hsmm's picture
Initial commit for HF Space
35bdde1
{
"openapi": "3.0.3",
"info": {
"title": "Playwright Runner API",
"version": "0.1.0"
},
"paths": {
"/tasks": {
"post": {
"summary": "Create tasks (batch)",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": ["run_id", "tasks"],
"properties": {
"run_id": { "type": "string" },
"tasks": {
"type": "array",
"items": { "$ref": "#/components/schemas/TaskCreate" }
}
},
"additionalProperties": false
}
}
}
},
"responses": {
"200": {
"description": "Accepted/rejected tasks",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": ["accepted", "rejected"],
"properties": {
"accepted": {
"type": "array",
"items": {
"type": "object",
"required": ["task_id"],
"properties": { "task_id": { "type": "string" } },
"additionalProperties": false
}
},
"rejected": {
"type": "array",
"items": {
"type": "object",
"required": ["task_id", "reason"],
"properties": {
"task_id": { "type": "string" },
"reason": { "type": "string" }
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
}
}
}
}
}
},
"/tasks/{task_id}": {
"get": {
"summary": "Get task status/result",
"parameters": [
{
"name": "task_id",
"in": "path",
"required": true,
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "Task status/result",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/RunnerTaskResult" }
}
}
}
}
}
},
"/tasks/{task_id}/resume": {
"post": {
"summary": "Resume a paused task after human intervention",
"parameters": [
{
"name": "task_id",
"in": "path",
"required": true,
"schema": { "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": ["resume_token"],
"properties": { "resume_token": { "type": "string" } },
"additionalProperties": false
}
}
}
},
"responses": {
"200": {
"description": "Resume accepted",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": ["ok"],
"properties": { "ok": { "type": "boolean" } },
"additionalProperties": false
}
}
}
}
}
}
},
"/callbacks/task-finished": {
"post": {
"summary": "Optional callback for task completion",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/RunnerTaskResult" }
}
}
},
"responses": {
"200": { "description": "OK" }
}
}
}
},
"components": {
"schemas": {
"TaskCreate": {
"type": "object",
"required": ["task_id", "site", "question_id", "question_text", "profile_id"],
"properties": {
"task_id": { "type": "string" },
"site": { "type": "string" },
"question_id": { "type": "string" },
"question_text": { "type": "string" },
"profile_id": { "type": "string" },
"locale": { "type": "string" }
},
"additionalProperties": false
},
"RunnerTaskResult": {
"type": "object",
"required": ["task_id", "status"],
"properties": {
"task_id": { "type": "string" },
"status": {
"type": "string",
"enum": ["success", "failed", "needs_human", "running"]
},
"reason": { "type": "string" },
"handoff_url": { "type": "string" },
"result": {
"type": "object",
"required": ["answer_text", "citations", "screenshots"],
"properties": {
"answer_text": { "type": "string" },
"citations": {
"type": "array",
"items": {
"type": "object",
"required": ["url"],
"properties": {
"url": { "type": "string" },
"title": { "type": "string" }
},
"additionalProperties": false
}
},
"screenshots": {
"type": "array",
"items": {
"type": "object",
"required": ["url", "ts"],
"properties": {
"url": { "type": "string" },
"ts": { "type": "string" }
},
"additionalProperties": false
}
},
"raw_html_url": { "type": "string" },
"log_url": { "type": "string" }
},
"additionalProperties": false
}
},
"additionalProperties": false
}
}
}
}