{"openapi":"3.1.0","info":{"title":"Python Blueprint Service for ThinkOwl","description":"<CENTER><img src=\"/static/python.png\"></CENTER><BR>\n                    This blueprint shows the general concept of writing a Python-service\n                    that is capable of integrating itself in the ThinkOwl infrastrucutre.<BR>\n                    It provides automatically several endpoints like metrics, docs, redoc and\n                    a working root /.<BR>\n                    It is important to note that the predefined prefix \"python\" needs to be the\n                    exact same endpoint your service will be proxied to by nginx or another webserver.\n                    Provide an image under /app/static that ends with .png and the name equal to the given \"prefix\".\n                    ","contact":{"url":"http://www.thinkowl.com/"},"license":{"name":"ThinkOwl Usage License","url":"http://www.thinkowl.com/"},"version":"v1"},"paths":{"/metrics":{"get":{"summary":"Combined Metrics","description":"Expose combined metrics from the local instrumentator and the external server.","operationId":"combined_metrics_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/test/":{"post":{"summary":"Classify Text","description":"This is a test endpoint that returns the body of the request as a response.\nThe prometheus.autoscaling decorator is used to monitor the endpoint and\nprovide metrics for the autoscaling of the service. It should be used on\nheavy load endpoints only.\nArgs:\n    body (str, optional): Defaults to Body(media_type=\"text/plain\").\n\nReturns:\n    TestResponse: A pydantic model that is returned as a JSON response.","operationId":"classify_text_v1_test__post","requestBody":{"content":{"text/plain":{"schema":{"type":"string","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestResponse"}}}},"404":{"description":"Not Found","detail":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/valid":{"get":{"summary":"Is Valid","description":"This is an authorization test endpoint that returns the body of the request as a response\nand depends on a valid authorization token that is checked by the authorization module.","operationId":"is_valid_v1_valid_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedMessage"}}}}},"security":[{"HTTPBearer":[]}]}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"TestResponse":{"properties":{"value":{"type":"string","title":"Value"}},"type":"object","required":["value"],"title":"TestResponse","description":"This is a structured example response that is returned by the endpoint /v1/test/"},"UnauthorizedMessage":{"properties":{"detail":{"type":"string","title":"Detail","default":"Bearer token missing or unknown"}},"type":"object","title":"UnauthorizedMessage","description":"A message to be returned when the user is unauthorized."},"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"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}}