-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopenapi.runtime.json
More file actions
1 lines (1 loc) · 6.19 KB
/
openapi.runtime.json
File metadata and controls
1 lines (1 loc) · 6.19 KB
1
{"openapi":"3.1.0","info":{"title":"QoD Assurance Mock (Local)","version":"0.1.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/intent":{"post":{"summary":"Create Intent And Session","operationId":"create_intent_and_session_intent_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Intent"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Intent And Session Intent Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sessions":{"get":{"summary":"List Sessions","operationId":"list_sessions_sessions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response List Sessions Sessions Get"}}}}}}},"/sessions/{session_id}":{"get":{"summary":"Get Session","operationId":"get_session_sessions__session_id__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Session Sessions Session Id Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Session","operationId":"delete_session_sessions__session_id__delete","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Delete Session Sessions Session Id Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/telemetry":{"post":{"summary":"Post Telemetry","operationId":"post_telemetry_telemetry_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetrySample"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Post Telemetry Telemetry Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/proof/{session_id}/finalize":{"post":{"summary":"Finalize Proof","operationId":"finalize_proof_proof__session_id__finalize_post","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Finalize Proof Proof Session Id Finalize Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/proof/{session_id}":{"get":{"summary":"Get Proof","operationId":"get_proof_proof__session_id__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Proof Proof Session Id Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Intent":{"properties":{"text":{"type":"string","maxLength":5000,"minLength":1,"title":"Text"},"target_p95_latency_ms":{"type":"integer","maximum":60000.0,"minimum":1.0,"title":"Target P95 Latency Ms"},"target_jitter_ms":{"type":"integer","maximum":60000.0,"minimum":0.0,"title":"Target Jitter Ms"},"duration_s":{"type":"integer","maximum":86400.0,"minimum":1.0,"title":"Duration S"},"flow_label":{"type":"string","maxLength":200,"minLength":1,"title":"Flow Label","default":"demo-flow"}},"additionalProperties":false,"type":"object","required":["text","target_p95_latency_ms","target_jitter_ms","duration_s"],"title":"Intent","description":"A simplified \"SLO-like\" intent. In real QoD, you would map this to offered QoS profiles.\n\nFail-fast rules:\n- text must be present and non-empty (human-friendly)\n- numeric bounds prevent ridiculous values"},"TelemetrySample":{"properties":{"session_id":{"type":"string","format":"uuid","title":"Session Id"},"n":{"type":"integer","maximum":100000.0,"minimum":1.0,"title":"N"},"p50_ms":{"type":"number","maximum":60000.0,"minimum":0.0,"title":"P50 Ms"},"p95_ms":{"type":"number","maximum":60000.0,"minimum":0.0,"title":"P95 Ms"},"jitter_ms":{"type":"number","maximum":60000.0,"minimum":0.0,"title":"Jitter Ms"},"notes":{"type":"string","maxLength":500,"title":"Notes","default":""}},"additionalProperties":false,"type":"object","required":["session_id","n","p50_ms","p95_ms","jitter_ms"],"title":"TelemetrySample","description":"Minimal telemetry payload from a measurement agent.\n\nFail-fast rules:\n- session_id must be a UUID\n- p95_ms >= p50_ms\n- ranges keep garbage out"},"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"}}}}