{"openapi":"3.1.0","info":{"title":"watch-trends-internal","version":"0.1.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/ready":{"get":{"summary":"Ready","operationId":"ready_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/ops/stats":{"get":{"summary":"Ops Stats","operationId":"ops_stats_ops_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/internal/v1/capacity":{"get":{"summary":"Capacity","operationId":"capacity_internal_v1_capacity_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/internal/v1/watches":{"post":{"summary":"Create Watch","operationId":"create_watch_internal_v1_watches_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartWatchInternal"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Watches","operationId":"list_watches_internal_v1_watches_get","parameters":[{"name":"payer","in":"query","required":true,"schema":{"type":"string","title":"Payer"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/watches/{ticker}/renew":{"post":{"summary":"Renew","operationId":"renew_internal_v1_watches__ticker__renew_post","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayerBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/watches/{ticker}":{"delete":{"summary":"Stop","operationId":"stop_internal_v1_watches__ticker__delete","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayerBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/v1/watches/{ticker}/events":{"get":{"summary":"Events","operationId":"events_internal_v1_watches__ticker__events_get","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string","title":"Ticker"}},{"name":"payer","in":"query","required":true,"schema":{"type":"string","title":"Payer"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"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"},"PayerBody":{"properties":{"payer":{"type":"string","title":"Payer"},"nonce":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nonce"}},"type":"object","required":["payer"],"title":"PayerBody"},"StartWatchInternal":{"properties":{"payer":{"type":"string","title":"Payer"},"nonce":{"type":"string","title":"Nonce"},"ticker":{"type":"string","title":"Ticker"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url"},"segment":{"type":"string","title":"Segment"},"threshold":{"type":"number","title":"Threshold"},"start_price":{"type":"number","title":"Start Price"},"confidence":{"type":"number","title":"Confidence","default":0.6},"move_filter":{"type":"string","title":"Move Filter","default":"start_price_pct"},"asset_type":{"type":"string","title":"Asset Type","default":"crypto"}},"type":"object","required":["payer","nonce","ticker","segment","threshold","start_price"],"title":"StartWatchInternal"},"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"}}}}