{"openapi":"3.1.0","info":{"title":"TaskBridge REST API","version":"1.0.0","description":"Production-ready standalone API for AI-assisted task intake, workflow management, autonomous execution workers, and independent QA verification."},"servers":[{"url":"http://localhost:3000","description":"Local Development Server"},{"url":"https://api.taskbridge.io","description":"Production Gateway"}],"paths":{"/api/v1/intake":{"post":{"summary":"Submit bug or feedback from external website/widget","description":"Public rate-limited intake endpoint protected by project public key.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["title","description"],"properties":{"title":{"type":"string","example":"Payment failure on checkout step"},"description":{"type":"string","example":"Steps to reproduce: 1. Add item... 2. Click checkout..."},"type":{"type":"string","enum":["BUG","FEATURE","PERFORMANCE","SECURITY"],"default":"BUG"},"severity":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"],"default":"MEDIUM"},"customerEmail":{"type":"string","format":"email"},"projectKey":{"type":"string"},"context":{"type":"object"}}}}}},"responses":{"201":{"description":"Task created and queued for AI triage"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/tasks":{"get":{"summary":"Query tasks in queue","parameters":[{"name":"status","in":"query","schema":{"type":"string"}},{"name":"severity","in":"query","schema":{"type":"string"}},{"name":"projectId","in":"query","schema":{"type":"string"}},{"name":"q","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"List of matching tasks"}}},"post":{"summary":"Create engineering task directly","responses":{"201":{"description":"Task created"}}}},"/api/v1/tasks/{id}":{"get":{"summary":"Retrieve detailed task record with triage and audit timeline","responses":{"200":{"description":"Task object"}}},"patch":{"summary":"Transition task state or update fields","responses":{"200":{"description":"State transitioned successfully"}}}},"/api/v1/tasks/{id}/triage":{"post":{"summary":"Run AI triage engine on task","responses":{"200":{"description":"Triage complete with compiled execution prompt"}}}},"/api/v1/tasks/{id}/verify":{"post":{"summary":"Run independent QA automated verification","responses":{"200":{"description":"QA verification report generated"}}}},"/api/v1/workers/jobs/lease":{"post":{"summary":"Worker leases next available job from queue","responses":{"200":{"description":"Leased job or available: false"}}}},"/api/v1/workers/jobs/{jobId}/complete":{"post":{"summary":"Worker submits execution diff and marks job finished","responses":{"200":{"description":"Patch received, task in FIX_PROPOSED"}}}},"/api/v1/status/{token}":{"get":{"summary":"Public customer-facing status portal API","responses":{"200":{"description":"Sanitized public progress timeline"}}}}}}