{"openapi":"3.1.0","info":{"title":"AutomationTester.in quality engineering API","version":"1.0.0","description":"A deliberately narrow API for testing-specific workflows. The initial contract exposes deterministic test-failure triage; commodity browser utilities are not remotely wrapped."},"servers":[{"url":"https://automationtester.in"}],"paths":{"/api/v1/triage-failure":{"post":{"operationId":"triageFailure","summary":"Classify a test or CI failure with deterministic rules","description":"Use for test-runner, browser-automation, database, dependency, and CI failure evidence. The service does not persist the input and does not call a third-party model. Prefer the local browser workflow for sensitive evidence.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["input"],"properties":{"input":{"type":"string","minLength":1,"maxLength":1000000,"description":"Failure log, stack trace, or runner error."}}}}}},"responses":{"200":{"description":"A deterministic classification or an explicit unknown result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriageResponse"}}}},"400":{"description":"Invalid JSON or input shape."},"413":{"description":"Input exceeds 1 MB."}}}}},"components":{"schemas":{"TriageResult":{"type":"object","required":["classification","classificationLabel","confidence","hypothesis","suggestedFix","diagnostics","matchedSignals","deterministic"],"properties":{"classification":{"type":"string","enum":["flaky","environment","selector-drift","timing-race","test-data","dependency","assertion-mismatch","unknown"]},"classificationLabel":{"type":"string"},"confidence":{"type":"string","enum":["high","medium","low"]},"patternSlug":{"type":["string","null"]},"patternTitle":{"type":["string","null"]},"hypothesis":{"type":"string"},"suggestedFix":{"type":"string"},"diagnostics":{"type":"array","items":{"type":"string"}},"matchedSignals":{"type":"array","items":{"type":"string"}},"relatedUrl":{"type":["string","null"]},"deterministic":{"type":"boolean","const":true}}},"TriageResponse":{"type":"object","required":["result","processing"],"properties":{"result":{"$ref":"#/components/schemas/TriageResult"},"processing":{"type":"object","properties":{"mode":{"const":"deterministic-rules"},"location":{"const":"AutomationTester.in server"},"persisted":{"const":false},"thirdPartyModelCalled":{"const":false}}}}}}}}