{"openapi":"3.1.0","info":{"title":"Signalyst — сервис поиска слабых технологических сигналов","description":"Хакатон ЛЦТ 2026, кейс Газпромбанк.Тех. JSON API по контракту C5; страницы — те же данные.","version":"0.2"},"paths":{"/search":{"post":{"tags":["C5"],"summary":"Запустить живой прогон S1–S6","operationId":"post_search_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Post Search Search Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/runs/{run_id}":{"get":{"tags":["C5"],"summary":"Статус, прогресс, счётчики R-33, деградировавшие источники","operationId":"get_run_runs__run_id__get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"integer","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Run Runs  Run Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/runs/{run_id}/signals":{"get":{"tags":["C5"],"summary":"ТОП-15 с полями R-13/R-23 и исключённые с причинами R-14","operationId":"get_signals_runs__run_id__signals_get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"integer","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Signals Runs  Run Id  Signals Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/signals/{topic_id}":{"get":{"tags":["C5"],"summary":"Карточка сигнала (контракт C4)","operationId":"get_signal_signals__topic_id__get","parameters":[{"name":"topic_id","in":"path","required":true,"schema":{"type":"integer","title":"Topic Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Signal Signals  Topic Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sources/health":{"get":{"tags":["C5"],"summary":"Доступность источников (кэш 5 минут)","operationId":"get_health_sources_health_get","parameters":[{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Refresh"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Health Sources Health 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"},"SearchIn":{"properties":{"query":{"type":"string","maxLength":300,"minLength":2,"title":"Query","description":"свободный запрос, например «перспективные решения в финтехе»"},"as_of":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"As Of","description":"дата среза (ретроспектива): документы и ряды не позже этой даты"},"run_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Run Slug"},"collect_counts":{"type":"boolean","title":"Collect Counts","description":"собирать счётные ряды по подтемам (медленнее, но нужны для скоринга)","default":true},"summaries":{"type":"boolean","title":"Summaries","description":"русские резюме источников ТОП-15 через LLM (R-24); без ключа пропускается","default":true},"card_texts":{"type":"boolean","title":"Card Texts","description":"тексты карточек ТОП-15 (описание, преимущество, кейс, объяснение) через LLM только по документам темы (R-13, R-32, R-15); без ключа пропускается","default":true},"clusters":{"type":"boolean","title":"Clusters","description":"темы-кластеры направления запроса (путь A), если для него загружены кластеры; false — только поисковые фразы расширения (путь B)","default":true}},"type":"object","required":["query"],"title":"SearchIn"},"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"}}}}