unrealon 1.0.9__py3-none-any.whl → 1.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. unrealon/__init__.py +23 -21
  2. unrealon-1.1.0.dist-info/METADATA +164 -0
  3. unrealon-1.1.0.dist-info/RECORD +82 -0
  4. {unrealon-1.0.9.dist-info → unrealon-1.1.0.dist-info}/WHEEL +1 -1
  5. unrealon-1.1.0.dist-info/entry_points.txt +9 -0
  6. {unrealon-1.0.9.dist-info → unrealon-1.1.0.dist-info/licenses}/LICENSE +1 -1
  7. unrealon_bridge/__init__.py +114 -0
  8. unrealon_bridge/cli.py +316 -0
  9. unrealon_bridge/client/__init__.py +93 -0
  10. unrealon_bridge/client/base.py +78 -0
  11. unrealon_bridge/client/commands.py +89 -0
  12. unrealon_bridge/client/connection.py +90 -0
  13. unrealon_bridge/client/events.py +65 -0
  14. unrealon_bridge/client/health.py +38 -0
  15. unrealon_bridge/client/html_parser.py +146 -0
  16. unrealon_bridge/client/logging.py +139 -0
  17. unrealon_bridge/client/proxy.py +70 -0
  18. unrealon_bridge/client/scheduler.py +450 -0
  19. unrealon_bridge/client/session.py +70 -0
  20. unrealon_bridge/configs/__init__.py +14 -0
  21. unrealon_bridge/configs/bridge_config.py +212 -0
  22. unrealon_bridge/configs/bridge_config.yaml +39 -0
  23. unrealon_bridge/models/__init__.py +138 -0
  24. unrealon_bridge/models/base.py +28 -0
  25. unrealon_bridge/models/command.py +41 -0
  26. unrealon_bridge/models/events.py +40 -0
  27. unrealon_bridge/models/html_parser.py +79 -0
  28. unrealon_bridge/models/logging.py +55 -0
  29. unrealon_bridge/models/parser.py +63 -0
  30. unrealon_bridge/models/proxy.py +41 -0
  31. unrealon_bridge/models/requests.py +95 -0
  32. unrealon_bridge/models/responses.py +88 -0
  33. unrealon_bridge/models/scheduler.py +592 -0
  34. unrealon_bridge/models/session.py +28 -0
  35. unrealon_bridge/server/__init__.py +91 -0
  36. unrealon_bridge/server/base.py +171 -0
  37. unrealon_bridge/server/handlers/__init__.py +23 -0
  38. unrealon_bridge/server/handlers/command.py +110 -0
  39. unrealon_bridge/server/handlers/html_parser.py +139 -0
  40. unrealon_bridge/server/handlers/logging.py +95 -0
  41. unrealon_bridge/server/handlers/parser.py +95 -0
  42. unrealon_bridge/server/handlers/proxy.py +75 -0
  43. unrealon_bridge/server/handlers/scheduler.py +545 -0
  44. unrealon_bridge/server/handlers/session.py +66 -0
  45. unrealon_browser/__init__.py +61 -18
  46. unrealon_browser/{src/cli → cli}/browser_cli.py +6 -13
  47. unrealon_browser/{src/cli → cli}/cookies_cli.py +5 -1
  48. unrealon_browser/{src/core → core}/browser_manager.py +2 -2
  49. unrealon_browser/{src/managers → managers}/captcha.py +1 -1
  50. unrealon_browser/{src/managers → managers}/cookies.py +1 -1
  51. unrealon_browser/managers/logger_bridge.py +231 -0
  52. unrealon_browser/{src/managers → managers}/profile.py +1 -1
  53. unrealon_driver/__init__.py +73 -19
  54. unrealon_driver/browser/__init__.py +8 -0
  55. unrealon_driver/browser/config.py +74 -0
  56. unrealon_driver/browser/manager.py +416 -0
  57. unrealon_driver/exceptions.py +28 -0
  58. unrealon_driver/parser/__init__.py +55 -0
  59. unrealon_driver/parser/cli_manager.py +141 -0
  60. unrealon_driver/parser/daemon_manager.py +227 -0
  61. unrealon_driver/parser/managers/__init__.py +46 -0
  62. unrealon_driver/parser/managers/browser.py +51 -0
  63. unrealon_driver/parser/managers/config.py +281 -0
  64. unrealon_driver/parser/managers/error.py +412 -0
  65. unrealon_driver/parser/managers/html.py +732 -0
  66. unrealon_driver/parser/managers/logging.py +609 -0
  67. unrealon_driver/parser/managers/result.py +321 -0
  68. unrealon_driver/parser/parser_manager.py +628 -0
  69. unrealon/sdk_config.py +0 -88
  70. unrealon-1.0.9.dist-info/METADATA +0 -810
  71. unrealon-1.0.9.dist-info/RECORD +0 -246
  72. unrealon_browser/pyproject.toml +0 -182
  73. unrealon_browser/src/__init__.py +0 -62
  74. unrealon_browser/src/managers/logger_bridge.py +0 -395
  75. unrealon_driver/README.md +0 -204
  76. unrealon_driver/pyproject.toml +0 -187
  77. unrealon_driver/src/__init__.py +0 -90
  78. unrealon_driver/src/cli/__init__.py +0 -10
  79. unrealon_driver/src/cli/main.py +0 -66
  80. unrealon_driver/src/cli/simple.py +0 -510
  81. unrealon_driver/src/config/__init__.py +0 -11
  82. unrealon_driver/src/config/auto_config.py +0 -478
  83. unrealon_driver/src/core/__init__.py +0 -18
  84. unrealon_driver/src/core/exceptions.py +0 -289
  85. unrealon_driver/src/core/parser.py +0 -638
  86. unrealon_driver/src/dto/__init__.py +0 -66
  87. unrealon_driver/src/dto/cli.py +0 -119
  88. unrealon_driver/src/dto/config.py +0 -18
  89. unrealon_driver/src/dto/events.py +0 -237
  90. unrealon_driver/src/dto/execution.py +0 -313
  91. unrealon_driver/src/dto/services.py +0 -311
  92. unrealon_driver/src/execution/__init__.py +0 -23
  93. unrealon_driver/src/execution/daemon_mode.py +0 -317
  94. unrealon_driver/src/execution/interactive_mode.py +0 -88
  95. unrealon_driver/src/execution/modes.py +0 -45
  96. unrealon_driver/src/execution/scheduled_mode.py +0 -209
  97. unrealon_driver/src/execution/test_mode.py +0 -250
  98. unrealon_driver/src/logging/__init__.py +0 -24
  99. unrealon_driver/src/logging/driver_logger.py +0 -512
  100. unrealon_driver/src/services/__init__.py +0 -24
  101. unrealon_driver/src/services/browser_service.py +0 -726
  102. unrealon_driver/src/services/llm/__init__.py +0 -15
  103. unrealon_driver/src/services/llm/browser_llm_service.py +0 -363
  104. unrealon_driver/src/services/llm/llm.py +0 -195
  105. unrealon_driver/src/services/logger_service.py +0 -232
  106. unrealon_driver/src/services/metrics_service.py +0 -185
  107. unrealon_driver/src/services/scheduler_service.py +0 -489
  108. unrealon_driver/src/services/websocket_service.py +0 -362
  109. unrealon_driver/src/utils/__init__.py +0 -16
  110. unrealon_driver/src/utils/service_factory.py +0 -317
  111. unrealon_driver/src/utils/time_formatter.py +0 -338
  112. unrealon_llm/README.md +0 -44
  113. unrealon_llm/__init__.py +0 -26
  114. unrealon_llm/pyproject.toml +0 -154
  115. unrealon_llm/src/__init__.py +0 -228
  116. unrealon_llm/src/cli/__init__.py +0 -0
  117. unrealon_llm/src/core/__init__.py +0 -11
  118. unrealon_llm/src/core/smart_client.py +0 -438
  119. unrealon_llm/src/dto/__init__.py +0 -155
  120. unrealon_llm/src/dto/models/__init__.py +0 -0
  121. unrealon_llm/src/dto/models/config.py +0 -343
  122. unrealon_llm/src/dto/models/core.py +0 -328
  123. unrealon_llm/src/dto/models/enums.py +0 -123
  124. unrealon_llm/src/dto/models/html_analysis.py +0 -345
  125. unrealon_llm/src/dto/models/statistics.py +0 -473
  126. unrealon_llm/src/dto/models/translation.py +0 -383
  127. unrealon_llm/src/dto/models/type_conversion.py +0 -462
  128. unrealon_llm/src/dto/schemas/__init__.py +0 -0
  129. unrealon_llm/src/exceptions.py +0 -392
  130. unrealon_llm/src/llm_config/__init__.py +0 -20
  131. unrealon_llm/src/llm_config/logging_config.py +0 -178
  132. unrealon_llm/src/llm_logging/__init__.py +0 -42
  133. unrealon_llm/src/llm_logging/llm_events.py +0 -107
  134. unrealon_llm/src/llm_logging/llm_logger.py +0 -466
  135. unrealon_llm/src/managers/__init__.py +0 -15
  136. unrealon_llm/src/managers/cache_manager.py +0 -67
  137. unrealon_llm/src/managers/cost_manager.py +0 -107
  138. unrealon_llm/src/managers/request_manager.py +0 -298
  139. unrealon_llm/src/modules/__init__.py +0 -0
  140. unrealon_llm/src/modules/html_processor/__init__.py +0 -25
  141. unrealon_llm/src/modules/html_processor/base_processor.py +0 -415
  142. unrealon_llm/src/modules/html_processor/details_processor.py +0 -85
  143. unrealon_llm/src/modules/html_processor/listing_processor.py +0 -91
  144. unrealon_llm/src/modules/html_processor/models/__init__.py +0 -20
  145. unrealon_llm/src/modules/html_processor/models/processing_models.py +0 -40
  146. unrealon_llm/src/modules/html_processor/models/universal_model.py +0 -56
  147. unrealon_llm/src/modules/html_processor/processor.py +0 -102
  148. unrealon_llm/src/modules/llm/__init__.py +0 -0
  149. unrealon_llm/src/modules/translator/__init__.py +0 -0
  150. unrealon_llm/src/provider.py +0 -116
  151. unrealon_llm/src/utils/__init__.py +0 -95
  152. unrealon_llm/src/utils/common.py +0 -64
  153. unrealon_llm/src/utils/data_extractor.py +0 -188
  154. unrealon_llm/src/utils/html_cleaner.py +0 -767
  155. unrealon_llm/src/utils/language_detector.py +0 -308
  156. unrealon_llm/src/utils/models_cache.py +0 -592
  157. unrealon_llm/src/utils/smart_counter.py +0 -229
  158. unrealon_llm/src/utils/token_counter.py +0 -189
  159. unrealon_sdk/README.md +0 -25
  160. unrealon_sdk/__init__.py +0 -30
  161. unrealon_sdk/pyproject.toml +0 -231
  162. unrealon_sdk/src/__init__.py +0 -150
  163. unrealon_sdk/src/cli/__init__.py +0 -12
  164. unrealon_sdk/src/cli/commands/__init__.py +0 -22
  165. unrealon_sdk/src/cli/commands/benchmark.py +0 -42
  166. unrealon_sdk/src/cli/commands/diagnostics.py +0 -573
  167. unrealon_sdk/src/cli/commands/health.py +0 -46
  168. unrealon_sdk/src/cli/commands/integration.py +0 -498
  169. unrealon_sdk/src/cli/commands/reports.py +0 -43
  170. unrealon_sdk/src/cli/commands/security.py +0 -36
  171. unrealon_sdk/src/cli/commands/server.py +0 -483
  172. unrealon_sdk/src/cli/commands/servers.py +0 -56
  173. unrealon_sdk/src/cli/commands/tests.py +0 -55
  174. unrealon_sdk/src/cli/main.py +0 -126
  175. unrealon_sdk/src/cli/utils/reporter.py +0 -519
  176. unrealon_sdk/src/clients/openapi.yaml +0 -3347
  177. unrealon_sdk/src/clients/python_http/__init__.py +0 -3
  178. unrealon_sdk/src/clients/python_http/api_config.py +0 -228
  179. unrealon_sdk/src/clients/python_http/models/BaseModel.py +0 -12
  180. unrealon_sdk/src/clients/python_http/models/BroadcastDeliveryStats.py +0 -33
  181. unrealon_sdk/src/clients/python_http/models/BroadcastMessage.py +0 -17
  182. unrealon_sdk/src/clients/python_http/models/BroadcastMessageRequest.py +0 -35
  183. unrealon_sdk/src/clients/python_http/models/BroadcastPriority.py +0 -10
  184. unrealon_sdk/src/clients/python_http/models/BroadcastResponse.py +0 -21
  185. unrealon_sdk/src/clients/python_http/models/BroadcastResultResponse.py +0 -33
  186. unrealon_sdk/src/clients/python_http/models/BroadcastTarget.py +0 -11
  187. unrealon_sdk/src/clients/python_http/models/ConnectionStats.py +0 -27
  188. unrealon_sdk/src/clients/python_http/models/ConnectionsResponse.py +0 -21
  189. unrealon_sdk/src/clients/python_http/models/DeveloperMessageResponse.py +0 -23
  190. unrealon_sdk/src/clients/python_http/models/ErrorResponse.py +0 -25
  191. unrealon_sdk/src/clients/python_http/models/HTTPValidationError.py +0 -16
  192. unrealon_sdk/src/clients/python_http/models/HealthResponse.py +0 -23
  193. unrealon_sdk/src/clients/python_http/models/HealthStatus.py +0 -33
  194. unrealon_sdk/src/clients/python_http/models/LogLevel.py +0 -10
  195. unrealon_sdk/src/clients/python_http/models/LoggingRequest.py +0 -27
  196. unrealon_sdk/src/clients/python_http/models/LoggingResponse.py +0 -23
  197. unrealon_sdk/src/clients/python_http/models/MaintenanceMode.py +0 -9
  198. unrealon_sdk/src/clients/python_http/models/MaintenanceModeRequest.py +0 -33
  199. unrealon_sdk/src/clients/python_http/models/MaintenanceStatusResponse.py +0 -39
  200. unrealon_sdk/src/clients/python_http/models/ParserCommandRequest.py +0 -25
  201. unrealon_sdk/src/clients/python_http/models/ParserMessageResponse.py +0 -21
  202. unrealon_sdk/src/clients/python_http/models/ParserRegistrationRequest.py +0 -28
  203. unrealon_sdk/src/clients/python_http/models/ParserRegistrationResponse.py +0 -25
  204. unrealon_sdk/src/clients/python_http/models/ParserType.py +0 -10
  205. unrealon_sdk/src/clients/python_http/models/ProxyBlockRequest.py +0 -19
  206. unrealon_sdk/src/clients/python_http/models/ProxyEndpointResponse.py +0 -20
  207. unrealon_sdk/src/clients/python_http/models/ProxyListResponse.py +0 -19
  208. unrealon_sdk/src/clients/python_http/models/ProxyProvider.py +0 -10
  209. unrealon_sdk/src/clients/python_http/models/ProxyPurchaseRequest.py +0 -25
  210. unrealon_sdk/src/clients/python_http/models/ProxyResponse.py +0 -47
  211. unrealon_sdk/src/clients/python_http/models/ProxyRotationRequest.py +0 -23
  212. unrealon_sdk/src/clients/python_http/models/ProxyStatus.py +0 -10
  213. unrealon_sdk/src/clients/python_http/models/ProxyUsageRequest.py +0 -19
  214. unrealon_sdk/src/clients/python_http/models/ProxyUsageStatsResponse.py +0 -26
  215. unrealon_sdk/src/clients/python_http/models/ServiceRegistrationDto.py +0 -23
  216. unrealon_sdk/src/clients/python_http/models/ServiceStatsResponse.py +0 -31
  217. unrealon_sdk/src/clients/python_http/models/SessionStartRequest.py +0 -23
  218. unrealon_sdk/src/clients/python_http/models/SuccessResponse.py +0 -25
  219. unrealon_sdk/src/clients/python_http/models/SystemNotificationResponse.py +0 -23
  220. unrealon_sdk/src/clients/python_http/models/ValidationError.py +0 -18
  221. unrealon_sdk/src/clients/python_http/models/ValidationErrorResponse.py +0 -21
  222. unrealon_sdk/src/clients/python_http/models/WebSocketMetrics.py +0 -21
  223. unrealon_sdk/src/clients/python_http/models/__init__.py +0 -44
  224. unrealon_sdk/src/clients/python_http/services/None_service.py +0 -35
  225. unrealon_sdk/src/clients/python_http/services/ParserManagement_service.py +0 -190
  226. unrealon_sdk/src/clients/python_http/services/ProxyManagement_service.py +0 -289
  227. unrealon_sdk/src/clients/python_http/services/SocketLogging_service.py +0 -187
  228. unrealon_sdk/src/clients/python_http/services/SystemHealth_service.py +0 -119
  229. unrealon_sdk/src/clients/python_http/services/WebSocketAPI_service.py +0 -198
  230. unrealon_sdk/src/clients/python_http/services/__init__.py +0 -0
  231. unrealon_sdk/src/clients/python_http/services/admin_service.py +0 -125
  232. unrealon_sdk/src/clients/python_http/services/async_None_service.py +0 -35
  233. unrealon_sdk/src/clients/python_http/services/async_ParserManagement_service.py +0 -190
  234. unrealon_sdk/src/clients/python_http/services/async_ProxyManagement_service.py +0 -289
  235. unrealon_sdk/src/clients/python_http/services/async_SocketLogging_service.py +0 -189
  236. unrealon_sdk/src/clients/python_http/services/async_SystemHealth_service.py +0 -123
  237. unrealon_sdk/src/clients/python_http/services/async_WebSocketAPI_service.py +0 -200
  238. unrealon_sdk/src/clients/python_http/services/async_admin_service.py +0 -125
  239. unrealon_sdk/src/clients/python_websocket/__init__.py +0 -28
  240. unrealon_sdk/src/clients/python_websocket/client.py +0 -490
  241. unrealon_sdk/src/clients/python_websocket/events.py +0 -732
  242. unrealon_sdk/src/clients/python_websocket/example.py +0 -136
  243. unrealon_sdk/src/clients/python_websocket/types.py +0 -871
  244. unrealon_sdk/src/core/__init__.py +0 -64
  245. unrealon_sdk/src/core/client.py +0 -556
  246. unrealon_sdk/src/core/config.py +0 -465
  247. unrealon_sdk/src/core/exceptions.py +0 -239
  248. unrealon_sdk/src/core/metadata.py +0 -191
  249. unrealon_sdk/src/core/models.py +0 -142
  250. unrealon_sdk/src/core/types.py +0 -68
  251. unrealon_sdk/src/dto/__init__.py +0 -268
  252. unrealon_sdk/src/dto/authentication.py +0 -108
  253. unrealon_sdk/src/dto/cache.py +0 -208
  254. unrealon_sdk/src/dto/common.py +0 -19
  255. unrealon_sdk/src/dto/concurrency.py +0 -393
  256. unrealon_sdk/src/dto/events.py +0 -108
  257. unrealon_sdk/src/dto/health.py +0 -339
  258. unrealon_sdk/src/dto/load_balancing.py +0 -336
  259. unrealon_sdk/src/dto/logging.py +0 -230
  260. unrealon_sdk/src/dto/performance.py +0 -165
  261. unrealon_sdk/src/dto/rate_limiting.py +0 -295
  262. unrealon_sdk/src/dto/resource_pooling.py +0 -128
  263. unrealon_sdk/src/dto/structured_logging.py +0 -112
  264. unrealon_sdk/src/dto/task_scheduling.py +0 -121
  265. unrealon_sdk/src/dto/websocket.py +0 -55
  266. unrealon_sdk/src/enterprise/__init__.py +0 -59
  267. unrealon_sdk/src/enterprise/authentication.py +0 -401
  268. unrealon_sdk/src/enterprise/cache_manager.py +0 -578
  269. unrealon_sdk/src/enterprise/error_recovery.py +0 -494
  270. unrealon_sdk/src/enterprise/event_system.py +0 -549
  271. unrealon_sdk/src/enterprise/health_monitor.py +0 -747
  272. unrealon_sdk/src/enterprise/load_balancer.py +0 -964
  273. unrealon_sdk/src/enterprise/logging/__init__.py +0 -68
  274. unrealon_sdk/src/enterprise/logging/cleanup.py +0 -156
  275. unrealon_sdk/src/enterprise/logging/development.py +0 -744
  276. unrealon_sdk/src/enterprise/logging/service.py +0 -410
  277. unrealon_sdk/src/enterprise/multithreading_manager.py +0 -853
  278. unrealon_sdk/src/enterprise/performance_monitor.py +0 -539
  279. unrealon_sdk/src/enterprise/proxy_manager.py +0 -696
  280. unrealon_sdk/src/enterprise/rate_limiter.py +0 -652
  281. unrealon_sdk/src/enterprise/resource_pool.py +0 -763
  282. unrealon_sdk/src/enterprise/task_scheduler.py +0 -709
  283. unrealon_sdk/src/internal/__init__.py +0 -10
  284. unrealon_sdk/src/internal/command_router.py +0 -497
  285. unrealon_sdk/src/internal/connection_manager.py +0 -397
  286. unrealon_sdk/src/internal/http_client.py +0 -446
  287. unrealon_sdk/src/internal/websocket_client.py +0 -420
  288. unrealon_sdk/src/provider.py +0 -471
  289. unrealon_sdk/src/utils.py +0 -234
  290. /unrealon_browser/{src/cli → cli}/__init__.py +0 -0
  291. /unrealon_browser/{src/cli → cli}/interactive_mode.py +0 -0
  292. /unrealon_browser/{src/cli → cli}/main.py +0 -0
  293. /unrealon_browser/{src/core → core}/__init__.py +0 -0
  294. /unrealon_browser/{src/dto → dto}/__init__.py +0 -0
  295. /unrealon_browser/{src/dto → dto}/models/config.py +0 -0
  296. /unrealon_browser/{src/dto → dto}/models/core.py +0 -0
  297. /unrealon_browser/{src/dto → dto}/models/dataclasses.py +0 -0
  298. /unrealon_browser/{src/dto → dto}/models/detection.py +0 -0
  299. /unrealon_browser/{src/dto → dto}/models/enums.py +0 -0
  300. /unrealon_browser/{src/dto → dto}/models/statistics.py +0 -0
  301. /unrealon_browser/{src/managers → managers}/__init__.py +0 -0
  302. /unrealon_browser/{src/managers → managers}/stealth.py +0 -0
@@ -1,3347 +0,0 @@
1
- components:
2
- schemas:
3
- BaseModel:
4
- properties: {}
5
- title: BaseModel
6
- type: object
7
- BroadcastDeliveryStats:
8
- description: Broadcast delivery statistics.
9
- properties:
10
- data:
11
- anyOf:
12
- - additionalProperties: true
13
- type: object
14
- - type: null
15
- description: Optional response data
16
- title: Data
17
- delivered:
18
- description: Successfully delivered count
19
- minimum: 0.0
20
- title: Delivered
21
- type: integer
22
- delivery_rate:
23
- description: Delivery success rate percentage
24
- maximum: 100.0
25
- minimum: 0.0
26
- title: Delivery Rate
27
- type: number
28
- failed:
29
- description: Failed delivery count
30
- minimum: 0.0
31
- title: Failed
32
- type: integer
33
- message:
34
- description: Success message
35
- title: Message
36
- type: string
37
- pending:
38
- description: Pending delivery count
39
- minimum: 0.0
40
- title: Pending
41
- type: integer
42
- request_id:
43
- anyOf:
44
- - type: string
45
- - type: null
46
- description: Original request tracking ID
47
- title: Request Id
48
- success:
49
- default: true
50
- description: Operation success status
51
- title: Success
52
- type: boolean
53
- timestamp:
54
- description: Response timestamp
55
- format: date-time
56
- title: Timestamp
57
- type: string
58
- total_targeted:
59
- description: Total users targeted
60
- minimum: 0.0
61
- title: Total Targeted
62
- type: integer
63
- required:
64
- - message
65
- - total_targeted
66
- - delivered
67
- - failed
68
- - pending
69
- - delivery_rate
70
- title: BroadcastDeliveryStats
71
- type: object
72
- BroadcastMessage:
73
- description: Message to broadcast to a room.
74
- properties:
75
- data:
76
- additionalProperties: true
77
- title: Data
78
- type: object
79
- event:
80
- default: message
81
- title: Event
82
- type: string
83
- required:
84
- - data
85
- title: BroadcastMessage
86
- type: object
87
- BroadcastMessageRequest:
88
- additionalProperties: false
89
- description: Request to broadcast message to users.
90
- properties:
91
- admin_context:
92
- anyOf:
93
- - additionalProperties: true
94
- type: object
95
- - type: null
96
- description: Admin context metadata
97
- title: Admin Context
98
- expires_at:
99
- anyOf:
100
- - format: date-time
101
- type: string
102
- - type: null
103
- description: Message expiration timestamp
104
- title: Expires At
105
- message:
106
- description: Broadcast message content
107
- maxLength: 2000
108
- minLength: 1
109
- title: Message
110
- type: string
111
- metadata:
112
- additionalProperties: true
113
- description: Additional message metadata
114
- title: Metadata
115
- type: object
116
- persistent:
117
- default: false
118
- description: Whether message persists for offline users
119
- title: Persistent
120
- type: boolean
121
- priority:
122
- $ref: '#/components/schemas/BroadcastPriority'
123
- default: normal
124
- description: Message priority level
125
- request_id:
126
- anyOf:
127
- - type: string
128
- - type: null
129
- description: Optional request tracking ID
130
- title: Request Id
131
- target:
132
- $ref: '#/components/schemas/BroadcastTarget'
133
- default: all_users
134
- description: Broadcast target audience
135
- target_room:
136
- anyOf:
137
- - maxLength: 100
138
- type: string
139
- - type: null
140
- description: Specific room name (required if target=specific_room)
141
- title: Target Room
142
- target_users:
143
- anyOf:
144
- - items:
145
- type: string
146
- maxItems: 1000
147
- type: array
148
- - type: null
149
- description: Specific user IDs (required if target=specific_users)
150
- title: Target Users
151
- title:
152
- anyOf:
153
- - maxLength: 200
154
- type: string
155
- - type: null
156
- description: Optional message title
157
- title: Title
158
- required:
159
- - message
160
- title: BroadcastMessageRequest
161
- type: object
162
- BroadcastPriority:
163
- description: Broadcast message priority levels.
164
- enum:
165
- - low
166
- - normal
167
- - high
168
- - urgent
169
- - critical
170
- title: BroadcastPriority
171
- type: string
172
- BroadcastResponse:
173
- description: Response model for broadcast operations.
174
- example:
175
- event: notification
176
- message_sent: true
177
- room: global
178
- success: true
179
- properties:
180
- event:
181
- description: Event type
182
- title: Event
183
- type: string
184
- message_sent:
185
- description: Whether message was sent
186
- title: Message Sent
187
- type: boolean
188
- room:
189
- description: Target room
190
- title: Room
191
- type: string
192
- success:
193
- description: Whether broadcast was successful
194
- title: Success
195
- type: boolean
196
- required:
197
- - success
198
- - room
199
- - event
200
- - message_sent
201
- title: BroadcastResponse
202
- type: object
203
- BroadcastResultResponse:
204
- description: Response from broadcast operation.
205
- properties:
206
- broadcast_id:
207
- description: Unique broadcast identifier
208
- title: Broadcast Id
209
- type: string
210
- data:
211
- anyOf:
212
- - additionalProperties: true
213
- type: object
214
- - type: null
215
- description: Optional response data
216
- title: Data
217
- delivery_stats:
218
- $ref: '#/components/schemas/BroadcastDeliveryStats'
219
- description: Delivery statistics
220
- estimated_delivery_time:
221
- anyOf:
222
- - format: date-time
223
- type: string
224
- - type: null
225
- description: Estimated completion time for delivery
226
- title: Estimated Delivery Time
227
- message:
228
- description: Success message
229
- title: Message
230
- type: string
231
- request_id:
232
- anyOf:
233
- - type: string
234
- - type: null
235
- description: Original request tracking ID
236
- title: Request Id
237
- success:
238
- default: true
239
- description: Operation success status
240
- title: Success
241
- type: boolean
242
- target_info:
243
- additionalProperties: true
244
- description: Target audience information
245
- title: Target Info
246
- type: object
247
- timestamp:
248
- description: Response timestamp
249
- format: date-time
250
- title: Timestamp
251
- type: string
252
- required:
253
- - message
254
- - broadcast_id
255
- - delivery_stats
256
- - target_info
257
- title: BroadcastResultResponse
258
- type: object
259
- BroadcastTarget:
260
- description: Broadcast target types.
261
- enum:
262
- - all_users
263
- - admins_only
264
- - developers_only
265
- - parsers_only
266
- - specific_room
267
- - specific_users
268
- title: BroadcastTarget
269
- type: string
270
- ConnectionStats:
271
- description: Pydantic model for WebSocket connection statistics.
272
- example:
273
- active_rooms: 12
274
- client_connections: 105
275
- max_connections: 1000
276
- metrics:
277
- connections_closed: 1100
278
- connections_opened: 1250
279
- messages_received: 12300
280
- messages_sent: 15450
281
- parser_connections: 45
282
- total_connections: 150
283
- properties:
284
- active_rooms:
285
- description: Number of active rooms
286
- title: Active Rooms
287
- type: integer
288
- client_connections:
289
- description: Client connections
290
- title: Client Connections
291
- type: integer
292
- max_connections:
293
- description: Maximum allowed connections
294
- title: Max Connections
295
- type: integer
296
- metrics:
297
- $ref: '#/components/schemas/WebSocketMetrics'
298
- description: Performance metrics
299
- parser_connections:
300
- description: Parser connections
301
- title: Parser Connections
302
- type: integer
303
- total_connections:
304
- description: Total active connections
305
- title: Total Connections
306
- type: integer
307
- required:
308
- - total_connections
309
- - parser_connections
310
- - client_connections
311
- - active_rooms
312
- - max_connections
313
- title: ConnectionStats
314
- type: object
315
- ConnectionsResponse:
316
- description: Response model for connections information.
317
- example:
318
- connected_developers:
319
- - dev_123456
320
- - dev_789012
321
- connected_parsers:
322
- - automotive_parser_001
323
- - automotive_parser_002
324
- total_developers: 2
325
- total_parsers: 2
326
- properties:
327
- connected_developers:
328
- description: List of connected developer IDs
329
- items:
330
- type: string
331
- title: Connected Developers
332
- type: array
333
- connected_parsers:
334
- description: List of connected parser IDs
335
- items:
336
- type: string
337
- title: Connected Parsers
338
- type: array
339
- total_developers:
340
- description: Total number of connected developers
341
- title: Total Developers
342
- type: integer
343
- total_parsers:
344
- description: Total number of connected parsers
345
- title: Total Parsers
346
- type: integer
347
- required:
348
- - connected_parsers
349
- - connected_developers
350
- - total_parsers
351
- - total_developers
352
- title: ConnectionsResponse
353
- type: object
354
- DeveloperMessageResponse:
355
- description: Response model for developer message operations.
356
- example:
357
- developer_id: dev_123456
358
- event: notification
359
- message_sent: true
360
- sessions_reached: 2
361
- success: true
362
- properties:
363
- developer_id:
364
- description: Target developer ID
365
- title: Developer Id
366
- type: string
367
- event:
368
- description: Event type
369
- title: Event
370
- type: string
371
- message_sent:
372
- description: Whether message was sent
373
- title: Message Sent
374
- type: boolean
375
- sessions_reached:
376
- description: Number of sessions reached
377
- title: Sessions Reached
378
- type: integer
379
- success:
380
- description: Whether message was sent
381
- title: Success
382
- type: boolean
383
- required:
384
- - success
385
- - developer_id
386
- - event
387
- - sessions_reached
388
- - message_sent
389
- title: DeveloperMessageResponse
390
- type: object
391
- ErrorResponse:
392
- description: Standard error response model.
393
- example:
394
- details:
395
- api_key_format: Must start with 'up_'
396
- min_length: 20
397
- error: Invalid API key provided
398
- error_code: AUTH_001
399
- message: Authentication failed
400
- success: false
401
- timestamp: '2024-01-01T12:00:00Z'
402
- properties:
403
- details:
404
- anyOf:
405
- - additionalProperties: true
406
- type: object
407
- - type: null
408
- description: Additional error details
409
- title: Details
410
- error:
411
- description: Error message describing what went wrong
412
- title: Error
413
- type: string
414
- error_code:
415
- anyOf:
416
- - type: string
417
- - type: null
418
- description: Machine-readable error code
419
- title: Error Code
420
- message:
421
- anyOf:
422
- - type: string
423
- - type: null
424
- description: Human-readable message about the operation
425
- title: Message
426
- success:
427
- default: false
428
- description: Always false for error responses
429
- title: Success
430
- type: boolean
431
- timestamp:
432
- anyOf:
433
- - type: string
434
- - type: null
435
- description: ISO timestamp when response was generated
436
- title: Timestamp
437
- required:
438
- - error
439
- title: ErrorResponse
440
- type: object
441
- HTTPValidationError:
442
- properties:
443
- detail:
444
- items:
445
- $ref: '#/components/schemas/ValidationError'
446
- title: Detail
447
- type: array
448
- title: HTTPValidationError
449
- type: object
450
- HealthResponse:
451
- description: Health check response model.
452
- example:
453
- components:
454
- database:
455
- response_time_ms: 5
456
- status: healthy
457
- redis:
458
- response_time_ms: 2
459
- status: healthy
460
- websocket:
461
- active_connections: 42
462
- status: healthy
463
- service: unrealon-server
464
- status: healthy
465
- timestamp: '2024-01-01T12:00:00Z'
466
- version: 3.0.0
467
- properties:
468
- components:
469
- anyOf:
470
- - additionalProperties:
471
- additionalProperties: true
472
- type: object
473
- type: object
474
- - type: null
475
- description: Health status of individual components
476
- title: Components
477
- service:
478
- description: Service name
479
- examples:
480
- - unrealon-server
481
- title: Service
482
- type: string
483
- status:
484
- description: Overall health status
485
- examples:
486
- - healthy
487
- - unhealthy
488
- title: Status
489
- type: string
490
- timestamp:
491
- description: Health check timestamp
492
- title: Timestamp
493
- type: string
494
- version:
495
- description: Service version
496
- examples:
497
- - 3.0.0
498
- title: Version
499
- type: string
500
- required:
501
- - status
502
- - service
503
- - version
504
- - timestamp
505
- title: HealthResponse
506
- type: object
507
- HealthStatus:
508
- description: Pydantic model for WebSocket service health status.
509
- example:
510
- active_connections: 150
511
- active_rooms: 12
512
- connected_developers: 105
513
- connected_parsers: 45
514
- max_connections: 1000
515
- metrics:
516
- connections_closed: 1100
517
- connections_opened: 1250
518
- messages_received: 12300
519
- messages_sent: 15450
520
- status: healthy
521
- websocket_server: socket.io
522
- properties:
523
- active_connections:
524
- description: Number of active connections
525
- title: Active Connections
526
- type: integer
527
- active_rooms:
528
- description: Number of active rooms
529
- title: Active Rooms
530
- type: integer
531
- connected_developers:
532
- description: Number of connected developers
533
- title: Connected Developers
534
- type: integer
535
- connected_parsers:
536
- description: Number of connected parsers
537
- title: Connected Parsers
538
- type: integer
539
- error:
540
- anyOf:
541
- - type: string
542
- - type: null
543
- description: Error message if unhealthy
544
- title: Error
545
- max_connections:
546
- description: Maximum allowed connections
547
- title: Max Connections
548
- type: integer
549
- metrics:
550
- $ref: '#/components/schemas/WebSocketMetrics'
551
- description: Performance metrics
552
- status:
553
- description: Health status
554
- title: Status
555
- type: string
556
- websocket_server:
557
- default: socket.io
558
- description: WebSocket server type
559
- title: Websocket Server
560
- type: string
561
- required:
562
- - status
563
- - active_connections
564
- - connected_parsers
565
- - connected_developers
566
- - active_rooms
567
- - max_connections
568
- title: HealthStatus
569
- type: object
570
- LogLevel:
571
- description: Log level enumeration.
572
- enum:
573
- - debug
574
- - info
575
- - warning
576
- - error
577
- - critical
578
- title: LogLevel
579
- type: string
580
- LoggingRequest:
581
- description: Request for logging operation.
582
- properties:
583
- context:
584
- additionalProperties: true
585
- description: Additional context
586
- title: Context
587
- type: object
588
- level:
589
- $ref: '#/components/schemas/LogLevel'
590
- description: Log level
591
- message:
592
- description: Log message
593
- maxLength: 10000
594
- minLength: 1
595
- title: Message
596
- type: string
597
- session_id:
598
- anyOf:
599
- - type: string
600
- - type: null
601
- description: Session ID (auto-generated if not provided)
602
- title: Session Id
603
- source:
604
- description: Source code location
605
- title: Source
606
- type: string
607
- tags:
608
- description: Log tags
609
- items:
610
- type: string
611
- title: Tags
612
- type: array
613
- required:
614
- - level
615
- - message
616
- - source
617
- title: LoggingRequest
618
- type: object
619
- LoggingResponse:
620
- description: Response from logging operation.
621
- properties:
622
- entry_id:
623
- anyOf:
624
- - type: string
625
- - type: null
626
- description: Log entry identifier
627
- title: Entry Id
628
- error:
629
- anyOf:
630
- - type: string
631
- - type: null
632
- description: Error message if failed
633
- title: Error
634
- message:
635
- description: Response message
636
- title: Message
637
- type: string
638
- session_id:
639
- description: Session identifier
640
- title: Session Id
641
- type: string
642
- success:
643
- description: Operation success status
644
- title: Success
645
- type: boolean
646
- required:
647
- - success
648
- - session_id
649
- - message
650
- title: LoggingResponse
651
- type: object
652
- MaintenanceMode:
653
- description: Maintenance mode types.
654
- enum:
655
- - full_system
656
- - read_only
657
- - partial_service
658
- - scheduled_restart
659
- title: MaintenanceMode
660
- type: string
661
- MaintenanceModeRequest:
662
- additionalProperties: false
663
- description: Request to manage maintenance mode.
664
- properties:
665
- admin_context:
666
- anyOf:
667
- - additionalProperties: true
668
- type: object
669
- - type: null
670
- description: Admin context metadata
671
- title: Admin Context
672
- affected_services:
673
- anyOf:
674
- - items:
675
- type: string
676
- type: array
677
- - type: null
678
- description: List of affected services (for partial maintenance)
679
- title: Affected Services
680
- enable:
681
- description: Whether to enable or disable maintenance mode
682
- title: Enable
683
- type: boolean
684
- estimated_duration_minutes:
685
- anyOf:
686
- - maximum: 1440.0
687
- minimum: 1.0
688
- type: integer
689
- - type: null
690
- description: Estimated maintenance duration
691
- title: Estimated Duration Minutes
692
- grace_period_minutes:
693
- default: 5
694
- description: Grace period before maintenance starts
695
- maximum: 60.0
696
- minimum: 0.0
697
- title: Grace Period Minutes
698
- type: integer
699
- mode:
700
- $ref: '#/components/schemas/MaintenanceMode'
701
- default: full_system
702
- description: Type of maintenance mode
703
- notify_users:
704
- default: true
705
- description: Whether to notify users about maintenance
706
- title: Notify Users
707
- type: boolean
708
- reason:
709
- description: Reason for maintenance
710
- maxLength: 500
711
- minLength: 5
712
- title: Reason
713
- type: string
714
- request_id:
715
- anyOf:
716
- - type: string
717
- - type: null
718
- description: Optional request tracking ID
719
- title: Request Id
720
- required:
721
- - enable
722
- - reason
723
- title: MaintenanceModeRequest
724
- type: object
725
- MaintenanceStatusResponse:
726
- description: Current maintenance status response.
727
- properties:
728
- affected_services:
729
- description: Currently affected services
730
- items:
731
- type: string
732
- title: Affected Services
733
- type: array
734
- data:
735
- anyOf:
736
- - additionalProperties: true
737
- type: object
738
- - type: null
739
- description: Optional response data
740
- title: Data
741
- estimated_end:
742
- anyOf:
743
- - format: date-time
744
- type: string
745
- - type: null
746
- description: Estimated maintenance end time
747
- title: Estimated End
748
- grace_period_remaining:
749
- anyOf:
750
- - minimum: 0.0
751
- type: integer
752
- - type: null
753
- description: Remaining grace period in seconds
754
- title: Grace Period Remaining
755
- maintenance_active:
756
- description: Whether maintenance mode is currently active
757
- title: Maintenance Active
758
- type: boolean
759
- message:
760
- description: Success message
761
- title: Message
762
- type: string
763
- mode:
764
- anyOf:
765
- - $ref: '#/components/schemas/MaintenanceMode'
766
- - type: null
767
- description: Current maintenance mode type
768
- reason:
769
- anyOf:
770
- - type: string
771
- - type: null
772
- description: Current maintenance reason
773
- title: Reason
774
- request_id:
775
- anyOf:
776
- - type: string
777
- - type: null
778
- description: Original request tracking ID
779
- title: Request Id
780
- started_at:
781
- anyOf:
782
- - format: date-time
783
- type: string
784
- - type: null
785
- description: Maintenance start timestamp
786
- title: Started At
787
- success:
788
- default: true
789
- description: Operation success status
790
- title: Success
791
- type: boolean
792
- timestamp:
793
- description: Response timestamp
794
- format: date-time
795
- title: Timestamp
796
- type: string
797
- required:
798
- - message
799
- - maintenance_active
800
- title: MaintenanceStatusResponse
801
- type: object
802
- ParserCommandRequest:
803
- description: Request model for sending commands to parsers.
804
- example:
805
- callback_url: https://your-app.com/webhooks/parser-complete
806
- command: scrape_listings
807
- metadata:
808
- request_id: req_12345
809
- user_id: user_67890
810
- parameters:
811
- location: Seoul
812
- make: Toyota
813
- max_results: 50
814
- model: Camry
815
- year_from: 2020
816
- year_to: 2024
817
- priority: normal
818
- timeout: 300
819
- properties:
820
- callback_url:
821
- anyOf:
822
- - type: string
823
- - type: null
824
- description: URL to receive command completion notification
825
- title: Callback Url
826
- command:
827
- description: Command to execute
828
- examples:
829
- - scrape_listings
830
- - get_car_details
831
- - search_by_criteria
832
- minLength: 1
833
- title: Command
834
- type: string
835
- metadata:
836
- anyOf:
837
- - additionalProperties: true
838
- type: object
839
- - type: null
840
- description: Additional metadata for the command
841
- title: Metadata
842
- parameters:
843
- additionalProperties: true
844
- description: Command parameters
845
- title: Parameters
846
- type: object
847
- priority:
848
- default: normal
849
- description: Command priority
850
- examples:
851
- - low
852
- - normal
853
- - high
854
- - urgent
855
- title: Priority
856
- type: string
857
- timeout:
858
- default: 300
859
- description: Command timeout in seconds
860
- maximum: 3600.0
861
- minimum: 1.0
862
- title: Timeout
863
- type: integer
864
- required:
865
- - command
866
- title: ParserCommandRequest
867
- type: object
868
- ParserMessageResponse:
869
- description: Response model for parser message operations.
870
- example:
871
- event: command
872
- message_sent: true
873
- parser_id: automotive_parser_001
874
- success: true
875
- properties:
876
- event:
877
- description: Event type
878
- title: Event
879
- type: string
880
- message_sent:
881
- description: Whether message was sent
882
- title: Message Sent
883
- type: boolean
884
- parser_id:
885
- description: Target parser ID
886
- title: Parser Id
887
- type: string
888
- success:
889
- description: Whether message was sent
890
- title: Success
891
- type: boolean
892
- required:
893
- - success
894
- - parser_id
895
- - event
896
- - message_sent
897
- title: ParserMessageResponse
898
- type: object
899
- ParserRegistrationRequest:
900
- description: Request DTO for parser registration.
901
- properties:
902
- api_key:
903
- description: Developer API key for authentication
904
- minLength: 20
905
- title: Api Key
906
- type: string
907
- metadata:
908
- additionalProperties: true
909
- description: Additional parser metadata
910
- title: Metadata
911
- type: object
912
- parser_id:
913
- description: Unique parser identifier
914
- maxLength: 100
915
- minLength: 3
916
- title: Parser Id
917
- type: string
918
- parser_name:
919
- description: Human-readable parser name
920
- maxLength: 200
921
- minLength: 1
922
- title: Parser Name
923
- type: string
924
- parser_type:
925
- $ref: '#/components/schemas/ParserType'
926
- description: Type of parser (encar, etc.)
927
- services:
928
- description: List of services to register
929
- items:
930
- $ref: '#/components/schemas/ServiceRegistrationDto'
931
- title: Services
932
- type: array
933
- required:
934
- - parser_id
935
- - parser_name
936
- - parser_type
937
- - api_key
938
- title: ParserRegistrationRequest
939
- type: object
940
- ParserRegistrationResponse:
941
- description: Response DTO for parser registration.
942
- properties:
943
- developer_id:
944
- anyOf:
945
- - type: string
946
- - type: null
947
- description: Developer ID who registered the parser
948
- title: Developer Id
949
- error:
950
- anyOf:
951
- - type: string
952
- - type: null
953
- description: Error message if registration failed
954
- title: Error
955
- message:
956
- default: ''
957
- description: Success or informational message
958
- title: Message
959
- type: string
960
- parser_id:
961
- anyOf:
962
- - type: string
963
- - type: null
964
- description: Parser ID if registration successful
965
- title: Parser Id
966
- registered_services:
967
- description: List of successfully registered service IDs
968
- items:
969
- type: string
970
- title: Registered Services
971
- type: array
972
- success:
973
- description: Whether the registration was successful
974
- title: Success
975
- type: boolean
976
- required:
977
- - success
978
- title: ParserRegistrationResponse
979
- type: object
980
- ParserType:
981
- description: Types of parsers supported.
982
- enum:
983
- - encar
984
- - mobile
985
- - realestate
986
- - custom
987
- - general
988
- title: ParserType
989
- type: string
990
- ProxyBlockRequest:
991
- description: Request to report blocked proxy.
992
- properties:
993
- parser_id:
994
- description: Parser reporting the block
995
- title: Parser Id
996
- type: string
997
- proxy_id:
998
- description: Blocked proxy identifier
999
- title: Proxy Id
1000
- type: string
1001
- reason:
1002
- anyOf:
1003
- - type: string
1004
- - type: null
1005
- description: Reason for blocking
1006
- title: Reason
1007
- required:
1008
- - parser_id
1009
- - proxy_id
1010
- title: ProxyBlockRequest
1011
- type: object
1012
- ProxyEndpointResponse:
1013
- properties:
1014
- connection_string:
1015
- anyOf:
1016
- - type: string
1017
- - type: null
1018
- title: Connection String
1019
- host:
1020
- title: Host
1021
- type: string
1022
- port:
1023
- title: Port
1024
- type: integer
1025
- protocol:
1026
- title: Protocol
1027
- type: string
1028
- required:
1029
- - host
1030
- - port
1031
- - protocol
1032
- title: ProxyEndpointResponse
1033
- type: object
1034
- ProxyListResponse:
1035
- description: Response model for proxy list endpoint.
1036
- properties:
1037
- items:
1038
- description: List of proxy objects
1039
- items:
1040
- $ref: '#/components/schemas/ProxyResponse'
1041
- title: Items
1042
- type: array
1043
- total:
1044
- description: Total number of proxies
1045
- minimum: 0.0
1046
- title: Total
1047
- type: integer
1048
- required:
1049
- - items
1050
- - total
1051
- title: ProxyListResponse
1052
- type: object
1053
- ProxyProvider:
1054
- description: Supported proxy providers.
1055
- enum:
1056
- - proxy6
1057
- - proxy_cheap
1058
- - proxy_seller
1059
- - oxylabs
1060
- - bright_data
1061
- title: ProxyProvider
1062
- type: string
1063
- ProxyPurchaseRequest:
1064
- description: Request to purchase proxies.
1065
- properties:
1066
- count:
1067
- description: Number of proxies to purchase
1068
- maximum: 1000.0
1069
- minimum: 1.0
1070
- title: Count
1071
- type: integer
1072
- country:
1073
- description: Target country code
1074
- maxLength: 3
1075
- minLength: 2
1076
- title: Country
1077
- type: string
1078
- description:
1079
- anyOf:
1080
- - type: string
1081
- - type: null
1082
- description: Purchase description
1083
- title: Description
1084
- duration_days:
1085
- description: Proxy duration in days
1086
- maximum: 365.0
1087
- minimum: 1.0
1088
- title: Duration Days
1089
- type: integer
1090
- provider:
1091
- description: Proxy provider
1092
- title: Provider
1093
- type: string
1094
- shared:
1095
- default: false
1096
- description: Whether to purchase shared proxies
1097
- title: Shared
1098
- type: boolean
1099
- required:
1100
- - provider
1101
- - count
1102
- - duration_days
1103
- - country
1104
- title: ProxyPurchaseRequest
1105
- type: object
1106
- ProxyResponse:
1107
- properties:
1108
- city:
1109
- anyOf:
1110
- - type: string
1111
- - type: null
1112
- title: City
1113
- country:
1114
- anyOf:
1115
- - type: string
1116
- - type: null
1117
- title: Country
1118
- created_at:
1119
- format: date-time
1120
- title: Created At
1121
- type: string
1122
- display_name:
1123
- anyOf:
1124
- - type: string
1125
- - type: null
1126
- title: Display Name
1127
- endpoint:
1128
- $ref: '#/components/schemas/ProxyEndpointResponse'
1129
- expires_at:
1130
- anyOf:
1131
- - format: date-time
1132
- type: string
1133
- - type: null
1134
- title: Expires At
1135
- is_expired:
1136
- anyOf:
1137
- - type: boolean
1138
- - type: null
1139
- title: Is Expired
1140
- is_healthy:
1141
- anyOf:
1142
- - type: boolean
1143
- - type: null
1144
- title: Is Healthy
1145
- metadata:
1146
- additionalProperties: true
1147
- default: {}
1148
- title: Metadata
1149
- type: object
1150
- provider:
1151
- title: Provider
1152
- type: string
1153
- provider_proxy_id:
1154
- anyOf:
1155
- - type: string
1156
- - type: null
1157
- title: Provider Proxy Id
1158
- proxy_id:
1159
- title: Proxy Id
1160
- type: string
1161
- region:
1162
- anyOf:
1163
- - type: string
1164
- - type: null
1165
- title: Region
1166
- status:
1167
- title: Status
1168
- type: string
1169
- tags:
1170
- default: []
1171
- items:
1172
- type: string
1173
- title: Tags
1174
- type: array
1175
- usage_stats:
1176
- $ref: '#/components/schemas/ProxyUsageStatsResponse'
1177
- required:
1178
- - proxy_id
1179
- - provider
1180
- - endpoint
1181
- - status
1182
- - usage_stats
1183
- - created_at
1184
- title: ProxyResponse
1185
- type: object
1186
- ProxyRotationRequest:
1187
- description: Request for proxy rotation via API.
1188
- properties:
1189
- country:
1190
- anyOf:
1191
- - type: string
1192
- - type: null
1193
- description: Preferred country code
1194
- title: Country
1195
- exclude_proxy_ids:
1196
- description: Proxy IDs to exclude
1197
- items:
1198
- type: string
1199
- title: Exclude Proxy Ids
1200
- type: array
1201
- force_rotation:
1202
- default: false
1203
- description: Force new proxy selection
1204
- title: Force Rotation
1205
- type: boolean
1206
- parser_id:
1207
- description: Parser requesting the proxy
1208
- title: Parser Id
1209
- type: string
1210
- strategy:
1211
- default: success_rate
1212
- description: Rotation strategy
1213
- title: Strategy
1214
- type: string
1215
- required:
1216
- - parser_id
1217
- title: ProxyRotationRequest
1218
- type: object
1219
- ProxyStatus:
1220
- description: Proxy status enumeration.
1221
- enum:
1222
- - active
1223
- - inactive
1224
- - expired
1225
- - blocked
1226
- - error
1227
- title: ProxyStatus
1228
- type: string
1229
- ProxyUsageRequest:
1230
- description: Request to record proxy usage.
1231
- properties:
1232
- error_reason:
1233
- anyOf:
1234
- - type: string
1235
- - type: null
1236
- description: Reason for failure if not successful
1237
- title: Error Reason
1238
- response_time_ms:
1239
- anyOf:
1240
- - type: number
1241
- - type: null
1242
- description: Response time in milliseconds
1243
- title: Response Time Ms
1244
- success:
1245
- description: Whether the request was successful
1246
- title: Success
1247
- type: boolean
1248
- required:
1249
- - success
1250
- title: ProxyUsageRequest
1251
- type: object
1252
- ProxyUsageStatsResponse:
1253
- properties:
1254
- avg_response_time_ms:
1255
- anyOf:
1256
- - minimum: 0.0
1257
- type: number
1258
- - type: null
1259
- title: Avg Response Time Ms
1260
- consecutive_failures:
1261
- minimum: 0.0
1262
- title: Consecutive Failures
1263
- type: integer
1264
- failed_requests:
1265
- minimum: 0.0
1266
- title: Failed Requests
1267
- type: integer
1268
- last_used_at:
1269
- anyOf:
1270
- - format: date-time
1271
- type: string
1272
- - type: null
1273
- title: Last Used At
1274
- success_rate:
1275
- maximum: 100.0
1276
- minimum: 0.0
1277
- title: Success Rate
1278
- type: number
1279
- successful_requests:
1280
- minimum: 0.0
1281
- title: Successful Requests
1282
- type: integer
1283
- total_requests:
1284
- minimum: 0.0
1285
- title: Total Requests
1286
- type: integer
1287
- required:
1288
- - success_rate
1289
- - total_requests
1290
- - successful_requests
1291
- - failed_requests
1292
- - consecutive_failures
1293
- title: ProxyUsageStatsResponse
1294
- type: object
1295
- ServiceRegistrationDto:
1296
- description: DTO for service registration.
1297
- properties:
1298
- capabilities:
1299
- additionalProperties: true
1300
- description: Service capabilities configuration
1301
- title: Capabilities
1302
- type: object
1303
- config:
1304
- additionalProperties: true
1305
- description: Service configuration parameters
1306
- title: Config
1307
- type: object
1308
- service_id:
1309
- description: Unique service identifier
1310
- minLength: 1
1311
- title: Service Id
1312
- type: string
1313
- service_name:
1314
- description: Human-readable service name
1315
- minLength: 1
1316
- title: Service Name
1317
- type: string
1318
- service_type:
1319
- description: Type of service (scraper, processor, etc.)
1320
- minLength: 1
1321
- title: Service Type
1322
- type: string
1323
- required:
1324
- - service_id
1325
- - service_name
1326
- - service_type
1327
- title: ServiceRegistrationDto
1328
- type: object
1329
- ServiceStatsResponse:
1330
- description: Base model for service statistics responses.
1331
- properties:
1332
- additional_metrics:
1333
- additionalProperties: true
1334
- description: Additional service-specific metrics
1335
- title: Additional Metrics
1336
- type: object
1337
- error_rate:
1338
- default: 0.0
1339
- description: Error rate percentage
1340
- title: Error Rate
1341
- type: number
1342
- errors_encountered:
1343
- default: 0
1344
- description: Total errors encountered
1345
- title: Errors Encountered
1346
- type: integer
1347
- initialized:
1348
- description: Whether service is initialized
1349
- title: Initialized
1350
- type: boolean
1351
- last_operation:
1352
- anyOf:
1353
- - format: date-time
1354
- type: string
1355
- - type: null
1356
- description: Timestamp of last operation
1357
- title: Last Operation
1358
- operations_performed:
1359
- default: 0
1360
- description: Total operations performed
1361
- title: Operations Performed
1362
- type: integer
1363
- service_name:
1364
- description: Name of the service
1365
- title: Service Name
1366
- type: string
1367
- status:
1368
- default: healthy
1369
- description: Service status
1370
- title: Status
1371
- type: string
1372
- uptime_seconds:
1373
- anyOf:
1374
- - type: number
1375
- - type: null
1376
- description: Service uptime in seconds
1377
- title: Uptime Seconds
1378
- required:
1379
- - service_name
1380
- - initialized
1381
- title: ServiceStatsResponse
1382
- type: object
1383
- SessionStartRequest:
1384
- description: Request to start a new logging session.
1385
- properties:
1386
- auto_expire:
1387
- default: true
1388
- description: Auto-expire session
1389
- title: Auto Expire
1390
- type: boolean
1391
- max_entries:
1392
- default: 1000
1393
- description: Maximum log entries
1394
- maximum: 10000.0
1395
- minimum: 1.0
1396
- title: Max Entries
1397
- type: integer
1398
- metadata:
1399
- additionalProperties: true
1400
- description: Session metadata
1401
- title: Metadata
1402
- type: object
1403
- retention_hours:
1404
- default: 24
1405
- description: Log retention hours
1406
- maximum: 168.0
1407
- minimum: 1.0
1408
- title: Retention Hours
1409
- type: integer
1410
- tags:
1411
- description: Session tags
1412
- items:
1413
- type: string
1414
- title: Tags
1415
- type: array
1416
- title: SessionStartRequest
1417
- type: object
1418
- SuccessResponse:
1419
- description: Standard success response model with automatic Pydantic object
1420
- serialization.
1421
- example:
1422
- data:
1423
- id: resource_123
1424
- status: active
1425
- message: Operation completed successfully
1426
- success: true
1427
- timestamp: '2024-01-01T12:00:00Z'
1428
- properties:
1429
- data:
1430
- anyOf:
1431
- - additionalProperties: true
1432
- type: object
1433
- - $ref: '#/components/schemas/BaseModel'
1434
- - items:
1435
- $ref: '#/components/schemas/BaseModel'
1436
- type: array
1437
- - items:
1438
- additionalProperties: true
1439
- type: object
1440
- type: array
1441
- - type: null
1442
- description: Response data payload (auto-serializes Pydantic objects)
1443
- title: Data
1444
- message:
1445
- anyOf:
1446
- - type: string
1447
- - type: null
1448
- description: Human-readable message about the operation
1449
- title: Message
1450
- success:
1451
- default: true
1452
- description: Always true for success responses
1453
- title: Success
1454
- type: boolean
1455
- timestamp:
1456
- anyOf:
1457
- - type: string
1458
- - type: null
1459
- description: ISO timestamp when response was generated
1460
- title: Timestamp
1461
- title: SuccessResponse
1462
- type: object
1463
- SystemNotificationResponse:
1464
- description: Response model for system notification broadcast.
1465
- example:
1466
- broadcasted: true
1467
- content: Scheduled maintenance will begin in 30 minutes
1468
- priority: high
1469
- success: true
1470
- title: System Maintenance
1471
- properties:
1472
- broadcasted:
1473
- description: Whether notification was broadcasted
1474
- title: Broadcasted
1475
- type: boolean
1476
- content:
1477
- description: Notification content
1478
- title: Content
1479
- type: string
1480
- priority:
1481
- description: Notification priority
1482
- title: Priority
1483
- type: string
1484
- success:
1485
- description: Whether notification was sent
1486
- title: Success
1487
- type: boolean
1488
- title:
1489
- description: Notification title
1490
- title: Title
1491
- type: string
1492
- required:
1493
- - success
1494
- - title
1495
- - content
1496
- - priority
1497
- - broadcasted
1498
- title: SystemNotificationResponse
1499
- type: object
1500
- ValidationError:
1501
- properties:
1502
- loc:
1503
- items:
1504
- anyOf:
1505
- - type: string
1506
- - type: integer
1507
- title: Location
1508
- type: array
1509
- msg:
1510
- title: Message
1511
- type: string
1512
- type:
1513
- title: Error Type
1514
- type: string
1515
- required:
1516
- - loc
1517
- - msg
1518
- - type
1519
- title: ValidationError
1520
- type: object
1521
- ValidationErrorResponse:
1522
- description: Validation error response for request validation failures.
1523
- example:
1524
- error: Validation failed
1525
- error_code: VALIDATION_ERROR
1526
- success: false
1527
- validation_errors:
1528
- - constraint: min_length=1
1529
- field: parser_name
1530
- input: ''
1531
- message: String too short
1532
- - constraint: pattern=^up_
1533
- field: api_key
1534
- input: invalid_key
1535
- message: API key must start with 'up_'
1536
- properties:
1537
- error:
1538
- default: Validation failed
1539
- description: Error message
1540
- title: Error
1541
- type: string
1542
- error_code:
1543
- default: VALIDATION_ERROR
1544
- description: Error code
1545
- title: Error Code
1546
- type: string
1547
- success:
1548
- default: false
1549
- description: Always false for validation errors
1550
- title: Success
1551
- type: boolean
1552
- validation_errors:
1553
- description: List of specific validation errors
1554
- items:
1555
- additionalProperties: true
1556
- type: object
1557
- title: Validation Errors
1558
- type: array
1559
- required:
1560
- - validation_errors
1561
- title: ValidationErrorResponse
1562
- type: object
1563
- WebSocketMetrics:
1564
- description: Pydantic model for WebSocket performance metrics.
1565
- example:
1566
- connections_closed: 1100
1567
- connections_opened: 1250
1568
- messages_received: 12300
1569
- messages_sent: 15450
1570
- properties:
1571
- connections_closed:
1572
- default: 0
1573
- description: Total connections closed
1574
- title: Connections Closed
1575
- type: integer
1576
- connections_opened:
1577
- default: 0
1578
- description: Total connections opened
1579
- title: Connections Opened
1580
- type: integer
1581
- messages_received:
1582
- default: 0
1583
- description: Total messages received
1584
- title: Messages Received
1585
- type: integer
1586
- messages_sent:
1587
- default: 0
1588
- description: Total messages sent
1589
- title: Messages Sent
1590
- type: integer
1591
- title: WebSocketMetrics
1592
- type: object
1593
- info:
1594
- contact:
1595
- email: support@unrealon.com
1596
- name: UnrealOn Server Team
1597
- url: https://unrealon.com/contact
1598
- description: "\n # \U0001F680 UnrealOn Server v3.0 - Enterprise Parser Orchestration\
1599
- \ Platform\n\n **The most advanced real-time parsing orchestration platform\
1600
- \ built with Clean Architecture.**\n\n ## \U0001F3AF Overview\n\n \
1601
- \ UnrealOn Server provides a comprehensive platform for managing and orchestrating\
1602
- \ parsing services\n across multiple data sources with real-time WebSocket\
1603
- \ communication, enterprise-grade security,\n and horizontal scalability.\n\
1604
- \n ## \u2728 Key Features\n\n ### \U0001F504 Real-time Communication\n\
1605
- \ - **WebSocket Integration**: Bi-directional real-time communication\n\
1606
- \ - **Command Routing**: Intelligent command distribution to parsers\n\
1607
- \ - **Live Status Updates**: Real-time parser and command status\n \
1608
- \ - **Event Broadcasting**: Multi-room notification system\n\n ### \U0001F6E1\
1609
- \uFE0F Enterprise Security\n - **API Key Authentication**: Secure access\
1610
- \ control with developer permissions\n - **Rate Limiting**: Configurable\
1611
- \ request throttling\n - **Input Validation**: Comprehensive request validation\
1612
- \ with Pydantic v2\n - **Error Handling**: Detailed error responses with\
1613
- \ troubleshooting info\n\n ### \U0001F4CA Parser Management\n -\
1614
- \ **Dynamic Registration**: Self-service parser registration workflow\n \
1615
- \ - **Health Monitoring**: Continuous parser health and performance tracking\n\
1616
- \ - **Load Balancing**: Intelligent command distribution across parser\
1617
- \ instances\n - **Auto-scaling**: Dynamic parser scaling based on workload\n\
1618
- \n ### \U0001F527 Developer Experience\n - **OpenAPI Documentation**:\
1619
- \ Complete API documentation with examples\n - **SDK Generation**: Auto-generated\
1620
- \ client SDKs for multiple languages\n - **Testing Tools**: Built-in testing\
1621
- \ and debugging capabilities\n - **Webhook Support**: Callback notifications\
1622
- \ for asynchronous operations\n\n ## \U0001F3D7\uFE0F Architecture\n\n\
1623
- \ Built following **Clean Architecture** principles with:\n - **Domain-Driven\
1624
- \ Design**: Pure business logic in domain layer\n - **Dependency Injection**:\
1625
- \ Centralized composition root with type safety\n - **CQRS Pattern**: Separate\
1626
- \ read/write operations for optimal performance\n - **Event Sourcing**:\
1627
- \ Complete audit trail of all operations\n\n ## \U0001F680 Getting Started\n\
1628
- \n 1. **Get API Key**: Register as developer to receive API key\n \
1629
- \ 2. **Register Parser**: Use `/api/v1/parsers/register` to register your parser\n\
1630
- \ 3. **Connect WebSocket**: Establish WebSocket connection for real-time\
1631
- \ communication\n 4. **Execute Commands**: Send commands via HTTP or WebSocket\n\
1632
- \ 5. **Monitor Status**: Track parser health and command execution\n\n\
1633
- \ ## \U0001F4DA API Endpoints\n\n ### Parser Management\n \
1634
- \ - `POST /api/v1/parsers/register` - Register new parser\n - `GET /api/v1/parsers/`\
1635
- \ - List registered parsers\n - `GET /api/v1/parsers/{id}` - Get parser\
1636
- \ details\n - `POST /api/v1/parsers/{id}/commands` - Execute commands\n\
1637
- \ - `GET /api/v1/parsers/{id}/status` - Get parser status\n\n ###\
1638
- \ WebSocket Communication (Socket.IO)\n - **Socket.IO Connection**: `ws://localhost:8000/socket.io/`\
1639
- \ \n - `GET /api/v1/ws/health` - WebSocket health check\n - `GET\
1640
- \ /api/v1/ws/stats` - Connection statistics\n - `POST /api/v1/ws/broadcast/{room}`\
1641
- \ - Broadcast to room\n - `POST /api/v1/ws/send/parser/{parser_id}` - Send\
1642
- \ to parser\n - `POST /api/v1/ws/send/developer/{developer_id}` - Send\
1643
- \ to developer\n - `GET /api/v1/ws/connections` - Active connections\n\
1644
- \ - `POST /api/v1/ws/notification/system` - System notifications\n\n \
1645
- \ ## \U0001F517 Resources\n\n - **GitHub**: [UnrealOn Server Repository](https://github.com/unrealserver/unrealserver)\n\
1646
- \ - **Documentation**: [Complete Developer Guide](https://docs.unrealon.com)\n\
1647
- \ - **Support**: [Community Forum](https://community.unrealon.com)\n \
1648
- \ - **Status**: [Service Status Page](https://status.unrealon.com)\n\n \
1649
- \ ---\n **\U0001F4B0 Built for Enterprise Performance - Quality Code\
1650
- \ that Scales! \U0001F4B0**\n "
1651
- license:
1652
- name: MIT License
1653
- url: https://opensource.org/licenses/MIT
1654
- title: UnrealOn Server API
1655
- version: 3.0.0
1656
- openapi: 3.0.3
1657
- paths:
1658
- /:
1659
- get:
1660
- description: Root endpoint.
1661
- operationId: root__get
1662
- responses:
1663
- '200':
1664
- content:
1665
- application/json:
1666
- schema: {}
1667
- description: Successful Response
1668
- summary: Root
1669
- /api/v1/admin/broadcast:
1670
- post:
1671
- description: "Broadcast administrative message to connected clients using AdminService\
1672
- \ v2.0.\n \n **Admin v2.0 Features:**\n - Service-level events with\
1673
- \ AdminEventMiddleware\n - Advanced targeting (all_users, admins_only,\
1674
- \ specific_room, etc.)\n - Priority levels with intelligent delivery\n\
1675
- \ - Real-time delivery statistics\n - Audit trail with proper event\
1676
- \ logging\n \n **New in v2.0:**\n - Event-driven architecture (not\
1677
- \ database triggers)\n - WebSocket room-based targeting \n - Comprehensive\
1678
- \ delivery tracking\n - Admin event emission for monitoring"
1679
- operationId: broadcast_message_api_v1_admin_broadcast_post
1680
- parameters:
1681
- - in: header
1682
- name: authorization
1683
- required: false
1684
- schema:
1685
- anyOf:
1686
- - type: string
1687
- - type: null
1688
- title: Authorization
1689
- requestBody:
1690
- content:
1691
- application/json:
1692
- schema:
1693
- $ref: '#/components/schemas/BroadcastMessageRequest'
1694
- required: true
1695
- responses:
1696
- '200':
1697
- content:
1698
- application/json:
1699
- schema:
1700
- $ref: '#/components/schemas/BroadcastResultResponse'
1701
- description: Successful Response
1702
- '422':
1703
- content:
1704
- application/json:
1705
- schema:
1706
- $ref: '#/components/schemas/HTTPValidationError'
1707
- description: Validation Error
1708
- summary: Broadcast Admin Message v2.0
1709
- tags:
1710
- - admin
1711
- /api/v1/admin/maintenance:
1712
- post:
1713
- description: "Enable or disable system maintenance mode using AdminService v2.0.\n\
1714
- \ \n **Admin v2.0 Features:**\n - Service-level event emission for\
1715
- \ maintenance state changes\n - Advanced maintenance modes (full_system,\
1716
- \ read_only, partial_service)\n - Grace period management with countdown\
1717
- \ notifications\n - Affected services specification for partial maintenance\n\
1718
- \ - Automatic user broadcast notifications via AdminEventMiddleware\n \
1719
- \ \n **New in v2.0:**\n - Event-driven maintenance notifications\n\
1720
- \ - Comprehensive audit trail\n - Real-time status tracking\n - Clean\
1721
- \ Architecture compliance"
1722
- operationId: manage_maintenance_mode_api_v1_admin_maintenance_post
1723
- parameters:
1724
- - in: header
1725
- name: authorization
1726
- required: false
1727
- schema:
1728
- anyOf:
1729
- - type: string
1730
- - type: null
1731
- title: Authorization
1732
- requestBody:
1733
- content:
1734
- application/json:
1735
- schema:
1736
- $ref: '#/components/schemas/MaintenanceModeRequest'
1737
- required: true
1738
- responses:
1739
- '200':
1740
- content:
1741
- application/json:
1742
- schema:
1743
- $ref: '#/components/schemas/MaintenanceStatusResponse'
1744
- description: Successful Response
1745
- '422':
1746
- content:
1747
- application/json:
1748
- schema:
1749
- $ref: '#/components/schemas/HTTPValidationError'
1750
- description: Validation Error
1751
- summary: Manage Maintenance Mode v2.0
1752
- tags:
1753
- - admin
1754
- /api/v1/admin/maintenance/status:
1755
- get:
1756
- description: "Get current maintenance mode status using AdminService v2.0.\n\
1757
- \ \n **Admin v2.0 Features:**\n - Comprehensive maintenance state\
1758
- \ information\n - Grace period countdown tracking\n - Affected services\
1759
- \ enumeration\n - Real-time status updates\n - Event-driven status changes\n\
1760
- \ \n **Returns:**\n - Current maintenance mode status\n - Maintenance\
1761
- \ timing and schedule\n - Affected services and configurations\n - Grace\
1762
- \ period remaining (if applicable)"
1763
- operationId: get_maintenance_status_api_v1_admin_maintenance_status_get
1764
- parameters:
1765
- - in: header
1766
- name: authorization
1767
- required: false
1768
- schema:
1769
- anyOf:
1770
- - type: string
1771
- - type: null
1772
- title: Authorization
1773
- responses:
1774
- '200':
1775
- content:
1776
- application/json:
1777
- schema:
1778
- $ref: '#/components/schemas/MaintenanceStatusResponse'
1779
- description: Successful Response
1780
- '422':
1781
- content:
1782
- application/json:
1783
- schema:
1784
- $ref: '#/components/schemas/HTTPValidationError'
1785
- description: Validation Error
1786
- summary: Get Maintenance Status v2.0
1787
- tags:
1788
- - admin
1789
- /api/v1/admin/stats:
1790
- get:
1791
- description: "Get AdminService v2.0 statistics and operational metrics.\n \
1792
- \ \n **AdminService v2.0 Metrics:**\n - Service uptime and initialization\
1793
- \ status\n - Operations performed (broadcasts, maintenance, etc.)\n \
1794
- \ - Event processing statistics\n - Error rates and service health\n \
1795
- \ - Admin-specific operational metrics\n \n **New in v2.0:**\n -\
1796
- \ AdminEventMiddleware statistics\n - WebSocket room management metrics\n\
1797
- \ - Service-level event processing stats\n - Clean Architecture compliance\
1798
- \ metrics\n \n **Note:** For system-wide analytics, use specialized\
1799
- \ endpoints:\n - `/api/v1/health/` - System health and metrics\n - `/api/v1/logging/stats`\
1800
- \ - Logging service metrics"
1801
- operationId: get_admin_service_stats_api_v1_admin_stats_get
1802
- parameters:
1803
- - in: header
1804
- name: authorization
1805
- required: false
1806
- schema:
1807
- anyOf:
1808
- - type: string
1809
- - type: null
1810
- title: Authorization
1811
- responses:
1812
- '200':
1813
- content:
1814
- application/json:
1815
- schema:
1816
- $ref: '#/components/schemas/ServiceStatsResponse'
1817
- description: Successful Response
1818
- '422':
1819
- content:
1820
- application/json:
1821
- schema:
1822
- $ref: '#/components/schemas/HTTPValidationError'
1823
- description: Validation Error
1824
- summary: Get AdminService v2.0 Statistics
1825
- tags:
1826
- - admin
1827
- /api/v1/health/:
1828
- get:
1829
- description: "Comprehensive system health check with component status.\n \
1830
- \ \n Returns detailed health information for all system components including:\n\
1831
- \ \n **Component Health:**\n - Database connectivity and performance\n\
1832
- \ - Redis cache status and response times \n - WebSocket server status\
1833
- \ and connections\n - Response times for all components\n \n **System\
1834
- \ Metrics:**\n - CPU usage percentage\n - Memory usage and availability\n\
1835
- \ - Disk usage statistics\n - System load average\n \n **Service\
1836
- \ Information:**\n - Service uptime since last restart\n - Version information\n\
1837
- \ - Overall system status\n \n **Status Levels:**\n - `healthy`:\
1838
- \ All components operational\n - `degraded`: Some components have issues\
1839
- \ but system is functional\n - `unhealthy`: Critical components are down\n\
1840
- \ - `timeout`: Health check took too long to complete\n \n **Response\
1841
- \ Codes:**\n - 200: System is healthy or degraded but functional\n -\
1842
- \ 503: System is unhealthy or timed out\n \n This endpoint is designed\
1843
- \ for:\n - Load balancer health checks\n - Monitoring system integration\n\
1844
- \ - Operational status verification\n - Debugging system issues"
1845
- operationId: system_health_check_api_v1_health__get
1846
- responses:
1847
- '200':
1848
- content:
1849
- application/json:
1850
- example:
1851
- components:
1852
- cache:
1853
- details:
1854
- check_type: full_health_check
1855
- hit_rate: 94.5
1856
- memory_usage: 45.2MB
1857
- response_time_ms: 2.1
1858
- status: healthy
1859
- database:
1860
- details:
1861
- check_type: full_health_check
1862
- pool_active: 8
1863
- pool_max: 10
1864
- response_time_ms: 5.2
1865
- status: healthy
1866
- websocket:
1867
- details:
1868
- active_connections: 42
1869
- max_connections: 1000
1870
- messages_per_sec: 125.6
1871
- response_time_ms: 1.8
1872
- status: healthy
1873
- message: All systems operational
1874
- service: unrealon-server
1875
- status: healthy
1876
- system:
1877
- cpu_usage: 23.5
1878
- disk_usage: 67.2
1879
- load_average: 0.8
1880
- memory_usage: 512.8
1881
- timestamp: '2024-01-01T12:00:00Z'
1882
- uptime: 72h 35m 12s
1883
- version: 3.0.0
1884
- schema:
1885
- $ref: '#/components/schemas/HealthResponse'
1886
- description: System health check completed successfully
1887
- '503':
1888
- content:
1889
- application/json:
1890
- example:
1891
- components:
1892
- cache:
1893
- response_time_ms: 2.3
1894
- status: healthy
1895
- database:
1896
- error: Connection timeout after 5 seconds
1897
- status: unhealthy
1898
- error: Database connection failed
1899
- message: System experiencing critical issues
1900
- service: unrealon-server
1901
- status: unhealthy
1902
- timestamp: '2024-01-01T12:00:00Z'
1903
- version: 3.0.0
1904
- description: System is unhealthy or timed out
1905
- summary: System Health Check
1906
- tags:
1907
- - System Health
1908
- /api/v1/health/statistics:
1909
- get:
1910
- description: "Get health monitoring service statistics and metrics.\n \n\
1911
- \ Returns information about the health monitoring system itself:\n -\
1912
- \ Health check frequency and counts\n - Service uptime and start time\n\
1913
- \ - Health check timeouts and configuration\n - Performance metrics"
1914
- operationId: health_statistics_api_v1_health_statistics_get
1915
- responses:
1916
- '200':
1917
- content:
1918
- application/json:
1919
- schema:
1920
- $ref: '#/components/schemas/SuccessResponse'
1921
- description: Health statistics retrieved successfully
1922
- '500':
1923
- content:
1924
- application/json:
1925
- schema:
1926
- $ref: '#/components/schemas/ErrorResponse'
1927
- description: Failed to get health statistics
1928
- summary: Health Service Statistics
1929
- tags:
1930
- - System Health
1931
- /api/v1/health/status:
1932
- get:
1933
- description: "Quick health status check for basic monitoring.\n \n Returns\
1934
- \ a simplified health status without detailed component checks.\n This\
1935
- \ endpoint is optimized for:\n - High-frequency health checks\n - Load\
1936
- \ balancer health probes\n - Simple monitoring systems\n \n **Response\
1937
- \ Format:**\n - `status`: Overall system status (healthy/degraded/unhealthy)\n\
1938
- \ - `service`: Service name\n - `timestamp`: Current timestamp\n \
1939
- \ - `uptime`: Service uptime"
1940
- operationId: quick_health_status_api_v1_health_status_get
1941
- responses:
1942
- '200':
1943
- content:
1944
- application/json:
1945
- example:
1946
- service: unrealon-server
1947
- status: healthy
1948
- timestamp: '2024-01-01T12:00:00Z'
1949
- uptime: 72h 35m 12s
1950
- schema:
1951
- $ref: '#/components/schemas/SuccessResponse'
1952
- description: Quick status retrieved successfully
1953
- summary: Quick Health Status
1954
- tags:
1955
- - System Health
1956
- /api/v1/logging/log:
1957
- post:
1958
- description: "Add a log entry to an active logging session.\n \n **Log\
1959
- \ Levels:**\n - `DEBUG`: Detailed debugging information\n - `INFO`:\
1960
- \ General information messages\n - `WARNING`: Warning messages for potential\
1961
- \ issues\n - `ERROR`: Error messages for failures\n - `CRITICAL`: Critical\
1962
- \ system failures\n \n **Log Fields:**\n - `session_id`: Target session\
1963
- \ (auto-created if not provided)\n - `level`: Log severity level\n -\
1964
- \ `message`: Log message content (1-10,000 chars)\n - `source`: Source\
1965
- \ code location or identifier\n - `context`: Additional context data (JSON)\n\
1966
- \ - `tags`: Custom tags for filtering\n \n **Real-time Delivery:**\n\
1967
- \ - Logs are immediately sent to connected WebSocket clients\n - Perfect\
1968
- \ for real-time debugging and monitoring"
1969
- operationId: add_log_entry_api_v1_logging_log_post
1970
- parameters:
1971
- - in: header
1972
- name: authorization
1973
- required: false
1974
- schema:
1975
- anyOf:
1976
- - type: string
1977
- - type: null
1978
- title: Authorization
1979
- requestBody:
1980
- content:
1981
- application/json:
1982
- schema:
1983
- $ref: '#/components/schemas/LoggingRequest'
1984
- required: true
1985
- responses:
1986
- '200':
1987
- content:
1988
- application/json:
1989
- schema:
1990
- $ref: '#/components/schemas/LoggingResponse'
1991
- description: Log entry added successfully
1992
- '400':
1993
- description: Invalid log request
1994
- '401':
1995
- description: Authentication required
1996
- '404':
1997
- description: Session not found
1998
- '422':
1999
- content:
2000
- application/json:
2001
- schema:
2002
- $ref: '#/components/schemas/HTTPValidationError'
2003
- description: Validation Error
2004
- summary: Add Log Entry
2005
- tags:
2006
- - Socket Logging
2007
- /api/v1/logging/sessions:
2008
- get:
2009
- description: "Get all logging sessions for the authenticated developer.\n \
2010
- \ \n **Returns:**\n - List of all sessions (active, paused, terminated,\
2011
- \ expired)\n - Session statistics and metadata\n - Current status and\
2012
- \ configuration\n - Creation and activity timestamps\n \n **Session\
2013
- \ Status Types:**\n - `ACTIVE`: Currently accepting log entries\n -\
2014
- \ `PAUSED`: Temporarily paused\n - `TERMINATED`: Manually terminated\n\
2015
- \ - `EXPIRED`: Automatically expired\n \n **Use Cases:**\n - Session\
2016
- \ management dashboard\n - Historical session review\n - Development\
2017
- \ session tracking"
2018
- operationId: list_developer_sessions_api_v1_logging_sessions_get
2019
- parameters:
2020
- - in: header
2021
- name: authorization
2022
- required: false
2023
- schema:
2024
- anyOf:
2025
- - type: string
2026
- - type: null
2027
- title: Authorization
2028
- responses:
2029
- '200':
2030
- content:
2031
- application/json:
2032
- schema:
2033
- $ref: '#/components/schemas/SuccessResponse'
2034
- description: Developer sessions retrieved successfully
2035
- '401':
2036
- description: Authentication required
2037
- '422':
2038
- content:
2039
- application/json:
2040
- schema:
2041
- $ref: '#/components/schemas/HTTPValidationError'
2042
- description: Validation Error
2043
- summary: List Developer Sessions
2044
- tags:
2045
- - Socket Logging
2046
- /api/v1/logging/sessions/start:
2047
- post:
2048
- description: "Start a new real-time logging session for development assistance.\n\
2049
- \ \n **Features:**\n - Real-time log streaming via WebSocket\n \
2050
- \ - Configurable retention and limits\n - Auto-expiration support\n \
2051
- \ - Developer-specific sessions\n \n **Use Cases:**\n - Debug parser\
2052
- \ development\n - Monitor real-time operations\n - Track code execution\
2053
- \ flow\n - Development assistance\n \n **Session Configuration:**\n\
2054
- \ - `max_entries`: Maximum log entries (1-10,000)\n - `retention_hours`:\
2055
- \ How long to keep logs (1-168 hours)\n - `auto_expire`: Automatically\
2056
- \ expire session\n - `tags`: Custom tags for organization\n - `metadata`:\
2057
- \ Additional session metadata"
2058
- operationId: start_logging_session_api_v1_logging_sessions_start_post
2059
- parameters:
2060
- - in: header
2061
- name: authorization
2062
- required: false
2063
- schema:
2064
- anyOf:
2065
- - type: string
2066
- - type: null
2067
- title: Authorization
2068
- requestBody:
2069
- content:
2070
- application/json:
2071
- schema:
2072
- $ref: '#/components/schemas/SessionStartRequest'
2073
- required: true
2074
- responses:
2075
- '200':
2076
- content:
2077
- application/json:
2078
- schema:
2079
- $ref: '#/components/schemas/LoggingResponse'
2080
- description: Successful Response
2081
- '201':
2082
- description: Logging session started successfully
2083
- '400':
2084
- description: Invalid session configuration
2085
- '401':
2086
- description: Authentication required
2087
- '422':
2088
- content:
2089
- application/json:
2090
- schema:
2091
- $ref: '#/components/schemas/HTTPValidationError'
2092
- description: Validation Error
2093
- '429':
2094
- description: Session limit exceeded
2095
- summary: Start Logging Session
2096
- tags:
2097
- - Socket Logging
2098
- /api/v1/logging/sessions/{session_id}:
2099
- delete:
2100
- description: "Terminate an active logging session.\n \n **Actions Performed:**\n\
2101
- \ - Changes session status to TERMINATED\n - Stops accepting new log\
2102
- \ entries\n - Removes from active session pool\n - Maintains session\
2103
- \ data for retention period\n \n **Access Control:**\n - Only session\
2104
- \ owner can terminate\n - Cannot terminate already terminated sessions\n\
2105
- \ \n **Note:** Terminated sessions can still be accessed for\n historical\
2106
- \ log retrieval until retention period expires."
2107
- operationId: terminate_session_api_v1_logging_sessions__session_id__delete
2108
- parameters:
2109
- - in: path
2110
- name: session_id
2111
- required: true
2112
- schema:
2113
- title: Session Id
2114
- type: string
2115
- - in: header
2116
- name: authorization
2117
- required: false
2118
- schema:
2119
- anyOf:
2120
- - type: string
2121
- - type: null
2122
- title: Authorization
2123
- responses:
2124
- '200':
2125
- content:
2126
- application/json:
2127
- schema:
2128
- $ref: '#/components/schemas/LoggingResponse'
2129
- description: Session terminated successfully
2130
- '401':
2131
- description: Authentication required
2132
- '403':
2133
- description: Access denied - session belongs to different developer
2134
- '404':
2135
- description: Session not found
2136
- '422':
2137
- content:
2138
- application/json:
2139
- schema:
2140
- $ref: '#/components/schemas/HTTPValidationError'
2141
- description: Validation Error
2142
- summary: Terminate Session
2143
- tags:
2144
- - Socket Logging
2145
- /api/v1/logging/sessions/{session_id}/logs:
2146
- get:
2147
- description: "Retrieve recent log entries from a specific logging session.\n\
2148
- \ \n **Parameters:**\n - `session_id`: Target session identifier\n\
2149
- \ - `count`: Number of recent entries to return (default: 100)\n \n\
2150
- \ **Response Includes:**\n - Recent log entries with full details\n\
2151
- \ - Session status and metadata\n - Entry statistics by log level\n\
2152
- \ - Session configuration info\n \n **Access Control:**\n - Only\
2153
- \ session owner can access logs\n - Session must belong to authenticated\
2154
- \ developer"
2155
- operationId: get_session_logs_api_v1_logging_sessions__session_id__logs_get
2156
- parameters:
2157
- - in: path
2158
- name: session_id
2159
- required: true
2160
- schema:
2161
- title: Session Id
2162
- type: string
2163
- - in: query
2164
- name: count
2165
- required: false
2166
- schema:
2167
- default: 100
2168
- title: Count
2169
- type: integer
2170
- - in: header
2171
- name: authorization
2172
- required: false
2173
- schema:
2174
- anyOf:
2175
- - type: string
2176
- - type: null
2177
- title: Authorization
2178
- responses:
2179
- '200':
2180
- content:
2181
- application/json:
2182
- schema:
2183
- $ref: '#/components/schemas/SuccessResponse'
2184
- description: Session logs retrieved successfully
2185
- '401':
2186
- description: Authentication required
2187
- '403':
2188
- description: Access denied - session belongs to different developer
2189
- '404':
2190
- description: Session not found
2191
- '422':
2192
- content:
2193
- application/json:
2194
- schema:
2195
- $ref: '#/components/schemas/HTTPValidationError'
2196
- description: Validation Error
2197
- summary: Get Session Logs
2198
- tags:
2199
- - Socket Logging
2200
- /api/v1/logging/stats:
2201
- get:
2202
- description: "Get socket logging service statistics and metrics.\n \n \
2203
- \ **Metrics Included:**\n - Active sessions count\n - Total developers\
2204
- \ using service\n - Total sessions created\n - Total log entries processed\n\
2205
- \ - Active WebSocket connections\n - Service configuration details\n\
2206
- \ \n **Admin Information:**\n - Session limits and quotas\n -\
2207
- \ Cleanup intervals\n - Service health status"
2208
- operationId: get_logging_stats_api_v1_logging_stats_get
2209
- responses:
2210
- '200':
2211
- content:
2212
- application/json:
2213
- schema:
2214
- $ref: '#/components/schemas/SuccessResponse'
2215
- description: Service statistics retrieved successfully
2216
- '401':
2217
- description: Authentication required
2218
- summary: Logging Service Statistics
2219
- tags:
2220
- - Socket Logging
2221
- /api/v1/parsers/:
2222
- get:
2223
- description: Get list of parsers for authenticated developer
2224
- operationId: list_parsers_api_v1_parsers__get
2225
- parameters:
2226
- - in: header
2227
- name: authorization
2228
- required: false
2229
- schema:
2230
- anyOf:
2231
- - type: string
2232
- - type: null
2233
- title: Authorization
2234
- responses:
2235
- '200':
2236
- content:
2237
- application/json:
2238
- schema:
2239
- $ref: '#/components/schemas/SuccessResponse'
2240
- description: Successful Response
2241
- '422':
2242
- content:
2243
- application/json:
2244
- schema:
2245
- $ref: '#/components/schemas/HTTPValidationError'
2246
- description: Validation Error
2247
- summary: List parsers
2248
- tags:
2249
- - Parser Management
2250
- /api/v1/parsers/register:
2251
- post:
2252
- description: "Register a new parser with the UnrealOn Server platform.\n \
2253
- \ \n This endpoint allows developers to register their parsing services\
2254
- \ with the platform,\n enabling real-time communication and command routing\
2255
- \ capabilities.\n \n **Requirements:**\n - Valid API key with parser:write\
2256
- \ permission\n - Unique parser ID within the platform\n - At least one\
2257
- \ service configuration\n - Valid parser type (encar, autotrader, etc.)\n\
2258
- \ \n **Process:**\n 1. Validates API key and developer permissions\n\
2259
- \ 2. Checks parser ID uniqueness\n 3. Validates service configurations\n\
2260
- \ 4. Creates parser entity in database\n 5. Establishes WebSocket communication\
2261
- \ channel\n 6. Returns registration confirmation with connection details"
2262
- operationId: register_parser_api_v1_parsers_register_post
2263
- parameters:
2264
- - in: header
2265
- name: authorization
2266
- required: false
2267
- schema:
2268
- anyOf:
2269
- - type: string
2270
- - type: null
2271
- title: Authorization
2272
- requestBody:
2273
- content:
2274
- application/json:
2275
- schema:
2276
- $ref: '#/components/schemas/ParserRegistrationRequest'
2277
- required: true
2278
- responses:
2279
- '201':
2280
- content:
2281
- application/json:
2282
- schema:
2283
- $ref: '#/components/schemas/ParserRegistrationResponse'
2284
- description: Parser registered successfully
2285
- '400':
2286
- content:
2287
- application/json:
2288
- schema:
2289
- $ref: '#/components/schemas/ErrorResponse'
2290
- description: Registration failed due to validation error
2291
- '401':
2292
- content:
2293
- application/json:
2294
- schema:
2295
- $ref: '#/components/schemas/ErrorResponse'
2296
- description: Invalid or missing API key
2297
- '409':
2298
- content:
2299
- application/json:
2300
- schema:
2301
- $ref: '#/components/schemas/ErrorResponse'
2302
- description: Parser ID already exists
2303
- '422':
2304
- content:
2305
- application/json:
2306
- schema:
2307
- $ref: '#/components/schemas/ValidationErrorResponse'
2308
- description: Invalid request data
2309
- summary: Register New Parser
2310
- tags:
2311
- - Parser Management
2312
- - Parser Registration
2313
- /api/v1/parsers/{parser_id}:
2314
- delete:
2315
- description: "Remove parser from the platform permanently.\n \n **Warning:**\
2316
- \ This operation is irreversible and will:\n - Disconnect the parser from\
2317
- \ WebSocket\n - Remove all associated data\n - Cancel any pending commands\n\
2318
- \ - Revoke access tokens\n \n **Requirements:**\n - Parser must\
2319
- \ be owned by authenticated developer\n - No critical commands in progress\n\
2320
- \ - Proper cleanup of associated resources"
2321
- operationId: delete_parser_api_v1_parsers__parser_id__delete
2322
- parameters:
2323
- - in: path
2324
- name: parser_id
2325
- required: true
2326
- schema:
2327
- title: Parser Id
2328
- type: string
2329
- - in: header
2330
- name: authorization
2331
- required: false
2332
- schema:
2333
- anyOf:
2334
- - type: string
2335
- - type: null
2336
- title: Authorization
2337
- responses:
2338
- '204':
2339
- description: Parser deleted successfully
2340
- '401':
2341
- content:
2342
- application/json:
2343
- schema:
2344
- $ref: '#/components/schemas/ErrorResponse'
2345
- description: Invalid or missing API key
2346
- '403':
2347
- content:
2348
- application/json:
2349
- schema:
2350
- $ref: '#/components/schemas/ErrorResponse'
2351
- description: Insufficient permissions
2352
- '404':
2353
- content:
2354
- application/json:
2355
- schema:
2356
- $ref: '#/components/schemas/ErrorResponse'
2357
- description: Parser not found
2358
- '409':
2359
- content:
2360
- application/json:
2361
- schema:
2362
- $ref: '#/components/schemas/ErrorResponse'
2363
- description: Parser has active commands
2364
- '422':
2365
- content:
2366
- application/json:
2367
- schema:
2368
- $ref: '#/components/schemas/HTTPValidationError'
2369
- description: Validation Error
2370
- summary: Delete Parser
2371
- tags:
2372
- - Parser Management
2373
- - Parser Management
2374
- get:
2375
- description: Get detailed information about specific parser
2376
- operationId: get_parser_api_v1_parsers__parser_id__get
2377
- parameters:
2378
- - in: path
2379
- name: parser_id
2380
- required: true
2381
- schema:
2382
- title: Parser Id
2383
- type: string
2384
- - in: header
2385
- name: authorization
2386
- required: false
2387
- schema:
2388
- anyOf:
2389
- - type: string
2390
- - type: null
2391
- title: Authorization
2392
- responses:
2393
- '200':
2394
- content:
2395
- application/json:
2396
- schema:
2397
- $ref: '#/components/schemas/SuccessResponse'
2398
- description: Successful Response
2399
- '422':
2400
- content:
2401
- application/json:
2402
- schema:
2403
- $ref: '#/components/schemas/HTTPValidationError'
2404
- description: Validation Error
2405
- summary: Get parser details
2406
- tags:
2407
- - Parser Management
2408
- /api/v1/parsers/{parser_id}/commands:
2409
- post:
2410
- description: "Execute a command on the specified parser with real-time tracking.\n\
2411
- \ \n This endpoint enables real-time command execution on connected\
2412
- \ parsers\n through WebSocket communication with comprehensive error handling\
2413
- \ and timeout management.\n \n **Features:**\n - Real-time command\
2414
- \ execution via WebSocket\n - Command timeout and retry handling\n -\
2415
- \ Priority-based command queuing\n - Execution status tracking\n - Response\
2416
- \ caching and persistence\n \n **Command Types:**\n - `scrape_listings`:\
2417
- \ Scrape vehicle listings\n - `get_car_details`: Get detailed vehicle information\n\
2418
- \ - `search_by_criteria`: Search with specific criteria\n - `health_check`:\
2419
- \ Check parser health status\n - `update_config`: Update parser configuration\n\
2420
- \ \n **Process:**\n 1. Validates parser connection status\n 2.\
2421
- \ Creates unique command identifier\n 3. Routes command via WebSocket to\
2422
- \ parser\n 4. Tracks execution status in real-time\n 5. Returns command\
2423
- \ ID for status polling\n 6. Notifies completion via WebSocket/callback"
2424
- operationId: execute_parser_command_api_v1_parsers__parser_id__commands_post
2425
- parameters:
2426
- - in: path
2427
- name: parser_id
2428
- required: true
2429
- schema:
2430
- title: Parser Id
2431
- type: string
2432
- - in: header
2433
- name: authorization
2434
- required: false
2435
- schema:
2436
- anyOf:
2437
- - type: string
2438
- - type: null
2439
- title: Authorization
2440
- requestBody:
2441
- content:
2442
- application/json:
2443
- schema:
2444
- $ref: '#/components/schemas/ParserCommandRequest'
2445
- required: true
2446
- responses:
2447
- '202':
2448
- content:
2449
- application/json:
2450
- example:
2451
- command_id: cmd_abc123def456
2452
- estimated_completion: '2024-01-01T12:05:00Z'
2453
- parser_id: automotive_parser_001
2454
- status: accepted
2455
- success: true
2456
- tracking_url: /api/v1/commands/cmd_abc123def456/status
2457
- schema:
2458
- $ref: '#/components/schemas/SuccessResponse'
2459
- description: Command accepted and queued for execution
2460
- '400':
2461
- content:
2462
- application/json:
2463
- schema:
2464
- $ref: '#/components/schemas/ErrorResponse'
2465
- description: Invalid command or parameters
2466
- '401':
2467
- content:
2468
- application/json:
2469
- schema:
2470
- $ref: '#/components/schemas/ErrorResponse'
2471
- description: Invalid or missing API key
2472
- '404':
2473
- content:
2474
- application/json:
2475
- schema:
2476
- $ref: '#/components/schemas/ErrorResponse'
2477
- description: Parser not found or not connected
2478
- '422':
2479
- content:
2480
- application/json:
2481
- schema:
2482
- $ref: '#/components/schemas/ValidationErrorResponse'
2483
- description: Invalid request data
2484
- '503':
2485
- content:
2486
- application/json:
2487
- schema:
2488
- $ref: '#/components/schemas/ErrorResponse'
2489
- description: Parser temporarily unavailable
2490
- summary: Execute Command on Parser
2491
- tags:
2492
- - Parser Management
2493
- - Command Execution
2494
- /api/v1/parsers/{parser_id}/status:
2495
- get:
2496
- description: "Get comprehensive status information for the specified parser.\n\
2497
- \ \n **Status Information:**\n - Connection status (connected/disconnected)\n\
2498
- \ - Current activity and workload\n - Performance metrics\n - Recent\
2499
- \ command history\n - Health indicators\n - Configuration details"
2500
- operationId: get_parser_status_api_v1_parsers__parser_id__status_get
2501
- parameters:
2502
- - in: path
2503
- name: parser_id
2504
- required: true
2505
- schema:
2506
- title: Parser Id
2507
- type: string
2508
- - in: header
2509
- name: authorization
2510
- required: false
2511
- schema:
2512
- anyOf:
2513
- - type: string
2514
- - type: null
2515
- title: Authorization
2516
- responses:
2517
- '200':
2518
- content:
2519
- application/json:
2520
- example:
2521
- capabilities:
2522
- max_concurrent: 5
2523
- rate_limit: 100
2524
- supported_commands:
2525
- - scrape_listings
2526
- - get_car_details
2527
- connected: true
2528
- current_load:
2529
- active_commands: 3
2530
- cpu_usage: 45.2
2531
- memory_usage: 67.8
2532
- queued_commands: 1
2533
- last_seen: '2024-01-01T12:00:00Z'
2534
- metrics:
2535
- avg_response_time_ms: 850
2536
- commands_executed: 1247
2537
- success_rate: 98.5
2538
- uptime_hours: 72.5
2539
- parser_id: automotive_parser_001
2540
- status: active
2541
- schema:
2542
- $ref: '#/components/schemas/SuccessResponse'
2543
- description: Parser status retrieved successfully
2544
- '401':
2545
- content:
2546
- application/json:
2547
- schema:
2548
- $ref: '#/components/schemas/ErrorResponse'
2549
- description: Invalid or missing API key
2550
- '404':
2551
- content:
2552
- application/json:
2553
- schema:
2554
- $ref: '#/components/schemas/ErrorResponse'
2555
- description: Parser not found
2556
- '422':
2557
- content:
2558
- application/json:
2559
- schema:
2560
- $ref: '#/components/schemas/HTTPValidationError'
2561
- description: Validation Error
2562
- summary: Get Parser Status
2563
- tags:
2564
- - Parser Management
2565
- - Parser Status
2566
- /api/v1/proxies/:
2567
- get:
2568
- description: "Get list of proxies with optional filtering and pagination.\n\
2569
- \ \n **Filters:**\n - `status`: Filter by proxy status (active, inactive,\
2570
- \ expired, blocked)\n - `country`: Filter by country code (US, KR, etc.)\n\
2571
- \ - `provider`: Filter by provider (proxy6, oxylabs, etc.)\n - `healthy_only`:\
2572
- \ Show only healthy proxies with good performance\n \n **Pagination:**\n\
2573
- \ - `skip`: Number of records to skip\n - `limit`: Maximum number of\
2574
- \ records to return\n \n **Response includes:**\n - List of proxy\
2575
- \ objects with full details\n - Total count for pagination\n - Statistics\
2576
- \ summary"
2577
- operationId: list_proxies_api_v1_proxies__get
2578
- parameters:
2579
- - description: Filter by proxy status
2580
- in: query
2581
- name: status
2582
- required: false
2583
- schema:
2584
- anyOf:
2585
- - $ref: '#/components/schemas/ProxyStatus'
2586
- - type: null
2587
- description: Filter by proxy status
2588
- title: Status
2589
- - description: Filter by country code
2590
- in: query
2591
- name: country
2592
- required: false
2593
- schema:
2594
- anyOf:
2595
- - type: string
2596
- - type: null
2597
- description: Filter by country code
2598
- title: Country
2599
- - description: Filter by provider
2600
- in: query
2601
- name: provider
2602
- required: false
2603
- schema:
2604
- anyOf:
2605
- - $ref: '#/components/schemas/ProxyProvider'
2606
- - type: null
2607
- description: Filter by provider
2608
- title: Provider
2609
- - description: Show only healthy proxies
2610
- in: query
2611
- name: healthy_only
2612
- required: false
2613
- schema:
2614
- default: false
2615
- description: Show only healthy proxies
2616
- title: Healthy Only
2617
- type: boolean
2618
- - description: Number of records to skip
2619
- in: query
2620
- name: skip
2621
- required: false
2622
- schema:
2623
- default: 0
2624
- description: Number of records to skip
2625
- minimum: 0
2626
- title: Skip
2627
- type: integer
2628
- - description: Maximum records to return
2629
- in: query
2630
- name: limit
2631
- required: false
2632
- schema:
2633
- default: 50
2634
- description: Maximum records to return
2635
- maximum: 1000
2636
- minimum: 1
2637
- title: Limit
2638
- type: integer
2639
- - in: header
2640
- name: authorization
2641
- required: false
2642
- schema:
2643
- anyOf:
2644
- - type: string
2645
- - type: null
2646
- title: Authorization
2647
- responses:
2648
- '200':
2649
- content:
2650
- application/json:
2651
- example:
2652
- data:
2653
- limit: 50
2654
- proxies:
2655
- - country: US
2656
- endpoint:
2657
- host: 185.123.45.67
2658
- port: 8080
2659
- protocol: http
2660
- expires_at: '2024-12-31T23:59:59Z'
2661
- provider: proxy6
2662
- proxy_id: proxy_proxy6_001234
2663
- status: active
2664
- usage_stats:
2665
- consecutive_failures: 0
2666
- success_rate: 95.5
2667
- total_requests: 1500
2668
- skip: 0
2669
- total: 1
2670
- message: Proxies retrieved successfully
2671
- success: true
2672
- schema:
2673
- $ref: '#/components/schemas/ProxyListResponse'
2674
- description: Proxies retrieved successfully
2675
- '401':
2676
- content:
2677
- application/json:
2678
- schema:
2679
- $ref: '#/components/schemas/ErrorResponse'
2680
- description: Invalid or missing API key
2681
- '422':
2682
- content:
2683
- application/json:
2684
- schema:
2685
- $ref: '#/components/schemas/HTTPValidationError'
2686
- description: Validation Error
2687
- '500':
2688
- content:
2689
- application/json:
2690
- schema:
2691
- $ref: '#/components/schemas/ErrorResponse'
2692
- description: Internal server error
2693
- summary: List Proxies
2694
- tags:
2695
- - Proxy Management
2696
- /api/v1/proxies/maintenance/cleanup:
2697
- post:
2698
- description: "Perform maintenance cleanup of expired proxies.\n \n **Actions:**\n\
2699
- \ - Marks expired proxies as inactive\n - Cleans up stale allocations\n\
2700
- \ - Updates proxy statistics\n - Returns cleanup summary"
2701
- operationId: cleanup_expired_proxies_api_v1_proxies_maintenance_cleanup_post
2702
- parameters:
2703
- - in: header
2704
- name: authorization
2705
- required: false
2706
- schema:
2707
- anyOf:
2708
- - type: string
2709
- - type: null
2710
- title: Authorization
2711
- responses:
2712
- '200':
2713
- content:
2714
- application/json:
2715
- schema:
2716
- $ref: '#/components/schemas/SuccessResponse'
2717
- description: Cleanup completed successfully
2718
- '401':
2719
- content:
2720
- application/json:
2721
- schema:
2722
- $ref: '#/components/schemas/ErrorResponse'
2723
- description: Invalid or missing API key
2724
- '422':
2725
- content:
2726
- application/json:
2727
- schema:
2728
- $ref: '#/components/schemas/HTTPValidationError'
2729
- description: Validation Error
2730
- summary: Cleanup Expired Proxies
2731
- tags:
2732
- - Proxy Management
2733
- /api/v1/proxies/maintenance/sync:
2734
- get:
2735
- description: "Synchronize proxies with all configured providers.\n \n \
2736
- \ **Actions:**\n - Fetches active proxies from each provider\n - Updates\
2737
- \ local database with new proxies\n - Updates status of existing proxies\n\
2738
- \ - Marks expired proxies\n - Returns synchronization summary per provider"
2739
- operationId: sync_proxies_api_v1_proxies_maintenance_sync_get
2740
- parameters:
2741
- - in: header
2742
- name: authorization
2743
- required: false
2744
- schema:
2745
- anyOf:
2746
- - type: string
2747
- - type: null
2748
- title: Authorization
2749
- responses:
2750
- '200':
2751
- content:
2752
- application/json:
2753
- schema:
2754
- $ref: '#/components/schemas/SuccessResponse'
2755
- description: Synchronization completed successfully
2756
- '401':
2757
- content:
2758
- application/json:
2759
- schema:
2760
- $ref: '#/components/schemas/ErrorResponse'
2761
- description: Invalid or missing API key
2762
- '422':
2763
- content:
2764
- application/json:
2765
- schema:
2766
- $ref: '#/components/schemas/HTTPValidationError'
2767
- description: Validation Error
2768
- summary: Synchronize Proxies
2769
- tags:
2770
- - Proxy Management
2771
- /api/v1/proxies/procurement/purchase:
2772
- post:
2773
- description: "Purchase proxies from specified provider.\n \n **Request\
2774
- \ Body:**\n - `provider`: Proxy provider (proxy6, oxylabs, etc.)\n -\
2775
- \ `count`: Number of proxies to purchase\n - `duration_days`: Proxy duration\
2776
- \ in days\n - `country`: Target country code\n - `description`: Purchase\
2777
- \ description (optional)\n \n **Response:**\n - Purchase result with\
2778
- \ cost and proxy details\n - List of purchased proxies\n - Provider\
2779
- \ transaction information"
2780
- operationId: purchase_proxies_api_v1_proxies_procurement_purchase_post
2781
- parameters:
2782
- - in: header
2783
- name: authorization
2784
- required: false
2785
- schema:
2786
- anyOf:
2787
- - type: string
2788
- - type: null
2789
- title: Authorization
2790
- requestBody:
2791
- content:
2792
- application/json:
2793
- schema:
2794
- $ref: '#/components/schemas/ProxyPurchaseRequest'
2795
- required: true
2796
- responses:
2797
- '200':
2798
- content:
2799
- application/json:
2800
- schema:
2801
- $ref: '#/components/schemas/SuccessResponse'
2802
- description: Proxies purchased successfully
2803
- '400':
2804
- content:
2805
- application/json:
2806
- schema:
2807
- $ref: '#/components/schemas/ErrorResponse'
2808
- description: Invalid purchase request
2809
- '401':
2810
- content:
2811
- application/json:
2812
- schema:
2813
- $ref: '#/components/schemas/ErrorResponse'
2814
- description: Invalid or missing API key
2815
- '402':
2816
- content:
2817
- application/json:
2818
- schema:
2819
- $ref: '#/components/schemas/ErrorResponse'
2820
- description: Insufficient balance
2821
- '422':
2822
- content:
2823
- application/json:
2824
- schema:
2825
- $ref: '#/components/schemas/HTTPValidationError'
2826
- description: Validation Error
2827
- summary: Purchase Proxies
2828
- tags:
2829
- - Proxy Management
2830
- /api/v1/proxies/rotation/block:
2831
- post:
2832
- description: "Report a proxy as blocked and trigger automatic rotation.\n \
2833
- \ \n **Request Body:**\n - `parser_id`: Parser reporting the block\n\
2834
- \ - `proxy_id`: Blocked proxy identifier\n - `reason`: Reason for blocking\
2835
- \ (optional)\n \n **Actions:**\n - Marks proxy as blocked in statistics\n\
2836
- \ - Clears current allocation for parser\n - Triggers automatic rotation\
2837
- \ on next request"
2838
- operationId: report_blocked_proxy_api_v1_proxies_rotation_block_post
2839
- parameters:
2840
- - in: header
2841
- name: authorization
2842
- required: false
2843
- schema:
2844
- anyOf:
2845
- - type: string
2846
- - type: null
2847
- title: Authorization
2848
- requestBody:
2849
- content:
2850
- application/json:
2851
- schema:
2852
- $ref: '#/components/schemas/ProxyBlockRequest'
2853
- required: true
2854
- responses:
2855
- '200':
2856
- content:
2857
- application/json:
2858
- schema:
2859
- $ref: '#/components/schemas/SuccessResponse'
2860
- description: Blocked proxy reported successfully
2861
- '401':
2862
- content:
2863
- application/json:
2864
- schema:
2865
- $ref: '#/components/schemas/ErrorResponse'
2866
- description: Invalid or missing API key
2867
- '404':
2868
- content:
2869
- application/json:
2870
- schema:
2871
- $ref: '#/components/schemas/ErrorResponse'
2872
- description: Proxy not found
2873
- '422':
2874
- content:
2875
- application/json:
2876
- schema:
2877
- $ref: '#/components/schemas/HTTPValidationError'
2878
- description: Validation Error
2879
- summary: Report Blocked Proxy
2880
- tags:
2881
- - Proxy Management
2882
- /api/v1/proxies/rotation/request:
2883
- post:
2884
- description: "Request a proxy for a parser using intelligent rotation strategies.\n\
2885
- \ \n **Rotation Strategies:**\n - `success_rate`: Select proxy with\
2886
- \ highest success rate\n - `round_robin`: Equal distribution across all\
2887
- \ proxies\n - `weighted_random`: Random selection weighted by performance\n\
2888
- \ - `least_failures`: Select proxy with fewest consecutive failures\n \
2889
- \ - `least_used`: Select least used proxy\n \n **Request Body:**\n\
2890
- \ - `parser_id`: Parser requesting the proxy\n - `strategy`: Rotation\
2891
- \ strategy to use\n - `country`: Preferred country (optional)\n - `exclude_proxy_ids`:\
2892
- \ Proxy IDs to exclude (optional)\n - `force_rotation`: Force new proxy\
2893
- \ selection (optional)"
2894
- operationId: request_proxy_rotation_api_v1_proxies_rotation_request_post
2895
- parameters:
2896
- - in: header
2897
- name: authorization
2898
- required: false
2899
- schema:
2900
- anyOf:
2901
- - type: string
2902
- - type: null
2903
- title: Authorization
2904
- requestBody:
2905
- content:
2906
- application/json:
2907
- schema:
2908
- $ref: '#/components/schemas/ProxyRotationRequest'
2909
- required: true
2910
- responses:
2911
- '200':
2912
- content:
2913
- application/json:
2914
- schema:
2915
- $ref: '#/components/schemas/SuccessResponse'
2916
- description: Proxy allocated successfully
2917
- '400':
2918
- content:
2919
- application/json:
2920
- schema:
2921
- $ref: '#/components/schemas/ErrorResponse'
2922
- description: Invalid rotation request
2923
- '401':
2924
- content:
2925
- application/json:
2926
- schema:
2927
- $ref: '#/components/schemas/ErrorResponse'
2928
- description: Invalid or missing API key
2929
- '404':
2930
- content:
2931
- application/json:
2932
- schema:
2933
- $ref: '#/components/schemas/ErrorResponse'
2934
- description: No suitable proxies found
2935
- '422':
2936
- content:
2937
- application/json:
2938
- schema:
2939
- $ref: '#/components/schemas/HTTPValidationError'
2940
- description: Validation Error
2941
- summary: Request Proxy Rotation
2942
- tags:
2943
- - Proxy Management
2944
- /api/v1/proxies/statistics:
2945
- get:
2946
- description: "Get comprehensive proxy statistics and analytics.\n \n **Statistics\
2947
- \ Include:**\n - Total proxy counts by status and provider\n - Performance\
2948
- \ metrics and success rates\n - Rotation statistics and allocation data\n\
2949
- \ - Procurement history and costs\n - Health and usage analytics"
2950
- operationId: get_proxy_statistics_api_v1_proxies_statistics_get
2951
- parameters:
2952
- - in: header
2953
- name: authorization
2954
- required: false
2955
- schema:
2956
- anyOf:
2957
- - type: string
2958
- - type: null
2959
- title: Authorization
2960
- responses:
2961
- '200':
2962
- content:
2963
- application/json:
2964
- schema:
2965
- additionalProperties: true
2966
- title: Response Get Proxy Statistics Api V1 Proxies Statistics Get
2967
- type: object
2968
- description: Statistics retrieved successfully
2969
- '401':
2970
- content:
2971
- application/json:
2972
- schema:
2973
- $ref: '#/components/schemas/ErrorResponse'
2974
- description: Invalid or missing API key
2975
- '422':
2976
- content:
2977
- application/json:
2978
- schema:
2979
- $ref: '#/components/schemas/HTTPValidationError'
2980
- description: Validation Error
2981
- summary: Get Proxy Statistics
2982
- tags:
2983
- - Proxy Management
2984
- /api/v1/proxies/{proxy_id}:
2985
- get:
2986
- description: "Get detailed information about a specific proxy.\n \n **Returns:**\n\
2987
- \ - Complete proxy information including usage statistics\n - Connection\
2988
- \ details (without sensitive credentials)\n - Performance metrics and health\
2989
- \ status\n - Historical usage data"
2990
- operationId: get_proxy_details_api_v1_proxies__proxy_id__get
2991
- parameters:
2992
- - description: Proxy identifier
2993
- in: path
2994
- name: proxy_id
2995
- required: true
2996
- schema:
2997
- description: Proxy identifier
2998
- title: Proxy Id
2999
- type: string
3000
- - in: header
3001
- name: authorization
3002
- required: false
3003
- schema:
3004
- anyOf:
3005
- - type: string
3006
- - type: null
3007
- title: Authorization
3008
- responses:
3009
- '200':
3010
- content:
3011
- application/json:
3012
- schema:
3013
- $ref: '#/components/schemas/SuccessResponse'
3014
- description: Proxy details retrieved successfully
3015
- '401':
3016
- content:
3017
- application/json:
3018
- schema:
3019
- $ref: '#/components/schemas/ErrorResponse'
3020
- description: Invalid or missing API key
3021
- '404':
3022
- content:
3023
- application/json:
3024
- schema:
3025
- $ref: '#/components/schemas/ErrorResponse'
3026
- description: Proxy not found
3027
- '422':
3028
- content:
3029
- application/json:
3030
- schema:
3031
- $ref: '#/components/schemas/HTTPValidationError'
3032
- description: Validation Error
3033
- summary: Get Proxy Details
3034
- tags:
3035
- - Proxy Management
3036
- /api/v1/proxies/{proxy_id}/usage:
3037
- post:
3038
- description: "Record proxy usage statistics for performance tracking.\n \n\
3039
- \ **Request Body:**\n - `success`: Whether the request was successful\n\
3040
- \ - `response_time_ms`: Response time in milliseconds (optional)\n -\
3041
- \ `error_reason`: Reason for failure if not successful (optional)\n \n\
3042
- \ **Usage:**\n This endpoint should be called by parsers after each\
3043
- \ proxy usage\n to maintain accurate performance statistics for rotation\
3044
- \ algorithms."
3045
- operationId: record_proxy_usage_api_v1_proxies__proxy_id__usage_post
3046
- parameters:
3047
- - description: Proxy identifier
3048
- in: path
3049
- name: proxy_id
3050
- required: true
3051
- schema:
3052
- description: Proxy identifier
3053
- title: Proxy Id
3054
- type: string
3055
- - in: header
3056
- name: authorization
3057
- required: false
3058
- schema:
3059
- anyOf:
3060
- - type: string
3061
- - type: null
3062
- title: Authorization
3063
- requestBody:
3064
- content:
3065
- application/json:
3066
- schema:
3067
- $ref: '#/components/schemas/ProxyUsageRequest'
3068
- required: true
3069
- responses:
3070
- '200':
3071
- content:
3072
- application/json:
3073
- schema:
3074
- $ref: '#/components/schemas/SuccessResponse'
3075
- description: Usage recorded successfully
3076
- '401':
3077
- content:
3078
- application/json:
3079
- schema:
3080
- $ref: '#/components/schemas/ErrorResponse'
3081
- description: Invalid or missing API key
3082
- '404':
3083
- content:
3084
- application/json:
3085
- schema:
3086
- $ref: '#/components/schemas/ErrorResponse'
3087
- description: Proxy not found
3088
- '422':
3089
- content:
3090
- application/json:
3091
- schema:
3092
- $ref: '#/components/schemas/HTTPValidationError'
3093
- description: Validation Error
3094
- summary: Record Proxy Usage
3095
- tags:
3096
- - Proxy Management
3097
- /api/v1/ws/broadcast/{room}:
3098
- post:
3099
- description: "Broadcast message to a specific room via Socket.IO.\n\n**Room\
3100
- \ Examples:**\n- `global` - All connected clients\n- `parser:{parser_id}`\
3101
- \ - Specific parser\n- `developer:{developer_id}` - Specific developer\n-\
3102
- \ `admins` - Admin users only\n\n**Use Cases:**\n- System notifications\n\
3103
- - Parser status updates \n- Emergency announcements\n- Real-time data updates"
3104
- operationId: broadcast_to_room_api_v1_ws_broadcast__room__post
3105
- parameters:
3106
- - in: path
3107
- name: room
3108
- required: true
3109
- schema:
3110
- title: Room
3111
- type: string
3112
- requestBody:
3113
- content:
3114
- application/json:
3115
- schema:
3116
- $ref: '#/components/schemas/BroadcastMessage'
3117
- required: true
3118
- responses:
3119
- '200':
3120
- content:
3121
- application/json:
3122
- schema:
3123
- $ref: '#/components/schemas/BroadcastResponse'
3124
- description: Successful Response
3125
- '422':
3126
- content:
3127
- application/json:
3128
- schema:
3129
- $ref: '#/components/schemas/HTTPValidationError'
3130
- description: Validation Error
3131
- summary: Broadcast To Room
3132
- tags:
3133
- - WebSocket API
3134
- /api/v1/ws/connections:
3135
- get:
3136
- description: "Get detailed connection information.\n\nReturns:\n Lists of\
3137
- \ connected parsers, developers, and active rooms"
3138
- operationId: get_connections_api_v1_ws_connections_get
3139
- responses:
3140
- '200':
3141
- content:
3142
- application/json:
3143
- schema:
3144
- $ref: '#/components/schemas/ConnectionsResponse'
3145
- description: Successful Response
3146
- summary: Get Connections
3147
- tags:
3148
- - WebSocket API
3149
- /api/v1/ws/health:
3150
- get:
3151
- description: "Health check endpoint for WebSocket service.\n\nReturns:\n \
3152
- \ WebSocket manager health status and connection statistics"
3153
- operationId: websocket_health_check_api_v1_ws_health_get
3154
- responses:
3155
- '200':
3156
- content:
3157
- application/json:
3158
- schema:
3159
- $ref: '#/components/schemas/HealthStatus'
3160
- description: Successful Response
3161
- summary: Websocket Health Check
3162
- tags:
3163
- - WebSocket API
3164
- /api/v1/ws/notification/system:
3165
- post:
3166
- description: 'Broadcast system notification to all connected clients.
3167
-
3168
-
3169
- **Priority Levels:**
3170
-
3171
- - `low` - Informational messages
3172
-
3173
- - `normal` - Standard notifications (default)
3174
-
3175
- - `high` - Important updates
3176
-
3177
- - `urgent` - Critical alerts
3178
-
3179
-
3180
- **Use Cases:**
3181
-
3182
- - System maintenance announcements
3183
-
3184
- - Service updates
3185
-
3186
- - Emergency alerts'
3187
- operationId: broadcast_system_notification_api_v1_ws_notification_system_post
3188
- parameters:
3189
- - in: query
3190
- name: title
3191
- required: true
3192
- schema:
3193
- title: Title
3194
- type: string
3195
- - in: query
3196
- name: content
3197
- required: true
3198
- schema:
3199
- title: Content
3200
- type: string
3201
- - in: query
3202
- name: priority
3203
- required: false
3204
- schema:
3205
- default: normal
3206
- title: Priority
3207
- type: string
3208
- responses:
3209
- '200':
3210
- content:
3211
- application/json:
3212
- schema:
3213
- $ref: '#/components/schemas/SystemNotificationResponse'
3214
- description: Successful Response
3215
- '422':
3216
- content:
3217
- application/json:
3218
- schema:
3219
- $ref: '#/components/schemas/HTTPValidationError'
3220
- description: Validation Error
3221
- summary: Broadcast System Notification
3222
- tags:
3223
- - WebSocket API
3224
- /api/v1/ws/send/developer/{developer_id}:
3225
- post:
3226
- description: 'Send message directly to a specific developer.
3227
-
3228
-
3229
- **Use Cases:**
3230
-
3231
- - Personal notifications
3232
-
3233
- - Dashboard updates
3234
-
3235
- - Direct developer communication'
3236
- operationId: send_to_developer_api_v1_ws_send_developer__developer_id__post
3237
- parameters:
3238
- - in: path
3239
- name: developer_id
3240
- required: true
3241
- schema:
3242
- title: Developer Id
3243
- type: string
3244
- requestBody:
3245
- content:
3246
- application/json:
3247
- schema:
3248
- $ref: '#/components/schemas/BroadcastMessage'
3249
- required: true
3250
- responses:
3251
- '200':
3252
- content:
3253
- application/json:
3254
- schema:
3255
- $ref: '#/components/schemas/DeveloperMessageResponse'
3256
- description: Successful Response
3257
- '422':
3258
- content:
3259
- application/json:
3260
- schema:
3261
- $ref: '#/components/schemas/HTTPValidationError'
3262
- description: Validation Error
3263
- summary: Send To Developer
3264
- tags:
3265
- - WebSocket API
3266
- /api/v1/ws/send/parser/{parser_id}:
3267
- post:
3268
- description: 'Send message directly to a specific parser.
3269
-
3270
-
3271
- **Use Cases:**
3272
-
3273
- - Command execution
3274
-
3275
- - Configuration updates
3276
-
3277
- - Direct parser communication'
3278
- operationId: send_to_parser_api_v1_ws_send_parser__parser_id__post
3279
- parameters:
3280
- - in: path
3281
- name: parser_id
3282
- required: true
3283
- schema:
3284
- title: Parser Id
3285
- type: string
3286
- requestBody:
3287
- content:
3288
- application/json:
3289
- schema:
3290
- $ref: '#/components/schemas/BroadcastMessage'
3291
- required: true
3292
- responses:
3293
- '200':
3294
- content:
3295
- application/json:
3296
- schema:
3297
- $ref: '#/components/schemas/ParserMessageResponse'
3298
- description: Successful Response
3299
- '422':
3300
- content:
3301
- application/json:
3302
- schema:
3303
- $ref: '#/components/schemas/HTTPValidationError'
3304
- description: Validation Error
3305
- summary: Send To Parser
3306
- tags:
3307
- - WebSocket API
3308
- /api/v1/ws/stats:
3309
- get:
3310
- description: "Get WebSocket connection statistics.\n\nReturns:\n Current\
3311
- \ connection counts, room information, and performance metrics"
3312
- operationId: websocket_stats_api_v1_ws_stats_get
3313
- responses:
3314
- '200':
3315
- content:
3316
- application/json:
3317
- schema:
3318
- $ref: '#/components/schemas/ConnectionStats'
3319
- description: Successful Response
3320
- summary: Websocket Stats
3321
- tags:
3322
- - WebSocket API
3323
- /health:
3324
- get:
3325
- description: "Legacy health check endpoint for backwards compatibility.\n \
3326
- \ \n **Note:** This endpoint is deprecated. Please use `/api/v1/health/`\
3327
- \ for comprehensive health checks.\n \n This simple endpoint\
3328
- \ returns basic service status for legacy monitoring systems."
3329
- operationId: legacy_health_check_health_get
3330
- responses:
3331
- '200':
3332
- content:
3333
- application/json:
3334
- schema: {}
3335
- description: Service is running
3336
- '503':
3337
- description: Service unavailable
3338
- summary: Legacy Health Check
3339
- tags:
3340
- - System Health
3341
- servers:
3342
- - description: Production server
3343
- url: https://api.unrealon.com
3344
- - description: Staging server
3345
- url: https://staging-api.unrealon.com
3346
- - description: Local development server
3347
- url: http://localhost:8000