{"openapi":"3.0.3","info":{"title":"TASK public agent API","version":"0.1.0","description":"Bearer TASK_API_KEY doors for REST and Streamable HTTP MCP. Drafting and reads are safe; publish/cancel/offer actions require confirm=true. OAuth scopes (task:read|draft|propose) are planned for Connect TASK and are not required for these bearer endpoints yet."},"servers":[{"url":"https://api.task.com.ai","description":"API host (same Worker as www)"},{"url":"https://www.task.com.ai","description":"Primary www host"},{"url":"https://mcp.task.com.ai","description":"Hosted MCP host"},{"url":"https://task.com.ai","description":"Apex"}],"components":{"securitySchemes":{"taskApiKey":{"type":"http","scheme":"bearer","description":"Production TASK_API_KEY via Authorization: Bearer … or x-task-api-key"}}},"security":[{"taskApiKey":[]}],"paths":{"/api/v1/tasks":{"get":{"summary":"List tasks","responses":{"200":{"description":"Authorized task list"},"401":{"description":"Invalid or missing API key"},"503":{"description":"TASK_API_KEY not configured on the Worker"}}},"post":{"summary":"Create a draft (or publish with confirm=true)","responses":{"201":{"description":"Created"},"400":{"description":"Invalid input"},"401":{"description":"Invalid or missing API key"},"409":{"description":"approval_required — set confirm=true to publish"},"503":{"description":"TASK_API_KEY not configured on the Worker"}}}},"/api/mcp":{"post":{"summary":"Streamable HTTP MCP (in-app path)","description":"MCP tools: task_list, task_get, task_create_draft, task_publish, offer tools, task_cancel. Consequential tools require confirm=true.","responses":{"200":{"description":"MCP JSON-RPC response"},"401":{"description":"Invalid or missing API key"},"405":{"description":"Method not allowed (POST only)"},"503":{"description":"TASK_API_KEY not configured on the Worker"}}}},"/mcp":{"post":{"summary":"Streamable HTTP MCP (hosted door)","description":"Canonical hosted URL https://mcp.task.com.ai/mcp — same handler as /api/mcp.","responses":{"200":{"description":"MCP JSON-RPC response"},"401":{"description":"Invalid or missing API key"},"405":{"description":"Method not allowed (POST only)"},"503":{"description":"TASK_API_KEY not configured on the Worker"}}}},"/openapi.json":{"get":{"summary":"This OpenAPI document","security":[],"responses":{"200":{"description":"OpenAPI 3 JSON"}}}}}}