{"openapi":"3.1.0","info":{"title":"Orivfy Video Backend","description":"Versioned AI-generated video detection service.","version":"4.0.2"},"paths":{"/v4/health":{"get":{"summary":"Health","operationId":"health_v4_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health V4 Health Get"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Health Get"}}}}}}},"/v4/detect-video":{"post":{"summary":"Detect Video Endpoint","operationId":"detect_video_endpoint_v4_detect_video_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_detect_video_endpoint_v4_detect_video_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Detect Video Endpoint V4 Detect Video Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OrivfyApiKey":[]}]}},"/v4/detect-video-async":{"post":{"summary":"Detect Video Async Endpoint","operationId":"detect_video_async_endpoint_v4_detect_video_async_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_detect_video_async_endpoint_v4_detect_video_async_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Detect Video Async Endpoint V4 Detect Video Async Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OrivfyApiKey":[]}]}},"/v4/jobs":{"get":{"summary":"List Jobs","operationId":"list_jobs_v4_jobs_get","security":[{"OrivfyApiKey":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response List Jobs V4 Jobs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v4/jobs/{job_id}":{"get":{"summary":"Get Job","operationId":"get_job_v4_jobs__job_id__get","security":[{"OrivfyApiKey":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Job V4 Jobs  Job Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v4/ws-ticket":{"post":{"summary":"Create Websocket Ticket","operationId":"create_websocket_ticket_v4_ws_ticket_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Websocket Ticket V4 Ws Ticket Post"}}}}},"security":[{"OrivfyApiKey":[]}]}}},"components":{"schemas":{"Body_detect_video_async_endpoint_v4_detect_video_async_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_detect_video_async_endpoint_v4_detect_video_async_post"},"Body_detect_video_endpoint_v4_detect_video_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_detect_video_endpoint_v4_detect_video_post"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"OrivfyApiKey":{"type":"apiKey","description":"Permanent server-to-server Orivfy API key.","in":"header","name":"X-API-Key"}}}}