{"openapi":"3.1.0","info":{"title":"ruscrape — Web Data Access for AI Agents","version":"0.2.0"},"paths":{"/admin/demand":{"get":{"summary":"Demand","description":"Сводка спроса (валидация): обращения agent vs human, сигналы interest/top_funnel/intent.","operationId":"demand_admin_demand_get","parameters":[{"name":"hours","in":"query","required":false,"schema":{"type":"integer","default":24,"title":"Hours"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/compass":{"get":{"summary":"Compass View","description":"Компас спроса по всем нишам агентов: последний снимок + список дат (тренд).","operationId":"compass_view_admin_compass_get","parameters":[{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/metrics/summary":{"get":{"summary":"M Summary","operationId":"m_summary_admin_metrics_summary_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/metrics/timeseries":{"get":{"summary":"M Ts","operationId":"m_ts_admin_metrics_timeseries_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}},{"name":"bucket","in":"query","required":false,"schema":{"type":"string","default":"day","title":"Bucket"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/metrics/services":{"get":{"summary":"M Services","operationId":"m_services_admin_metrics_services_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/metrics/svc_timeseries":{"get":{"summary":"M Svc Ts","operationId":"m_svc_ts_admin_metrics_svc_timeseries_get","parameters":[{"name":"hours","in":"query","required":false,"schema":{"type":"integer","default":24,"title":"Hours"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/metrics/realtime":{"get":{"summary":"M Realtime","operationId":"m_realtime_admin_metrics_realtime_get","parameters":[{"name":"minutes","in":"query","required":false,"schema":{"type":"integer","default":15,"title":"Minutes"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/metrics/events":{"get":{"summary":"M Events","operationId":"m_events_admin_metrics_events_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":60,"title":"Limit"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/metrics/insights":{"get":{"summary":"M Insights","description":"Воронка агента + авто-выводы: почему услуга работает / почему не купили, хотя зашли.","operationId":"m_insights_admin_metrics_insights_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/metrics/surveys":{"get":{"summary":"M Surveys","description":"Опросы агентов: по вопросам — распределение ответов + сколько агентов ответило.","operationId":"m_surveys_admin_metrics_surveys_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":60,"title":"Days"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/x402/bazaar":{"get":{"summary":"X402 Bazaar","description":"Каталог x402 Bazaar — рынок платных сервисов для агентов (через CDP discovery).","operationId":"x402_bazaar_admin_x402_bazaar_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":40,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/x402/mine":{"get":{"summary":"X402 Mine","description":"Наш статус в x402: USDC-платежи нам + залистен ли ruscrape в Bazaar.","operationId":"x402_mine_admin_x402_mine_get","parameters":[{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/x402/onchain":{"get":{"summary":"X402 Onchain","description":"ГДЕ ДЕНЬГИ: реальный USDC на кошельках x402-сервисов (Base on-chain). Кэш 30 мин.","operationId":"x402_onchain_admin_x402_onchain_get","parameters":[{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Refresh"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/market/status":{"get":{"summary":"Market Status","description":"Состояние снимочной БД (data moat): что и сколько накоплено.","operationId":"market_status_admin_market_status_get","parameters":[{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/market/catalog_dynamics":{"get":{"summary":"Market Catalog Dynamics","description":"Динамика каталога: рождения/смерти/смены цен между снимками.","operationId":"market_catalog_dynamics_admin_market_catalog_dynamics_get","parameters":[{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/market/onchain_dynamics":{"get":{"summary":"Market Onchain Dynamics","description":"Поток USDC по времени + топ-получатели и топ-плательщики (граф агентов-покупателей).","operationId":"market_onchain_dynamics_admin_market_onchain_dynamics_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}},{"name":"bucket","in":"query","required":false,"schema":{"type":"string","default":"day","title":"Bucket"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/market/volume":{"get":{"summary":"Market Volume","description":"Тайм-серия объёма рынка (x402scan) + топ-фасилитаторы + топ-сервисы по ОБЪЁМУ.","operationId":"market_volume_admin_market_volume_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Days"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/market/report":{"get":{"summary":"Market Report","description":"Полный отчёт по рынку x402 (data moat) — продукт «разведка рынка».","operationId":"market_report_admin_market_report_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/market":{"get":{"summary":"Market Teaser","description":"Публичный teaser рынка x402 (маркетинг + верх воронки). Полный отчёт — платно.","operationId":"market_teaser_market_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/market/snapshot":{"post":{"summary":"Market Snapshot","description":"Ручной запуск снимка (catalog|onchain|x402scan|github|health|all) — тест; в проде по таймеру.","operationId":"market_snapshot_admin_market_snapshot_post","parameters":[{"name":"what","in":"query","required":false,"schema":{"type":"string","default":"all","title":"What"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/x402/try":{"get":{"summary":"X402 Try","description":"БЕСПЛАТНЫЙ пробник: первые 3 фетча в день с одного IP — без оплаты (агент пробует ценность).\nДальше — платный /x402/fetch (x402/USDC на Base или RUB). Это чинит воронку: раньше агент\nсразу упирался в 402 и уходил, не увидев результата.","operationId":"x402_try_x402_try_get","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","minLength":8,"title":"Url"}},{"name":"country","in":"query","required":false,"schema":{"type":"string","default":"ru","title":"Country"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/x402/fetch":{"get":{"summary":"X402 Fetch","description":"Платный (x402/USDC) флагман — то же, что /v1/fetch, но оплата криптой через Bazaar.\nБез X-PAYMENT middleware вернёт 402 с реквизитами; после оплаты — контент.","operationId":"x402_fetch_x402_fetch_get","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","minLength":8,"title":"Url"}},{"name":"country","in":"query","required":false,"schema":{"type":"string","default":"ru","title":"Country"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/survey/questions":{"get":{"summary":"Survey Questions","description":"Что мы хотим узнать у агентов. Ответить: POST /v1/survey или MCP submit_survey.","operationId":"survey_questions_v1_survey_questions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/survey":{"post":{"summary":"Survey","operationId":"survey_v1_survey_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SurveyAnswer"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/metrics/revenue":{"get":{"summary":"M Revenue","operationId":"m_revenue_admin_metrics_revenue_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Days"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/logs":{"get":{"summary":"M Logs","operationId":"m_logs_admin_logs_get","parameters":[{"name":"service","in":"query","required":false,"schema":{"type":"string","default":"domains-for-ai","title":"Service"}},{"name":"lines","in":"query","required":false,"schema":{"type":"integer","default":120,"title":"Lines"}},{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/snapshot":{"post":{"summary":"M Snapshot","operationId":"m_snapshot_admin_snapshot_post","parameters":[{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/alerts":{"get":{"summary":"M Alerts","description":"Низкие балансы провайдеров — кого пополнить (auto-пополнения у них нет, нужен сигнал).","operationId":"m_alerts_admin_alerts_get","parameters":[{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/ozon_upload":{"post":{"summary":"Ozon Upload","description":"Приёмник результатов Ozon-захвата с ASUS (чистый РФ-IP). Гейт отдельным токеном.","operationId":"ozon_upload_admin_ozon_upload_post","parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string","default":"f.bin","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/worker/next":{"get":{"summary":"Worker Next","description":"ASUS-РФ-узел берёт следующее задание (отрендерить жёсткий РФ-сайт).","operationId":"worker_next_admin_worker_next_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/admin/worker/result":{"post":{"summary":"Worker Result","description":"ASUS присылает результат рендера (body = JSON {html/products/title}).","operationId":"worker_result_admin_worker_result_post","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/rujob/stats":{"get":{"summary":"Rujob Stats","description":"Состояние очереди РФ-рендеров (ASUS-узел).","operationId":"rujob_stats_admin_rujob_stats_get","parameters":[{"name":"key","in":"query","required":false,"schema":{"type":"string","title":"Key"}},{"name":"x-admin-token","in":"header","required":false,"schema":{"type":"string","title":"X-Admin-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/dashboard":{"get":{"summary":"Dashboard","operationId":"dashboard_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llms.txt":{"get":{"summary":"Llms Txt","operationId":"llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/.well-known/ai-plugin.json":{"get":{"summary":"Ai Plugin","operationId":"ai_plugin__well_known_ai_plugin_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/mcp.json":{"get":{"summary":"Mcp Manifest","operationId":"mcp_manifest__well_known_mcp_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/agent.json":{"get":{"summary":"Agent Card","operationId":"agent_card__well_known_agent_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/mcp":{"get":{"summary":"Mcp Manifest Alias","operationId":"mcp_manifest_alias__well_known_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/glama.json":{"get":{"summary":"Glama Manifest","operationId":"glama_manifest__well_known_glama_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Index","operationId":"index__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/for":{"get":{"summary":"Sector Index","description":"Список ловушек по секторам (агент выбирает свой use-case).","operationId":"sector_index_for_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/for/{slug}":{"get":{"summary":"Sector Lure","description":"Приманка-лендинг на сектор. Дёрнули — телеметрия записала спрос как lure:<slug>.","operationId":"sector_lure_for__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/mcp-registry-auth":{"get":{"summary":"Mcp Registry Auth","description":"Доказательство владения доменом для официального MCP Registry (mcp-publisher login http).","operationId":"mcp_registry_auth__well_known_mcp_registry_auth_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/pricing":{"get":{"summary":"Pricing","description":"Машиночитаемый прайс — агент сравнивает программно.","operationId":"pricing_pricing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/stats":{"get":{"summary":"Stats","description":"Машинная репутация: аптайм + доступные услуги (для ранжирования агентом).","operationId":"stats_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/availability":{"get":{"summary":"Availability","description":"Доступность через RDAP — без auth/whitelist/лимитов регистратора.","operationId":"availability_v1_availability_get","parameters":[{"name":"domain","in":"query","required":true,"schema":{"type":"string","minLength":3,"title":"Domain"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Availability"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/availability/batch":{"post":{"summary":"Availability Batch","description":"Пакетная проверка доступности (.com через RDAP, .ru/.рф/.su через WHOIS ТЦИ).","operationId":"availability_batch_v1_availability_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Availability"},"type":"array","title":"Response Availability Batch V1 Availability Batch Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/register":{"post":{"summary":"Register","description":"Идемпотентная постановка заказа в очередь (повтор с тем же ключом не плодит дубль).\n\nx402: если оплата с баланса агента и его не хватает — отвечаем HTTP 402 Payment Required\nс машиночитаемой инструкцией, как пополнить (агент платит и повторяет запрос).","operationId":"register_v1_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/balance":{"get":{"summary":"Get Balance","operationId":"get_balance_v1_balance_get","parameters":[{"name":"agent_id","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/balance/topup":{"post":{"summary":"Topup","description":"Создать пополнение баланса через провайдера (rub=ЮKassa, card=Xendit, usdc=NOWPayments).","operationId":"topup_v1_balance_topup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopupRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/orders/{order_id}":{"get":{"summary":"Order Status","operationId":"order_status_v1_orders__order_id__get","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/proxy":{"post":{"summary":"Get Proxy","description":"Выдать агенту РФ-IP прокси (списав с баланса). x402: нет баланса → 402.","operationId":"get_proxy_v1_proxy_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProxyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fetch":{"post":{"summary":"Fetch Web","description":"Флагман: контент сайта/API через IP страны `country` (дай url — получи html/json).\n\ncountry='ru' — закрытый РФ-сегмент (WB/Ozon/реестры). residential=true — для антибот-сайтов.\nx402: нет баланса → 402.","operationId":"fetch_web_v1_fetch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/code":{"post":{"summary":"Run Code Ep","description":"Исполнить код в изолированной песочнице (без сети, лимиты). x402: нет баланса → 402.","operationId":"run_code_ep_v1_code_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sms/number":{"post":{"summary":"Sms Number","description":"Выдать агенту виртуальный номер (РФ по умолч.). x402: нет баланса → 402.","operationId":"sms_number_v1_sms_number_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SmsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/captcha":{"post":{"summary":"Captcha Solve","description":"Решить капчу (reCAPTCHA v2/v3, hCaptcha, Turnstile, image). x402: нет баланса → 402.","operationId":"captcha_solve_v1_captcha_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaptchaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/marketplace":{"post":{"summary":"Marketplace Search","description":"Структурный поиск товаров на WB/Ozon (name/price/rating/seller). x402: нет баланса → 402.","operationId":"marketplace_search_v1_marketplace_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/market_intel":{"post":{"summary":"Market Intel","description":"ПРЕМИУМ: граф покупателей x402-сервиса (кто платит + что ещё берут). x402: нет баланса → 402.","operationId":"market_intel_v1_market_intel_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketIntelRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sms/code/{activation_id}":{"get":{"summary":"Sms Code","description":"Прочитать пришедший на номер код (опрашивать).","operationId":"sms_code_v1_sms_code__activation_id__get","parameters":[{"name":"activation_id","in":"path","required":true,"schema":{"type":"string","title":"Activation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Availability":{"properties":{"domain":{"type":"string","title":"Domain"},"available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Available"},"source":{"type":"string","title":"Source"},"checked_at":{"type":"string","title":"Checked At"}},"type":"object","required":["domain","available","source","checked_at"],"title":"Availability"},"BatchRequest":{"properties":{"domains":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"Domains"}},"type":"object","required":["domains"],"title":"BatchRequest"},"CaptchaRequest":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"type":{"type":"string","title":"Type","default":"recaptcha_v2"},"sitekey":{"type":"string","title":"Sitekey","default":""},"url":{"type":"string","title":"Url","default":""},"image_base64":{"type":"string","title":"Image Base64","default":""},"action":{"type":"string","title":"Action","default":"verify"},"price_minor":{"type":"integer","title":"Price Minor","default":500}},"type":"object","required":["agent_id"],"title":"CaptchaRequest"},"CodeRequest":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"language":{"type":"string","title":"Language","default":"python"},"code":{"type":"string","minLength":1,"title":"Code"},"timeout":{"type":"integer","title":"Timeout","default":10},"price_minor":{"type":"integer","title":"Price Minor","default":300}},"type":"object","required":["agent_id","code"],"title":"CodeRequest"},"FetchRequest":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"url":{"type":"string","minLength":8,"title":"Url"},"country":{"type":"string","title":"Country","default":"ru"},"residential":{"type":"boolean","title":"Residential","default":false},"render":{"type":"boolean","title":"Render","default":false},"price_minor":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Minor"}},"type":"object","required":["agent_id","url"],"title":"FetchRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"MarketIntelRequest":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"target_domain":{"type":"string","title":"Target Domain","default":""},"target_payto":{"type":"string","title":"Target Payto","default":""},"days":{"type":"integer","title":"Days","default":30},"price_minor":{"type":"integer","title":"Price Minor","default":9000}},"type":"object","required":["agent_id"],"title":"MarketIntelRequest"},"MarketplaceRequest":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"query":{"type":"string","title":"Query"},"marketplace":{"type":"string","title":"Marketplace","default":"wildberries"},"limit":{"type":"integer","title":"Limit","default":20},"price_minor":{"type":"integer","title":"Price Minor","default":2900}},"type":"object","required":["agent_id","query"],"title":"MarketplaceRequest"},"Order":{"properties":{"id":{"type":"string","title":"Id"},"domain":{"type":"string","title":"Domain"},"status":{"type":"string","enum":["queued","processing","registered","failed"],"title":"Status"},"backend":{"type":"string","title":"Backend"},"attempts":{"type":"integer","title":"Attempts","default":0},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code"},"retryable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Retryable"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["id","domain","status","backend","created_at","updated_at"],"title":"Order"},"ProxyRequest":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"count":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Count","default":1},"period_days":{"type":"integer","maximum":365.0,"minimum":1.0,"title":"Period Days","default":30},"country":{"type":"string","title":"Country","default":"ru"},"version":{"type":"integer","title":"Version","default":4},"ptype":{"type":"string","title":"Ptype","default":"http"},"price_minor":{"type":"integer","title":"Price Minor","default":10000}},"type":"object","required":["agent_id"],"title":"ProxyRequest"},"RegisterRequest":{"properties":{"domain":{"type":"string","title":"Domain"},"period_years":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Period Years","default":1},"idempotency_key":{"type":"string","maxLength":128,"minLength":8,"title":"Idempotency Key"},"contact":{"additionalProperties":true,"type":"object","title":"Contact"},"backend":{"type":"string","enum":["nicreg","regru","opensrs"],"title":"Backend","default":"nicreg"},"agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"},"price_minor":{"type":"integer","title":"Price Minor","default":20000}},"type":"object","required":["domain","idempotency_key"],"title":"RegisterRequest"},"SmsRequest":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"service":{"type":"string","title":"Service","default":"telegram"},"country":{"type":"string","title":"Country","default":"kazakhstan"},"price_minor":{"type":"integer","title":"Price Minor","default":2000}},"type":"object","required":["agent_id"],"title":"SmsRequest"},"SurveyAnswer":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"question":{"type":"string","title":"Question"},"answer":{"type":"string","title":"Answer"}},"type":"object","required":["agent_id","question","answer"],"title":"SurveyAnswer"},"TopupRequest":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"amount_minor":{"type":"integer","minimum":1.0,"title":"Amount Minor"},"rail":{"type":"string","title":"Rail","default":"rub"}},"type":"object","required":["agent_id","amount_minor"],"title":"TopupRequest"},"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"}}}}