{"openapi":"3.1.0","info":{"title":"Ethics Evaluation API","description":"An independent, structured mechanism for evaluating proposed AI outputs against a published, versioned ethics framework. Maintained by Schark LLC.","version":"0.3"},"paths":{"/api/v1/health":{"get":{"summary":"Health Check","description":"Basic health check endpoint.","operationId":"health_check_api_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/evaluate":{"post":{"summary":"Evaluate Response","description":"Main evaluation endpoint.\nAccepts a proposed AI response and context, evaluates against\nall 15 dimensions of the Ethics Evaluation Framework v0.3,\nand returns a structured JSON result.","operationId":"evaluate_response_api_v1_evaluate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvaluationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/framework":{"get":{"summary":"Get Framework Info","description":"Returns current framework version and dimension list.","operationId":"get_framework_info_api_v1_framework_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Root","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"EvaluationRequest":{"properties":{"proposed_response":{"type":"string","title":"Proposed Response","description":"The agent's proposed output, prior to delivery"},"context":{"type":"string","title":"Context","description":"The user's prompt or situation that prompted the response"},"risk_tier":{"$ref":"#/components/schemas/RiskTier","description":"One of: unacceptable, high, limited, minimal, unknown"},"use_case":{"type":"string","title":"Use Case","description":"Plain-language description of the agent's function"},"reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasoning","description":"The agent's reasoning chain or collected context that produced this response. Required for accurate D12 evaluation when the response references user-specific goals or data."},"conversation_history":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Conversation History","description":"Prior turns, max 20"},"audience":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audience","description":"Description of the intended end user"},"operator_constraints":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Operator Constraints","description":"Operator-declared rules (Layer 4 only)"},"framework_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Framework Version","description":"Pin to a specific framework version"},"audit_mode":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Audit Mode","description":"Return full layer-by-layer evaluation breakdown","default":false}},"type":"object","required":["proposed_response","context","risk_tier","use_case"],"title":"EvaluationRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"RiskTier":{"type":"string","enum":["unacceptable","high","limited","minimal","unknown"],"title":"RiskTier"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}