{"openapi":"3.1.0","info":{"title":"OpenAPI definition","version":"v0"},"servers":[{"url":"https://api.browseract.com","description":"AI Agent Tasks"}],"tags":[{"name":"CLI Service","description":"Forwarding endpoints backed by CLI service"},{"name":"CLI Human Assist","description":"CLI human assist session endpoints (API key required)"},{"name":"Proxy Session","description":"Proxy session management API"},{"name":"CLI API Key","description":"Public endpoints for CLI tools to obtain an API Key without prior authentication."},{"name":"CLI Public","description":"CLI public endpoints (no API key required, HMAC signature + rate limiting)"},{"name":"CLI Authenticated","description":"CLI authenticated endpoints (API key required)"},{"name":"Browser Public","description":"Browser public endpoints (no authentication required)"},{"name":"V3 Bots","description":"Unified external API contract for Workflow and Agent bots."}],"paths":{"/v2/cli-service/{path}":{"get":{"tags":["CLI Service"],"summary":"Forward a request to CLI service","operationId":"forward","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string","format":"byte"}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string","format":"byte"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["CLI Service"],"summary":"Forward a request to CLI service","operationId":"forward_2","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string","format":"byte"}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string","format":"byte"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["CLI Service"],"summary":"Forward a request to CLI service","operationId":"forward_1","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string","format":"byte"}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string","format":"byte"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["CLI Service"],"summary":"Forward a request to CLI service","operationId":"forward_3","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string","format":"byte"}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string","format":"byte"}}}}},"security":[{"HTTPBearer":[]}]},"options":{"tags":["CLI Service"],"summary":"Forward a request to CLI service","operationId":"forward_6","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string","format":"byte"}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string","format":"byte"}}}}},"security":[{"HTTPBearer":[]}]},"head":{"tags":["CLI Service"],"summary":"Forward a request to CLI service","operationId":"forward_5","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string","format":"byte"}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string","format":"byte"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["CLI Service"],"summary":"Forward a request to CLI service","operationId":"forward_4","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string","format":"byte"}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string","format":"byte"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/workflow/stop-task":{"put":{"tags":["api-v-2-workflow-controller"],"summary":"Stop Task","description":"Stops a running browser automation task immediately.","operationId":"stopTask","parameters":[{"name":"task_id","in":"query","description":"Task id from run-task","required":true,"schema":{"type":"string","minLength":1}},{"name":"biz_code","in":"query","description":"Cancel business code","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK"}},"security":[{"HTTPBearer":[]}]}},"/v2/workflow/resume-task":{"put":{"tags":["api-v-2-workflow-controller"],"summary":"Resume Task","description":"Resumes execution of a previously paused task. The task will continue from where it was paused. You can’t resume a stopped task.","operationId":"resumeTask","parameters":[{"name":"task_id","in":"query","description":"Task id from run-task","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK"}},"security":[{"HTTPBearer":[]}]}},"/v2/static-proxy/{id}/name":{"put":{"tags":["api-static-proxy-controller"],"summary":"Update static proxy name","operationId":"updateName","parameters":[{"name":"id","in":"path","description":"Static proxy ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StaticProxyUpdateNameRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataVoid"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/browser/{id}":{"get":{"tags":["api-browser-controller"],"summary":"Get browser by ID","description":"Retrieves a single browser instance by ID","operationId":"getBrowser","parameters":[{"name":"id","in":"path","description":"Browser ID","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataBrowserItem"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["api-browser-controller"],"summary":"Update browser configuration","description":"Updates the configuration of an existing browser instance","operationId":"updateBrowser","parameters":[{"name":"id","in":"path","description":"Browser ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBrowserRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataBrowserItem"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["api-browser-controller"],"summary":"Delete a browser instance","description":"Removes an existing browser instance","operationId":"deleteBrowser","parameters":[{"name":"id","in":"path","description":"Browser ID","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataVoid"}}}}},"security":[{"HTTPBearer":[]}]}},"/v3/bots/{bot_id}/runs":{"post":{"tags":["V3 Bots"],"summary":"Create a bot run","description":"Accepts a run input object conforming to the bot input_schema and returns a task_id for polling.","operationId":"createRun","parameters":[{"name":"bot_id","in":"path","description":"Public bot identifier.","required":true,"schema":{"type":"string","minLength":1}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotRunCreateRequest"}}},"required":true},"responses":{"400":{"description":"Bot not found (10111), or the current company's Bot is not published (10020).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"Run created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotRunCreatedResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v3/bots/templates/{template_id}/runs":{"post":{"tags":["V3 Bots"],"summary":"Create a run from an official template","description":"Creates a Workflow or Agent run from a published official template. MCP execution context is not supported for template runs.","operationId":"createTemplateRun","parameters":[{"name":"template_id","in":"path","description":"Public official template identifier.","required":true,"schema":{"type":"string","minLength":1}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotTemplateRunCreateRequest"}}},"required":true},"responses":{"400":{"description":"Bot template not found. Returns error code 10110.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"Template run created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotRunCreatedResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v3/bots/runs/{task_id}/resume":{"post":{"tags":["V3 Bots"],"summary":"Resume a paused bot run","description":"Requests resumption of a paused bot run. Unsupported bot types or states are rejected by the business implementation.","operationId":"resumeRun","parameters":[{"name":"task_id","in":"path","description":"Public run task identifier.","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"400":{"description":"Run not found. Returns error code 10112.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"Resume requested.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotRunStatusResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v3/bots/runs/{task_id}/cancel":{"post":{"tags":["V3 Bots"],"summary":"Cancel a bot run","description":"Requests cancellation of a running or paused bot run.","operationId":"cancelRun","parameters":[{"name":"task_id","in":"path","description":"Public run task identifier.","required":true,"schema":{"type":"string","minLength":1}},{"name":"biz_code","in":"query","description":"Optional cancellation business code. Uses the default user-cancel code when omitted.","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"400":{"description":"Run not found. Returns error code 10112.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"Run canceled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotRunStatusResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/workflow/run-task":{"post":{"tags":["api-v-2-workflow-controller"],"summary":"Start a new task execution","description":"Initiates a new task with specified parameters and returns the task identifier.","operationId":"runTask","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunWorkflowTaskRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TaskCreatedResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/workflow/run-task-by-template":{"post":{"tags":["api-v-2-workflow-controller"],"summary":"Start a new official template task execution","description":"Initiates a Workflow or Skill official template task with specified parameters and returns the task identifier.","operationId":"runTemplateTask","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunWorkflowTemplateTaskRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TaskCreatedResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/proxy/session/heartbeat":{"post":{"tags":["Proxy Session"],"summary":"Proxy session heartbeat","operationId":"heartbeat","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProxySessionHeartbeatRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataVoid"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/proxy/session/close":{"post":{"tags":["Proxy Session"],"summary":"Close proxy session","operationId":"close","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProxySessionCloseRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataVoid"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/human-assist/error-cli":{"post":{"tags":["CLI Human Assist"],"summary":"Report error and end human assist session (CLI)","description":"Reports an unrecoverable error from the CLI side (API key) and ends the session. Status becomes cli_error, distinct from normal CLI completion (cli_finished). Destroys zlink ticket. Idempotent errors: already cli_error, cli_finished, expired, or finished via viewer.","operationId":"errorCli","parameters":[{"name":"uuid","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataHumanAssistSessionView"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/human-assist/create":{"post":{"tags":["CLI Human Assist"],"summary":"Create human assist session","description":"Creates a human assist session via cloud zlink resource. Optional body: objective, page, grubgemy; os_type/os_arch for client platform (same as browser relay) to resolve ffmpeg_download_url / ffmpeg_version from published packages; gateway selects a configured zlink gateway item from /v2/human-assist/zlink-gateways.","operationId":"create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HumanAssistSessionCreateRequest"}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataHumanAssistSessionView"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/human-assist/complete-cli":{"post":{"tags":["CLI Human Assist"],"summary":"Complete human assist session (CLI)","description":"Ends the session from the CLI side (API key). Status becomes cli_finished, distinct from viewer JWT completion (finished). Destroys zlink ticket. Idempotent errors: already cli_finished, expired, or finished via viewer.","operationId":"completeCli","parameters":[{"name":"uuid","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataHumanAssistSessionView"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/cli/tracking":{"post":{"tags":["CLI Authenticated"],"summary":"Submit CLI tracking event (authenticated)","description":"Submit a tracking/analytics event with API key authentication.","operationId":"submitTracking","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliTrackingReq"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataVoid"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/cli/tracking/batch":{"post":{"tags":["CLI Authenticated"],"summary":"Batch submit CLI tracking events (authenticated)","description":"Submit multiple tracking/analytics events with API key authentication.","operationId":"submitBatchTracking","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliTrackingBatchReq"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataVoid"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/cli/log/upload-url":{"post":{"tags":["CLI Authenticated"],"summary":"Get presigned URL for CLI log upload (authenticated)","description":"Returns an S3 presigned upload URL for log file.","operationId":"uploadLog","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliLogReq"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataS3PresignedUrlDto"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/cli/feedback":{"post":{"tags":["CLI Authenticated"],"summary":"Submit CLI feedback (authenticated)","description":"Submit feedback with API key authentication. Company ID is resolved automatically.","operationId":"submitFeedback","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliFeedbackReq"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataVoid"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/browser":{"get":{"tags":["api-browser-controller"],"summary":"List browsers","description":"Retrieves a paginated list of browser instances","operationId":"listBrowsers","parameters":[{"name":"page","in":"query","description":"Page number","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"limit","in":"query","description":"Items per page","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"request_id","in":"query","description":"Access grant request ID for querying purchased browsers","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","description":"Browser status: active, grace-period, expired","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataBrowserListResponse"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["api-browser-controller"],"summary":"Create a new browser instance","description":"Creates a new browser instance with specified configuration","operationId":"createBrowser","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBrowserRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataBrowserItem"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/browser/{id}/start-config":{"post":{"tags":["api-browser-controller"],"summary":"Get start config for browser launch","description":"Returns encrypted configuration and version info required to launch browser/gateway","operationId":"getStartConfig","parameters":[{"name":"id","in":"path","description":"Browser ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowserStartConfigRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataBrowserStartConfigResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/browser/{id}/relay":{"post":{"tags":["api-browser-controller"],"summary":"open a new browser relay","description":"open a new browser relay instance configuration","operationId":"openRelayBrowser","parameters":[{"name":"id","in":"path","description":"Browser ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBrowserRelayRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataCreateBrowserRelayResponse"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["api-browser-controller"],"summary":"close browser relay","description":"close browser relay line","operationId":"closeRelayBrowser","parameters":[{"name":"id","in":"path","description":"Browser ID","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataVoid"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/browser/{id}/refresh-fingerprint":{"post":{"tags":["api-browser-controller"],"summary":"Refresh browser fingerprint","description":"Initiates a refresh of the browser fingerprint","operationId":"refreshFingerprint","parameters":[{"name":"id","in":"path","description":"Browser ID","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataVoid"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/browser/purchase/precheck":{"post":{"tags":["api-browser-controller"],"summary":"Precheck browser purchase","description":"Checks whether the requested purchase quantity can be covered by free quota or credits","operationId":"precheckPurchase","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowserPurchasePrecheckRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataBrowserPurchasePrecheckResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/browser/gateway/config":{"post":{"tags":["api-browser-controller"],"summary":"Get gateway configuration","description":"Returns encrypted gateway payload, version info, and proxy reuse settings","operationId":"fetchGatewayConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowserGatewayConfigRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataBrowserGatewayConfigResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/browser/captcha-solve":{"post":{"tags":["api-browser-controller"],"summary":"Solve captcha","description":"Forwards captcha solve request to CLI service; captcha provider config is injected from server-side settings","operationId":"captchaSolve","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataMapStringObject"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/auth/access-grants/static-proxy":{"post":{"tags":["api-access-grant-controller"],"summary":"Create static proxy access grant","operationId":"createStaticProxyAccessGrant","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataAccessGrantResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/auth/access-grants/browser/renewal":{"post":{"tags":["api-access-grant-controller"],"summary":"Renewal browser access grant","operationId":"createBrowserRenewalAccessGrant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowserAccessGrantRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataAccessGrantResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/auth/access-grants/browser/purchase":{"post":{"tags":["api-access-grant-controller"],"summary":"Purchase browser access grant","operationId":"createBrowserPurchaseAccessGrant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowserPurchaseAccessGrantRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataAccessGrantResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/auth/access-grants/browser/delete":{"post":{"tags":["api-access-grant-controller"],"summary":"Delete browser access grant","operationId":"createBrowserDeleteAccessGrant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowserAccessGrantRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataAccessGrantResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/open/cli/tracking":{"post":{"tags":["CLI Public"],"summary":"Submit CLI tracking event (public)","description":"Submit a tracking/analytics event. Requires HMAC-SHA256 signature.","operationId":"submitTracking_1","parameters":[{"name":"X-Cli-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-Cli-Timestamp","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliTrackingReq"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataVoid"}}}}}}},"/open/cli/tracking/batch":{"post":{"tags":["CLI Public"],"summary":"Batch submit CLI tracking events (public)","description":"Submit multiple tracking/analytics events. Requires HMAC-SHA256 signature.","operationId":"submitBatchTracking_1","parameters":[{"name":"X-Cli-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-Cli-Timestamp","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliTrackingBatchReq"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataVoid"}}}}}}},"/open/cli/packages":{"post":{"tags":["CLI Public"],"summary":"Batch query package download URLs (public)","description":"Query download URLs for multiple package types (kernel, proxy, lib, guide) in one request.","operationId":"getPackages","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliPackageBatchQuery"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataListCliPackageQueryResult"}}}}}}},"/open/cli/log/upload-url":{"post":{"tags":["CLI Public"],"summary":"Get presigned URL for CLI log upload (public)","description":"Returns an S3 presigned upload URL. Requires HMAC-SHA256 signature.","operationId":"uploadLog_1","parameters":[{"name":"X-Cli-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-Cli-Timestamp","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliLogReq"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataS3PresignedUrlDto"}}}}}}},"/open/cli/feedback":{"post":{"tags":["CLI Public"],"summary":"Submit CLI feedback (public)","description":"Submit feedback without API key. Requires HMAC-SHA256 signature in X-Cli-Signature header and timestamp in X-Cli-Timestamp header.","operationId":"submitFeedback_1","parameters":[{"name":"X-Cli-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-Cli-Timestamp","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CliFeedbackReq"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataVoid"}}}}}}},"/open/cli/apikey-session/url":{"post":{"tags":["CLI API Key"],"summary":"Create CLI session","description":"Create a new CLI session using the machine ID and return a browser URL for the user to complete login or registration.","operationId":"createSession","parameters":[{"name":"machine_id","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataCliApiKeySessionView"}}}}}}},"/open/browser/start-config":{"post":{"tags":["Browser Public"],"summary":"Get browser start config (public)","description":"Returns kernel, gateway and FRP download URLs and versions for the specified OS platform.","operationId":"getStartConfig_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenBrowserStartConfigRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataOpenBrowserStartConfigResponse"}}}}}}},"/v3/bots":{"get":{"tags":["V3 Bots"],"summary":"List runnable bots","description":"Returns a paginated list of published Workflow and Agent bots available to the current company.","operationId":"pageBots","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1,"minimum":1}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20,"maximum":100,"minimum":1}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"Bots returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotPageResponseBotSummaryResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v3/bots/{bot_id}":{"get":{"tags":["V3 Bots"],"summary":"Query a bot","description":"Returns the bot metadata together with input_schema and output_schema. Unpublished bots remain readable for V2 compatibility and return published_at=null with input_schema=null and output_schema=null. output_schema is null when no authoritative response schema is available.","operationId":"queryBot","parameters":[{"name":"bot_id","in":"path","description":"Public bot identifier.","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"400":{"description":"Bot not found. Returns error code 10111 (Bot does not exist).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"Bot returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotDetailResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v3/bots/templates":{"get":{"tags":["V3 Bots"],"summary":"List official templates","description":"Returns published official Workflow and Agent templates with bot_type.","operationId":"pageTemplates","parameters":[{"name":"keyword","in":"query","description":"Optional case-insensitive template name keyword.","required":false,"schema":{"type":"string","maxLength":200,"minLength":0}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1,"minimum":1}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10,"maximum":500,"minimum":1}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"Official templates returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotPageResponseBotTemplateSummaryResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v3/bots/templates/{template_id}":{"get":{"tags":["V3 Bots"],"summary":"Query an official template","description":"Returns a published official Workflow or Agent template and its run input schema.","operationId":"queryTemplate","parameters":[{"name":"template_id","in":"path","description":"Public official template identifier.","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"400":{"description":"Bot template not found. Returns error code 10110.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"Official template returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotTemplateDetailResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v3/bots/runs":{"get":{"tags":["V3 Bots"],"summary":"List bot runs","description":"Returns run history for the current company. Large output, file, and step data is excluded; live_url_info is returned when available.","operationId":"pageRuns","parameters":[{"name":"bot_id","in":"query","description":"Optional public bot identifier filter.","required":false,"schema":{"type":"string"}},{"name":"bot_name","in":"query","description":"Optional bot name keyword (fuzzy match, contains).","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","description":"Optional public run status filter.","required":false,"schema":{"type":"string","enum":["created","running","finished","canceled","pausing","paused","failed"],"pattern":"created|running|finished|canceled|pausing|paused|failed"}},{"name":"created_at_from","in":"query","description":"Inclusive run creation lower bound in ISO-8601 format.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"created_at_to","in":"query","description":"Inclusive run creation upper bound in ISO-8601 format.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1,"minimum":1}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20,"maximum":100,"minimum":1}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"Runs returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotPageResponseBotRunSummaryResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v3/bots/runs/{task_id}":{"get":{"tags":["V3 Bots"],"summary":"Query a bot run","description":"Returns the fixed public run detail contract. Workflow-only fields such as steps are omitted when unavailable; use the dedicated status endpoint for lightweight polling.","operationId":"queryRun","parameters":[{"name":"task_id","in":"path","description":"Public run task identifier.","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"400":{"description":"Run not found. Returns error code 10112.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"Run returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotRunDetailResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v3/bots/runs/{task_id}/status":{"get":{"tags":["V3 Bots"],"summary":"Query bot run status","description":"Returns only the current public status for lightweight polling.","operationId":"queryRunStatus","parameters":[{"name":"task_id","in":"path","description":"Public run task identifier.","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"400":{"description":"Run not found. Returns error code 10112.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"Run status returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotRunStatusResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v3/bots/regions":{"get":{"tags":["V3 Bots"],"summary":"List supported proxy regions","description":"Returns the proxy regions available to Workflow runs for the current API caller.","operationId":"listRegions","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"Proxy regions returned.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BotRegionResponse"}}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/workflow/list-workflows":{"get":{"tags":["api-v-2-workflow-controller"],"summary":"Get a list of workflows","description":"Retrieve list of workflows.","operationId":"getWorkflowList","parameters":[{"name":"page","in":"query","description":"Page number to retrieve. Minimum value is 1.","required":false,"schema":{"type":"integer","minimum":1}},{"name":"limit","in":"query","description":"Number of workflow per page. Maximum value is 500.","required":false,"schema":{"type":"integer","maximum":500,"minimum":1}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageRespApiWorkflowDto"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/workflow/list-tasks":{"get":{"tags":["api-v-2-workflow-controller"],"summary":"Get a list of tasks","description":"Retrieve paginated list of tasks with optional status filtering.","operationId":"pageTasks","parameters":[{"name":"status","in":"query","description":"Filter tasks by status. Valid values: created, running, finished, stopped, paused, failed","required":false,"schema":{"type":"string","description":"Enumeration of possible task states.\n\n- created: Task is initialized but not yet started\n- running: Task is currently executing\n- finished: Task has completed successfully\n- stopped: Task was manually stopped\n- paused: Task execution is temporarily paused\n- failed: Task encountered an error and could not complete","enum":["created","running","finished","canceled","pausing","paused","failed","unknown"]}},{"name":"page","in":"query","description":"Page number to retrieve. Minimum value is 1.","required":false,"schema":{"type":"integer","minimum":1}},{"name":"limit","in":"query","description":"Number of tasks per page. Maximum value is 500.","required":false,"schema":{"type":"integer","maximum":500,"minimum":1}},{"name":"workflow_id","in":"query","description":"Workflow Id","required":false,"schema":{"type":"string"}},{"name":"created_at_from","in":"query","description":"Filter tasks created after this time (ISO 8601, e.g. 2024-01-01T00:00:00Z)","required":false,"schema":{"type":"string"}},{"name":"created_at_to","in":"query","description":"Filter tasks created before this time (ISO 8601, e.g. 2024-12-31T23:59:59Z)","required":false,"schema":{"type":"string"}},{"name":"workflow_name","in":"query","description":"Workflow name keyword (fuzzy match, contains)","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageRespWorkflowTaskSimpleResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/workflow/list-official-workflow-templates":{"get":{"tags":["api-v-2-workflow-controller"],"summary":"Get official templates","description":"Get official Workflow and Skill templates","operationId":"getWorkflowTemplates","parameters":[{"name":"keyword","in":"query","description":"Search keyword","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number to retrieve. Minimum value is 1.","required":false,"schema":{"type":"integer","minimum":1}},{"name":"limit","in":"query","description":"Number of tasks per page. Maximum value is 500.","required":false,"schema":{"type":"integer","maximum":500,"minimum":1}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageRespWorkflowTemplateDto"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/workflow/get-workflow":{"get":{"tags":["api-v-2-workflow-controller"],"summary":"Get workflow","description":"Get workflow","operationId":"getWorkflowConfig","parameters":[{"name":"workflow_id","in":"query","description":"Workflow Id","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiWorkflowConfigDto"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/workflow/get-task":{"get":{"tags":["api-v-2-workflow-controller"],"summary":"Get Task","description":"Returns comprehensive information about a task, including its current status, steps completed, output (if finished), and other metadata.","operationId":"getTask","parameters":[{"name":"task_id","in":"query","description":"Task id from run-task","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WorkflowTaskResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/workflow/get-task-status":{"get":{"tags":["api-v-2-workflow-controller"],"summary":"Get Task Status","description":"Returns just the current status of a task (created, running, finished, stopped, or paused).\\nMore lightweight than the full task details endpoint.","operationId":"getTaskStatus","parameters":[{"name":"task_id","in":"query","description":"Task id from run-task","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TaskStatusResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/workflow/get-region-list":{"get":{"tags":["api-v-2-workflow-controller"],"summary":"Get support region list info","description":"Get support region list info","operationId":"getRegionList","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SysRegionSimpleView"}}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/workflow/get-official-workflow-template":{"get":{"tags":["api-v-2-workflow-controller"],"summary":"Get official template","description":"Get official Workflow or Skill template configuration","operationId":"getWorkflowTemplateConfig","parameters":[{"name":"workflow_template_id","in":"query","description":"Workflow Template Id","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ApiWorkflowTemplateConfigDto"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/static-proxy":{"get":{"tags":["api-static-proxy-controller"],"summary":"List static proxies","description":"Returns paginated static proxies owned by current company","operationId":"queryPage","parameters":[{"name":"page","in":"query","description":"Page number","required":false,"schema":{"type":"integer","format":"int32","default":1,"minimum":1}},{"name":"limit","in":"query","description":"Items per page","required":false,"schema":{"type":"integer","format":"int32","default":20,"maximum":200,"minimum":1}},{"name":"request_id","in":"query","description":"Access grant request ID for querying purchased static proxies","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataPageResponseStaticProxyView"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/proxy/session/pause-status":{"get":{"tags":["Proxy Session"],"summary":"查询代理会话是否暂停","description":"sessionId 为空时查询动态代理积分暂停状态；sessionId 不为空时查询静态代理会话是否因代理回收进入停止中","operationId":"pauseStatus","parameters":[{"name":"sessionId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataBoolean"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/proxy/line":{"get":{"tags":["api-proxy-line-controller"],"summary":"Query browser proxy line","operationId":"queryLine","parameters":[{"name":"browser_id","in":"query","required":true,"schema":{"type":"string","minLength":1}},{"name":"domain","in":"query","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataBrowserProxyLineResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/human-assist/zlink-gateways":{"get":{"tags":["CLI Human Assist"],"summary":"Get zlink gateway list","description":"Returns selectable zlink gateway items from server configuration.","operationId":"getZlinkGateways","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataListZlinkGatewayItem"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/human-assist/status":{"get":{"tags":["CLI Human Assist"],"summary":"Get human assist session status","description":"Queries session status by uuid. Returns 404 if uuid does not belong to the authenticated company.","operationId":"status","parameters":[{"name":"uuid","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataHumanAssistSessionView"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/credit/balance":{"get":{"tags":["api-credit-controller"],"summary":"Query company credit balance","description":"Returns the total of permanent and current-cycle credits for the company of the current API key.","operationId":"queryCreditBalance","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataLong"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/browser/renewal/result":{"get":{"tags":["api-browser-controller"],"summary":"Query browser renewal result","description":"Retrieves browser renewal operation status by access grant request ID","operationId":"queryRenewalResult","parameters":[{"name":"request_id","in":"query","description":"Access grant request ID for querying renewed browsers","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataListBrowserEnvOperationStatusView"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/browser/env-token":{"get":{"tags":["api-browser-controller"],"summary":"Get browser environment token","description":"Retrieves an access token for the browser environment service","operationId":"getEnvToken","parameters":[{"name":"os_type","in":"query","required":false,"schema":{"type":"string"}},{"name":"os_arch","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataBrowserEnvTokenResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/browser/delete/result":{"get":{"tags":["api-browser-controller"],"summary":"Query browser delete result","description":"Retrieves browser delete operation status by access grant request ID","operationId":"queryDeleteResult","parameters":[{"name":"request_id","in":"query","description":"Access grant request ID for querying deleted browsers","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataListBrowserEnvOperationStatusView"}}}}},"security":[{"HTTPBearer":[]}]}},"/v2/api-key/info":{"get":{"tags":["api-v-2-api-key-controller"],"summary":"Get current API Key info","description":"Returns the name and execution mode of the API Key used by the current request.","operationId":"info","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataApiKeyInfoResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/open/cli/version":{"get":{"tags":["CLI Public"],"summary":"Query CLI version info (public)","description":"Returns minimum required version and latest version for CLI auto-update check. No authentication required.","operationId":"getVersion","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataCliVersionResponse"}}}}}}},"/open/cli/guide-package":{"get":{"tags":["CLI Public"],"summary":"Query latest guide package by cli_version prefix (public)","description":"Matches first 3 parts of cli_version and returns the published guide package with the max 4th build number. Returns null when not found.","operationId":"getGuidePackage","parameters":[{"name":"cli_version","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataGuidePackageQueryResponse"}}}}}}},"/open/cli/apikey-session/status":{"get":{"tags":["CLI API Key"],"summary":"Get CLI session status","description":"Poll this endpoint until status is 'completed', then read the api_key field.","operationId":"getStatus","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataCliApiKeySessionStatusView"}}}}}}},"/open/browser/cdp-url":{"get":{"tags":["Browser Public"],"summary":"Get remote browser CDP URL","description":"Returns the remote CDP URL for a Skill Build browser ID. The browser_id format is skillbuild$<runtimeId>.","operationId":"getCdpUrl","parameters":[{"name":"browser_id","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseData"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResponseDataOpenBrowserCdpUrlResponse"}}}}}}}},"components":{"schemas":{"ResponseData":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"type":"object","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"StaticProxyUpdateNameRequest":{"type":"object","description":"静态代理修改备注名请求","properties":{"name":{"type":"string","description":"新备注名","maxLength":100,"minLength":0}}},"ResponseDataVoid":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"type":"object","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"UpdateBrowserRequest":{"type":"object","description":"Update browser request","properties":{"name":{"type":"string","description":"Browser name"},"description":{"type":"string","description":"Description"},"mode":{"type":"string","description":"Browser mode"},"auto_renew":{"type":"boolean","description":"Whether auto renewal is enabled"},"proxy_type":{"type":"integer","format":"int32","description":"Proxy type: 0=BA proxy, 1=custom proxy, 2=no proxy"},"proxy_region":{"type":"string","description":"Proxy region code (e.g. US, EU, JP)"},"proxy_protocol":{"type":"string","description":"Custom proxy protocol: http, https, socks5"},"proxy_host":{"type":"string","description":"Custom proxy host"},"proxy_port":{"type":"integer","format":"int32","description":"Custom proxy port"},"proxy_username":{"type":"string","description":"Custom proxy username"},"proxy_password":{"type":"string","description":"Custom proxy password"},"static_proxy_id":{"type":"integer","format":"int64","description":"Static proxy ID (required when proxy_type=3)"}}},"BrowserItem":{"type":"object","description":"Browser item in list","properties":{"browser_id":{"type":"string","description":"Browser ID"},"name":{"type":"string","description":"Browser name"},"description":{"type":"string","description":"Description"},"status":{"type":"integer","format":"int32","description":"Status value: 1=ACTIVE, 2=GRACE_PERIOD, 3=EXPIRED"},"create_date":{"type":"string","format":"date-time","description":"Created time"},"valid_time_start":{"type":"string","format":"date-time","description":"Current validity start time"},"valid_time_end":{"type":"string","format":"date-time","description":"Current validity end time"},"next_billing_date":{"type":"string","format":"date-time","description":"Next billing time"},"auto_renew":{"type":"boolean","description":"Whether auto renewal is enabled"},"mode":{"type":"string","description":"Browser mode"},"proxy_type":{"type":"integer","format":"int32","description":"Proxy type"},"proxy_region":{"type":"string","description":"Proxy region"},"proxy_protocol":{"type":"string","description":"Proxy protocol"},"proxy_host":{"type":"string","description":"Proxy host"},"proxy_port":{"type":"integer","format":"int32","description":"Proxy port"},"proxy_username":{"type":"string","description":"Proxy username"},"proxy_password":{"type":"string","description":"Base64 encoded proxy password"},"static_proxy_id":{"type":"integer","format":"int64","description":"Static proxy ID"}}},"ResponseDataBrowserItem":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/BrowserItem","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"BotRunCreateRequest":{"type":"object","description":"Request to create a run for a Workflow or Agent bot.","properties":{"input":{"type":"object","additionalProperties":{"type":"object"},"description":"Run input object. Its shape must conform to the bot input_schema; use an empty object when no inputs are required."},"callback_url":{"type":"string","format":"uri","description":"HTTP or HTTPS endpoint notified when the run reaches a terminal status. Private and local addresses are not allowed.","maxLength":2048,"minLength":0},"status_change_callback_url":{"type":"string","format":"uri","description":"HTTP or HTTPS endpoint notified after each public run status change. Private and local addresses are not allowed.","maxLength":2048,"minLength":0}},"required":["input"]},"BotRunCreatedResponse":{"type":"object","description":"Accepted bot run.","properties":{"status":{"type":"string","description":"Initial public run status.","enum":["created","running","finished","canceled","pausing","paused","failed"]},"task_id":{"type":"string","description":"Public run task identifier."}},"required":["status","task_id"]},"BotTemplateRunCreateRequest":{"type":"object","description":"Request to create a Workflow or Agent run from an official template.","properties":{"input":{"type":"object","additionalProperties":{"type":"object"},"description":"Run input object. Its shape must conform to the template input_schema; use an empty object when no inputs are required."},"proxy_region":{"type":"string","description":"Optional proxy region code returned by the regions endpoint.","example":"US"},"callback_url":{"type":"string","format":"uri","description":"HTTP or HTTPS endpoint notified when the run reaches a terminal status. Private and local addresses are not allowed.","maxLength":2048,"minLength":0},"status_change_callback_url":{"type":"string","format":"uri","description":"HTTP or HTTPS endpoint notified after each public run status change. Private and local addresses are not allowed.","maxLength":2048,"minLength":0}},"required":["input"]},"BotRunStatusResponse":{"type":"object","description":"Lightweight current bot run status.","properties":{"status":{"type":"string","description":"Current public run status.","enum":["created","running","finished","canceled","pausing","paused","failed"]},"task_id":{"type":"string","description":"Public run task identifier."},"updated_at":{"type":"string","format":"date-time","description":"Time when the task record was last updated."}},"required":["status","task_id","updated_at"]},"InputParamItemDto":{"type":"object","description":"Input Param Item","properties":{"name":{"type":"string","description":"Name"},"value":{"type":"string","description":"Value"}}},"RunWorkflowTaskRequest":{"type":"object","description":"Request object to initiate a new task execution.","properties":{"workflow_id":{"type":"string","description":"Which workflow you need to run.","title":"Workflow-id"},"input_parameters":{"type":"array","description":"Input parameters for the workflow","items":{"$ref":"#/components/schemas/InputParamItemDto"},"title":"Input Parameters"},"save_browser_data":{"type":"boolean","description":"If set to true, a profile_id will be returned upon successful task initiation. This ID can be used to reuse browser data generated during this task.","title":"Save Browser Data"},"profile_id":{"type":"string","description":"Use a previously returned profile_id to reuse browser data (e.g., cookies) from an earlier task.","title":"Browser Profile Id"},"open_incognito_mode":{"type":"boolean","deprecated":true,"title":"Open Incognito Mode"},"callback_url":{"type":"string","description":"Optional. HTTP/HTTPS URL to receive task completion notifications. The system will send a POST request with task results when the task finishes, fails, or is canceled. Maximum length: 2048 characters. Cannot point to private/local addresses.","example":"https://your-server.com/webhooks/workflow-callback","maxLength":2048,"minLength":0,"title":"Callback URL"},"status_change_callback_url":{"type":"string","description":"Optional. HTTP/HTTPS URL to receive task status change notifications. The system will send a POST request with task results when the task's status change, such as running, finished, canceled, paused, failed. Maximum length: 2048 characters. Cannot point to private/local addresses.","example":"https://your-server.com/webhooks/task-status-change-callback","maxLength":2048,"minLength":0,"title":"Status Change Callback URL"}}},"TaskCreatedResponse":{"type":"object","description":"Response containing details of the created task.","properties":{"id":{"type":"string","description":"The unique task_id for this task, which can be used to track its progress or result."},"profile_id":{"type":"string","description":"The profile_id will only be returned if save_browser_data is set to true, enabling reuse of browser data generated during this task."},"app_type":{"type":"integer","format":"int32","description":"App type; 5=SkillFlow, 6=official Skill template. Absent for workflow tasks."},"run_channel":{"type":"integer","format":"int32","description":"Run channel; present for SkillFlow tasks."},"skill_version_id":{"type":"integer","format":"int64","description":"Locked SkillVersion id; only for SkillFlow tasks(appType=5 or 6)."},"skill_version":{"type":"integer","format":"int32","description":"Locked SkillVersion number; only for SkillFlow tasks(appType=5 or 6)."},"source_output_id":{"type":"integer","format":"int64","description":"Immutable SkillBuildOutput id used by this SkillFlow task."}},"required":["id"]},"RunWorkflowTemplateTaskRequest":{"type":"object","description":"Request object to initiate a Workflow or Skill official template task execution.","properties":{"proxyRegion":{"type":"string","description":"Optional. Region where the proxy should be used.  default US","example":"US","title":"Proxy Region"},"workflow_template_id":{"type":"string","description":"The official template to run.","title":"Workflow-template-id"},"input_parameters":{"type":"array","description":"Input parameters for the workflow","items":{"$ref":"#/components/schemas/InputParamItemDto"},"title":"Input Parameters"},"callback_url":{"type":"string","description":"Optional. HTTP/HTTPS URL to receive task completion notifications. The system will send a POST request with task results when the task finishes, fails, or is canceled. Maximum length: 2048 characters. Cannot point to private/local addresses.","example":"https://your-server.com/webhooks/workflow-callback","maxLength":2048,"minLength":0,"title":"Callback URL"},"status_change_callback_url":{"type":"string","description":"Optional. HTTP/HTTPS URL to receive task status change notifications. The system will send a POST request with task results when the task's status change, such as running, finished, canceled, paused, failed. Maximum length: 2048 characters. Cannot point to private/local addresses.","example":"https://your-server.com/webhooks/task-status-change-callback","maxLength":2048,"minLength":0,"title":"Status Change Callback URL"}}},"ProxySessionHeartbeatRequest":{"type":"object","properties":{"sessionId":{"type":"integer","format":"int64"}},"required":["sessionId"]},"ProxySessionCloseRequest":{"type":"object","properties":{"sessionId":{"type":"integer","format":"int64"}},"required":["sessionId"]},"HumanAssistSessionView":{"type":"object","description":"CLI human assist session info","properties":{"uuid":{"type":"string","description":"Unique identifier for this session.","title":"UUID"},"host":{"type":"string","description":"Remote host address.","title":"Host"},"hosts":{"type":"array","description":"Available remote host addresses.","items":{"type":"string"},"title":"Hosts"},"port":{"type":"integer","format":"int32","description":"Remote port.","title":"Port"},"view_url":{"type":"string","description":"URL to open in a browser for the human assist session.","title":"View URL"},"expires_at":{"type":"string","format":"date-time","description":"Session expiration time (UTC).","title":"Expires At"},"status":{"type":"string","description":"Session status: created / expired.","title":"Status"},"objective":{"type":"string","description":"What the user needs to accomplish.","title":"Objective"},"page":{"type":"string","description":"Current page URL for context.","title":"Page URL"},"ffmpeg_download_url":{"type":"string","description":"Published FFmpeg zip URL for client os_type/os_arch when provided at create.","title":"FFmpeg download URL"},"ffmpeg_version":{"type":"string","description":"Required FFmpeg package version string.","title":"FFmpeg version"}}},"ResponseDataHumanAssistSessionView":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/HumanAssistSessionView","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"HumanAssistSessionCreateRequest":{"type":"object","description":"CLI human assist session create payload","properties":{"objective":{"type":"string","description":"What the user needs to accomplish.","title":"Objective"},"page":{"type":"string","description":"Current page URL for context.","title":"Page URL"},"grubgemy":{"type":"string","description":"zlink screen region id; omit to use server default (com.agentbase.app.human-assist-grubgemy).","title":"Grubgemy"},"os_type":{"type":"string","description":"Client OS for FFmpeg package resolution (same as browser relay / start-config). Optional.","title":"OS type"},"os_arch":{"type":"string","description":"Client CPU architecture. Optional.","title":"OS arch"},"uuid":{"type":"string","description":"If provided, the server will try to renew this session instead of creating a new one.","title":"Session UUID"},"gateway":{"$ref":"#/components/schemas/ZlinkGatewayItem","description":"Optional zlink gateway item selected from /v2/human-assist/zlink-gateways.","title":"Zlink gateway"}}},"ZlinkGatewayItem":{"type":"object","description":"zlink gateway item","properties":{"remote_addr":{"type":"string","description":"zlink remote address, format: host:port.","title":"Remote addr"},"normal_addr":{"type":"string","description":"zlink normal address, format: host:port.","title":"Normal addr"}}},"CliTrackingReq":{"type":"object","description":"CLI 埋点上报请求（客户端入参）","properties":{"machine_id":{"type":"string","description":"Machine ID","minLength":1},"os_type":{"type":"string","description":"OS type: windows / mac / linux"},"os_arch":{"type":"string","description":"OS architecture: x64 / arm64"},"cli_version":{"type":"string","description":"CLI version"},"event_type":{"type":"string","description":"埋点类型","minLength":1},"event_data":{"type":"string","description":"埋点数据（JSON）"}}},"CliTrackingBatchReq":{"type":"object","description":"CLI batch tracking event request","properties":{"items":{"type":"array","description":"List of tracking events","items":{"$ref":"#/components/schemas/Item"},"minItems":1},"machine_id":{"type":"string","description":"Machine ID","minLength":1},"os_type":{"type":"string","description":"OS type: windows / mac / linux"},"os_arch":{"type":"string","description":"OS architecture: x64 / arm64"},"cli_version":{"type":"string","description":"CLI version"}}},"Item":{"type":"object","description":"Single tracking event item","properties":{"event_type":{"type":"string","description":"Event type","minLength":1},"event_data":{"type":"string","description":"Event data (JSON)"},"event_ts":{"type":"integer","format":"int64","description":"Event timestamp in milliseconds"}}},"CliLogReq":{"type":"object","description":"CLI 日志上传请求（客户端入参）","properties":{"machine_id":{"type":"string","description":"Machine ID","minLength":1},"os_type":{"type":"string","description":"OS type: windows / mac / linux"},"os_arch":{"type":"string","description":"OS architecture: x64 / arm64"},"cli_version":{"type":"string","description":"CLI version"}}},"ResponseDataS3PresignedUrlDto":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/S3PresignedUrlDto","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"S3PresignedUrlDto":{"type":"object","description":"s3预先签名url对象","properties":{"key":{"type":"string","description":"s3的key"},"url":{"type":"string","description":"s3的预先签名url"}}},"CliFeedbackReq":{"type":"object","description":"CLI feedback 提交请求（客户端入参）","properties":{"content":{"type":"string","description":"Feedback content (max 5000 chars)","maxLength":5000,"minLength":0},"machine_id":{"type":"string","description":"Machine ID","minLength":1},"os_type":{"type":"string","description":"OS type: windows / mac / linux"},"os_arch":{"type":"string","description":"OS architecture: x64 / arm64"},"cli_version":{"type":"string","description":"CLI version"}}},"CreateBrowserRequest":{"type":"object","description":"Create browser request","properties":{"name":{"type":"string","description":"Browser name"},"mode":{"type":"string","description":"Browser mode (normal/private)"},"description":{"type":"string","description":"Description"},"advanced":{"type":"object","additionalProperties":{"type":"object"},"description":"Advanced parameters"},"os_type":{"type":"string"},"os_arch":{"type":"string"},"proxy_type":{"type":"integer","format":"int32","description":"Proxy type: 0=BA proxy, 1=custom proxy"},"proxy_region":{"type":"string","description":"Proxy region code (e.g. US, EU, JP)"},"proxy_protocol":{"type":"string","description":"Custom proxy protocol: http, https, socks5"},"proxy_host":{"type":"string","description":"Custom proxy host"},"proxy_port":{"type":"integer","format":"int32","description":"Custom proxy port"},"proxy_username":{"type":"string","description":"Custom proxy username"},"proxy_password":{"type":"string","description":"Custom proxy password"},"static_proxy_id":{"type":"integer","format":"int64","description":"Static proxy ID (required when proxy_type=3)"}},"required":["mode","name"]},"BrowserStartConfigRequest":{"type":"object","description":"Browser start config request","properties":{"browser_id":{"type":"string","description":"Browser ID"},"machine_code":{"type":"string","description":"Machine code"},"os_type":{"type":"string","description":"Operating system type"},"os_arch":{"type":"string","description":"CPU architecture"},"client_runtime_version":{"type":"string","description":"Client runtime version"},"user_data_path":{"type":"string","description":"User data path"},"advanced":{"type":"object","additionalProperties":{"type":"object"},"description":"Advanced parameters"},"ipc":{"type":"object","additionalProperties":{"type":"object"},"description":"ipc parameters"},"browser":{"type":"object","additionalProperties":{"type":"object"},"description":"browser parameters"},"proxy":{"type":"object","additionalProperties":{"type":"object"},"description":"proxy parameters"},"raw":{"type":"object","additionalProperties":{"type":"object"},"description":"raw parameters"},"gateway_runtime_offer":{"type":"object","additionalProperties":{"type":"object"},"description":"Gateway runtime info"},"proxy_type":{"type":"integer","format":"int32","description":"Proxy type: 0=BA_PROXY, 1=CUSTOM_PROXY, 2=NO_PROXY (default), 3=STATIC_PROXY"},"proxy_region":{"type":"string","description":"Proxy region, required when proxy_type=0"},"static_proxy_id":{"type":"integer","format":"int64","description":"Static proxy ID, required when proxy_type=3"},"browser_use_type":{"type":"integer","format":"int32","description":"Browser use type: 0=camofox, 1=local_chrome, 2=chrome, 3=firefox"},"custom_proxy":{"$ref":"#/components/schemas/CustomProxyParams","description":"custom proxy params"}},"required":["browser_id","client_runtime_version","machine_code","os_arch","os_type","user_data_path"]},"CustomProxyParams":{"type":"object","description":"custom proxy params","properties":{"proxy_region":{"type":"string","description":"Proxy region code (e.g. US, EU, JP)"},"proxy_protocol":{"type":"string","description":"Custom proxy protocol: http, https, socks5"},"proxy_host":{"type":"string","description":"Custom proxy host"},"proxy_port":{"type":"integer","format":"int32","description":"Custom proxy port"},"proxy_username":{"type":"string","description":"Custom proxy username"},"proxy_password":{"type":"string","description":"Custom proxy password"}}},"BrowserStartConfigResponse":{"type":"object","description":"Browser start config response","properties":{"start_config_trace_id":{"type":"string","description":"Trace ID for correlating this start config with server logs"},"browser_id":{"type":"string","description":"Browser ID"},"kernel_version":{"type":"string","description":"Required kernel version"},"gateway_version":{"type":"string","description":"Required gateway version"},"encrypted_initjson":{"type":"string","description":"Encrypted init.json"},"encrypted_user_data_path":{"type":"string","description":"Encrypted user data path"},"encrypted_gateway_payload":{"type":"string","description":"Encrypted gateway payload"},"kernel_download_url":{"type":"string","description":"Kernel download URL"},"gateway_download_url":{"type":"string","description":"Gateway download URL"},"frp_download_url":{"type":"string","description":"FRP client download URL"},"frp_version":{"type":"string","description":"Required frp version"},"browser_app_version":{"type":"string","description":"Browser application version, e.g. 145.0.3800.97"},"proxy_type":{"type":"integer","format":"int32","description":"proxy type"},"session_id":{"type":"integer","format":"int64","description":"Proxy session ID (BA proxy or static proxy)"},"proxy_reuse_limit":{"type":"integer","format":"int32","description":"Maximum proxy reuse count (special browser only)"},"proxy_reuse_ttl_sec":{"type":"integer","format":"int32","description":"Maximum proxy reuse time in seconds (special browser only)"}}},"ResponseDataBrowserStartConfigResponse":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/BrowserStartConfigResponse","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"CreateBrowserRelayRequest":{"type":"object","description":"Create browser relay request","properties":{"port":{"type":"integer","format":"int32","description":"local port"},"os_type":{"type":"string","description":"Operating system type (for gateway/frp download URLs, same as start-config)"},"os_arch":{"type":"string","description":"CPU architecture (for gateway/frp download URLs, same as start-config)"},"gateway_runtime_offer":{"type":"object","additionalProperties":{"type":"object"},"description":"gateway runtime offer"}}},"CreateBrowserRelayResponse":{"type":"object","description":"Create browser relay info","properties":{"id":{"type":"integer","format":"int64","description":"relay record id"},"config":{"type":"string","description":"relay config"},"gateway":{"type":"string","description":"encrypted gateway config"},"gateway_download_url":{"type":"string","description":"Gateway download URL"},"gateway_version":{"type":"string","description":"Required gateway version"},"frp_download_url":{"type":"string","description":"FRP client download URL"},"frp_version":{"type":"string","description":"Required frp version"}}},"ResponseDataCreateBrowserRelayResponse":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/CreateBrowserRelayResponse","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"BrowserPurchasePrecheckRequest":{"type":"object","description":"Browser purchase precheck request","properties":{"quantity":{"type":"integer","format":"int32","description":"Number of browser environments to purchase","minimum":1}},"required":["quantity"]},"BrowserPurchasePrecheckResponse":{"type":"object","description":"Browser purchase precheck response","properties":{"can_purchase":{"type":"boolean","description":"Whether the current company can purchase the requested quantity"},"reason":{"type":"string","description":"Failure reason: FREE_QUOTA_INSUFFICIENT or CREDIT_INSUFFICIENT"},"current_use_free_quota_count":{"type":"integer","format":"int32","description":"Free quota count that would be consumed by this purchase"},"current_use_credits":{"type":"integer","format":"int64","description":"Credits that would be consumed by this purchase"},"free_quota_total":{"type":"integer","format":"int32","description":"Total free quota count in current billing cycle; null for unlimited companies"},"free_quota_used":{"type":"integer","format":"int64","description":"Used free quota count in current billing cycle; null for unlimited companies"},"free_quota_remaining":{"type":"integer","format":"int64","description":"Remaining free quota count before this purchase; null for unlimited companies"},"unit_price":{"type":"integer","format":"int64","description":"Unit price for newly purchased browser environments"},"credit_balance":{"type":"integer","format":"int64","description":"Current credit balance"},"free_layer":{"type":"boolean","description":"Whether the company currently uses the free layer"},"unlimited":{"type":"boolean","description":"Whether the company is unlimited and does not consume quota or credits"}}},"ResponseDataBrowserPurchasePrecheckResponse":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/BrowserPurchasePrecheckResponse","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"BrowserGatewayConfigRequest":{"type":"object","description":"Browser gateway config request","properties":{"os_type":{"type":"string","description":"Operating system type","minLength":1},"os_arch":{"type":"string","description":"os arch","minLength":1},"gateway_runtime_offer":{"type":"object","additionalProperties":{"type":"object"},"description":"Gateway runtime offer"}},"required":["os_arch","os_type"]},"BrowserGatewayConfigResponse":{"type":"object","description":"Browser gateway config response","properties":{"encrypted_gateway_payload":{"type":"string","description":"Encrypted gateway payload"},"gateway_version":{"type":"string","description":"Recommended gateway version"},"gateway_download_url":{"type":"string","description":"Gateway binary download URL"},"proxy_reuse_limit":{"type":"integer","format":"int32","description":"Maximum proxy reuse count"},"proxy_reuse_ttl_sec":{"type":"integer","format":"int32","description":"Maximum proxy reuse time in seconds"}}},"ResponseDataBrowserGatewayConfigResponse":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/BrowserGatewayConfigResponse","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"ResponseDataMapStringObject":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"type":"object","additionalProperties":{"type":"object"},"description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"AccessGrantResponse":{"type":"object","description":"Access grant response","properties":{"token":{"type":"string","description":"Temporary access grant token"},"url":{"type":"string","description":"Business redirect URL"},"expired_at":{"type":"integer","format":"int64","description":"Temporary access grant token expiration Unix epoch timestamp in milliseconds"},"request_id":{"type":"string","description":"request id to query execute result"}}},"ResponseDataAccessGrantResponse":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/AccessGrantResponse","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"BrowserAccessGrantRequest":{"type":"object","description":"Browser access grant request","properties":{"browser_ids":{"type":"array","description":"Target browser IDs","items":{"type":"integer","format":"int64"},"minItems":1},"ai_prompt":{"type":"string","description":"Original AI prompt shown on access grant page","maxLength":1000,"minLength":0}}},"BrowserPurchaseAccessGrantRequest":{"type":"object","description":"Browser purchase access grant request","properties":{"browsers":{"type":"array","description":"Browser create requests passed from CLI","items":{"$ref":"#/components/schemas/CreateBrowserRequest"},"minItems":1},"ai_prompt":{"type":"string","description":"Original AI prompt shown on access grant page","maxLength":1000,"minLength":0}},"required":["browsers"]},"CliPackageBatchQuery":{"type":"object","description":"批量查询包下载地址请求","properties":{"params":{"type":"array","description":"查询参数列表","items":{"$ref":"#/components/schemas/CliPackageQueryParam"},"minItems":1}}},"CliPackageQueryParam":{"type":"object","description":"批量查询包下载地址 - 单项参数","properties":{"type":{"type":"integer","format":"int32","description":"包类型: 1-内核; 2-代理程序; 3-lib包; 4-ffmpeg包; 5-guide包"},"os_type":{"type":"string","description":"OS type: windows / mac / linux"},"os_arch":{"type":"string","description":"OS architecture: x64 / arm64"},"cli_version":{"type":"string","description":"CLI version (type=4时必传)"}},"required":["type"]},"CliPackageQueryResult":{"type":"object","description":"批量查询包下载地址 - 单项结果","properties":{"url":{"type":"string","description":"包下载地址"},"os_type":{"type":"string","description":"OS type"},"os_arch":{"type":"string","description":"OS architecture"},"cli_version":{"type":"string","description":"版本号（参数原样返回）"},"app_version":{"type":"string","description":"版本号（实际程序版本号）"},"type":{"type":"integer","format":"int32","description":"包类型: 1-内核; 2-代理程序; 3-lib包; 4-ffmpeg包; 5-guide包"}}},"ResponseDataListCliPackageQueryResult":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"type":"array","description":"Response data","items":{"$ref":"#/components/schemas/CliPackageQueryResult"}},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"CliApiKeySessionView":{"type":"object","description":"CLI session info for obtaining API Key","properties":{"cli_session_token":{"type":"string","description":"Unique token identifying this CLI session.","title":"CLI Session Token"},"quick_register_url":{"type":"string","description":"URL for the user to open in a browser to complete login or registration.","title":"Quick Register URL"},"expired_at":{"type":"string","format":"date-time","description":"Session expiration time (UTC).","title":"Expired At"}}},"ResponseDataCliApiKeySessionView":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/CliApiKeySessionView","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"OpenBrowserStartConfigRequest":{"type":"object","description":"Open browser start config request","properties":{"os_type":{"type":"string","description":"OS type: windows / mac / linux","minLength":1},"os_arch":{"type":"string","description":"OS architecture: x64 / arm64","minLength":1},"browser_type":{"type":"string","description":"Browser type, default: chrome"},"store_data_path":{"type":"string","description":"Optional local store path; when set, returned as encrypted store_data_path in response"}}},"OpenBrowserStartConfigResponse":{"type":"object","description":"Open browser start config response","properties":{"kernel_download_url":{"type":"string","description":"Kernel download URL"},"kernel_version":{"type":"string","description":"Required kernel version"},"gateway_download_url":{"type":"string","description":"Gateway download URL"},"gateway_version":{"type":"string","description":"Required gateway version"},"frp_download_url":{"type":"string","description":"FRP client download URL"},"frp_version":{"type":"string","description":"Required frp version"},"store_data_path":{"type":"string","description":"Encrypted store path (only when requested in start-config body)"},"browser_app_version":{"type":"string","description":"Browser application version, e.g. 145.0.3800.97"}}},"ResponseDataOpenBrowserStartConfigResponse":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/OpenBrowserStartConfigResponse","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"BotPageResponseBotSummaryResponse":{"type":"object","description":"Paginated V3 Bots API response.","properties":{"items":{"type":"array","description":"Items in the current page.","items":{"$ref":"#/components/schemas/BotSummaryResponse"}},"page":{"type":"integer","format":"int32","description":"Current one-based page number."},"limit":{"type":"integer","format":"int32","description":"Maximum number of items in this page."},"total_count":{"type":"integer","format":"int64","description":"Total number of matching items."},"total_pages":{"type":"integer","format":"int32","description":"Total number of pages."}},"required":["items","limit","page","total_count","total_pages"]},"BotSummaryResponse":{"type":"object","description":"Bot summary returned by the V3 Bots API.","properties":{"name":{"type":"string","description":"Bot display name."},"description":{"type":"string","description":"Bot description for API consumers."},"bot_id":{"type":"string","description":"Public bot identifier."},"bot_type":{"type":"string","description":"Public bot type.","enum":["workflow","agent"]},"published_at":{"type":"string","format":"date-time","description":"Time when the currently runnable bot definition was published."}},"required":["bot_id","bot_type","name"]},"BotDetailResponse":{"type":"object","description":"Bot definition and its public input/output JSON schemas.","properties":{"name":{"type":"string","description":"Bot display name."},"description":{"type":"string","description":"Bot description for API consumers."},"bot_id":{"type":"string","description":"Public bot identifier."},"bot_type":{"type":"string","description":"Public bot type.","enum":["workflow","agent"]},"created_at":{"type":"string","format":"date-time","description":"Bot creation time."},"published_at":{"type":"string","format":"date-time","description":"Time when the bot definition was published; null when unpublished."},"input_schema":{"type":["object","null"],"additionalProperties":{"type":"object"},"description":"JSON Schema for the published input definition; null when unpublished."},"output_schema":{"type":["object","null"],"additionalProperties":{"type":"object"},"description":"JSON Schema describing the run result; null when no authoritative schema is available."}},"required":["bot_id","bot_type","created_at","input_schema","name","output_schema","published_at"]},"BotPageResponseBotTemplateSummaryResponse":{"type":"object","description":"Paginated V3 Bots API response.","properties":{"items":{"type":"array","description":"Items in the current page.","items":{"$ref":"#/components/schemas/BotTemplateSummaryResponse"}},"page":{"type":"integer","format":"int32","description":"Current one-based page number."},"limit":{"type":"integer","format":"int32","description":"Maximum number of items in this page."},"total_count":{"type":"integer","format":"int64","description":"Total number of matching items."},"total_pages":{"type":"integer","format":"int32","description":"Total number of pages."}},"required":["items","limit","page","total_count","total_pages"]},"BotTemplateSummaryResponse":{"type":"object","description":"Official Workflow or Agent template summary.","properties":{"name":{"type":"string","description":"Template display name."},"template_id":{"type":"string","description":"Public official template identifier."},"bot_type":{"type":"string","description":"Public template bot type.","enum":["workflow","agent"]},"recommend_desc":{"type":"string","description":"Short recommendation text shown to template consumers."},"detail_url":{"type":"string","format":"uri","description":"Public page containing additional template details."}},"required":["bot_type","name","template_id"]},"BotTemplateDetailResponse":{"type":"object","description":"Official Workflow or Agent template definition and its public run input schema.","properties":{"name":{"type":"string","description":"Template display name."},"description":{"type":"string","description":"Template description for API consumers."},"template_id":{"type":"string","description":"Public official template identifier."},"bot_type":{"type":"string","description":"Public template bot type.","enum":["workflow","agent"]},"created_at":{"type":"string","format":"date-time","description":"Template creation time."},"published_at":{"type":"string","format":"date-time","description":"Template publication time."},"input_schema":{"type":"object","additionalProperties":{"type":"object"},"description":"JSON Schema describing the input object accepted by the template run endpoint."},"recommend_desc":{"type":"string","description":"Short recommendation text shown to template consumers."},"detail_url":{"type":"string","format":"uri","description":"Public page containing additional template details."}},"required":["bot_type","input_schema","name","template_id"]},"BotPageResponseBotRunSummaryResponse":{"type":"object","description":"Paginated V3 Bots API response.","properties":{"items":{"type":"array","description":"Items in the current page.","items":{"$ref":"#/components/schemas/BotRunSummaryResponse"}},"page":{"type":"integer","format":"int32","description":"Current one-based page number."},"limit":{"type":"integer","format":"int32","description":"Maximum number of items in this page."},"total_count":{"type":"integer","format":"int64","description":"Total number of matching items."},"total_pages":{"type":"integer","format":"int32","description":"Total number of pages."}},"required":["items","limit","page","total_count","total_pages"]},"BotRunFailureInfoResponse":{"type":"object","description":"Task-record failure information for a failed bot run.","properties":{"code":{"type":"integer","format":"int32","description":"Task failure code recorded on the run."},"message":{"type":"string","description":"Failure message recorded on the run."}},"required":["code","message"]},"BotRunLiveUrlInfoResponse":{"type":"object","description":"Live browser view available while browser-based execution is running.","properties":{"width":{"type":"integer","format":"int32","description":"Live screen width in pixels."},"height":{"type":"integer","format":"int32","description":"Live screen height in pixels."},"live_url":{"type":"string","description":"Temporary URL that can be embedded in an iframe to view live execution."}},"required":["height","width"]},"BotRunSummaryResponse":{"type":"object","description":"Bot run list item. Normal runs expose bot_id/bot_name; official template runs do not expose source identifiers.","properties":{"status":{"type":"string","description":"Current public run status.","enum":["created","running","finished","canceled","pausing","paused","failed"]},"input":{"type":"object","additionalProperties":{"type":"object"},"description":"Input object accepted for this run."},"credit":{"type":"integer","format":"int64","description":"Credit cost of this run when available."},"task_id":{"type":"string","description":"Public run task identifier."},"bot_id":{"type":"string","description":"Public bot identifier used by a normal Bot run. Absent for an official template run."},"bot_type":{"type":"string","description":"Public bot type used by this run.","enum":["workflow","agent"]},"bot_name":{"type":"string","description":"Bot display name when available for a normal Bot run. Absent for an official template run."},"created_at":{"type":"string","format":"date-time","description":"Run creation time."},"finished_at":{"type":"string","format":"date-time","description":"Run terminal time."},"task_failure_info":{"$ref":"#/components/schemas/BotRunFailureInfoResponse","description":"Public failure information, present only for a failed run."},"live_url_info":{"$ref":"#/components/schemas/BotRunLiveUrlInfoResponse","description":"Live browser view available while browser-based execution is running."}},"required":["bot_type","created_at","input","status","task_id"]},"BotRunDetailResponse":{"type":"object","description":"Fixed public bot run detail. Type-specific or state-specific fields are omitted when unavailable.","properties":{"status":{"type":"string","description":"Current public run status.","enum":["created","running","finished","canceled","pausing","paused","failed"]},"input":{"type":"object","additionalProperties":{"type":"object"},"description":"Input object accepted for this run."},"output":{"type":"object","description":"Run output conforming to the bot output_schema when an authoritative schema exists."},"steps":{"type":"array","description":"Workflow-only step summaries.","items":{"$ref":"#/components/schemas/TaskStepDto"}},"credit":{"type":"integer","format":"int64","description":"Credit cost of this run when available."},"task_id":{"type":"string","description":"Public run task identifier."},"log_detail_url":{"type":"string","format":"uri","description":"BrowserAct page containing the detailed logs for this run."},"bot_id":{"type":"string","description":"Public bot identifier used by a normal Bot run. Absent for an official template run."},"bot_type":{"type":"string","description":"Public bot type used by this run.","enum":["workflow","agent"]},"bot_name":{"type":"string","description":"Bot display name when available for a normal Bot run. Absent for an official template run."},"created_at":{"type":"string","format":"date-time","description":"Run creation time."},"finished_at":{"type":"string","format":"date-time","description":"Run terminal time."},"task_failure_info":{"$ref":"#/components/schemas/BotRunFailureInfoResponse","description":"Public failure information, present only for a failed run."},"output_files":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/BotRunOutputFileResponse"},"description":"Business result files keyed by format, for example json, md, csv or xml. This is separate from files downloaded during execution."},"download_files":{"type":"array","description":"Files downloaded during run execution. This is separate from output_files business results.","items":{"$ref":"#/components/schemas/BotRunDownloadFileResponse"}},"files_expires_at":{"type":"integer","format":"int64","description":"Expiration timestamp for the run download files, in epoch milliseconds."},"live_url_info":{"$ref":"#/components/schemas/BotRunLiveUrlInfoResponse","description":"Live browser view available while browser-based execution is running."}},"required":["bot_type","created_at","input","log_detail_url","status","task_id"]},"BotRunDownloadFileResponse":{"type":"object","description":"File downloaded during bot run execution.","properties":{"guid":{"type":"string","description":"Unique file identifier."},"status":{"type":"string","description":"Current file transfer status."},"progress":{"type":"integer","format":"int32","description":"Download progress from 0 to 100."},"file_name":{"type":"string","description":"Display file name."},"file_size":{"type":"integer","format":"int64","description":"File size in bytes."},"download_url":{"type":"string","description":"Temporary download URL, available after upload completes."},"download_start_time":{"type":"integer","format":"int64","description":"Download start time in epoch milliseconds."},"download_completed_time":{"type":"integer","format":"int64","description":"Download completion time in epoch milliseconds."},"expires_at":{"type":"integer","format":"int64","description":"Download expiration time in epoch milliseconds."},"error_message":{"type":"string","description":"Failure or cancellation message when file transfer does not complete."},"create_time":{"type":"integer","format":"int64","description":"File record creation time in epoch milliseconds."}}},"BotRunOutputFileResponse":{"type":"object","description":"Temporary access metadata for a business result file produced by an Agent run.","properties":{"file_name":{"type":"string","description":"Business result file name."},"file_size":{"type":"integer","format":"int64","description":"Business result file size in bytes when available."},"download_url":{"type":"string","description":"Temporary URL for downloading the business result file."}},"required":["download_url","file_name"]},"TaskStepDto":{"type":"object","properties":{"id":{"type":"string","description":"Step ID","title":"Id"},"step":{"type":"integer","format":"int32","description":"Task step serial","title":"Step"},"status":{"type":"string","description":"Step status (running, succeed, failed)","enum":["running","succeed","failed"],"title":"Step Status"},"evaluation_previous_goal":{"type":"string","description":"Evaluation result of the previous step","title":"Evaluation Previous Goal"},"step_goal":{"type":"string","description":"Execution target of the current step","title":"Step Goal"},"screenshots_url":{"type":"string","description":"Screenshot URL captured during the current step","title":"Screenshots Url"}},"required":["evaluation_previous_goal","id","screenshots_url","status","step","step_goal"]},"BotRegionResponse":{"type":"object","description":"Proxy region available to Workflow runs.","properties":{"code":{"type":"string","description":"Region code used in run requests."},"name":{"type":"string","description":"Region display name."}},"required":["code","name"]},"ApiWorkflowDto":{"type":"object","description":"Workflow Info","properties":{"id":{"type":"string","description":"Workflow ID"},"name":{"type":"string","description":"Workflow's name"},"description":{"type":"string","description":"Workflow's description"},"create_at":{"type":"string","format":"date-time","description":"Workflow created time"},"publish_at":{"type":"string","format":"date-time","description":"Workflow Publish Time"},"app_type":{"type":"integer","format":"int32","description":"app type : 2-Workflow; 5:SkillFlow"}}},"PageRespApiWorkflowDto":{"type":"object","description":"Paginated response containing items and metadata.","properties":{"page":{"type":"integer","format":"int32","description":"Current page number."},"limit":{"type":"integer","format":"int32","description":"Number of items per page."},"items":{"type":"array","description":"List of items for the current page.","items":{"$ref":"#/components/schemas/ApiWorkflowDto"}},"total_pages":{"type":"integer","format":"int32","description":"Total number of pages available."},"total_count":{"type":"integer","format":"int32","description":"Number of total items."}}},"LiveUrlInfo":{"type":"object","description":"URL info for viewing the live task execution screen. Available only when the task is in the running state.","properties":{"width":{"type":"integer","format":"int32","description":"Screen width","title":"width"},"height":{"type":"integer","format":"int32","description":"Screen height","title":"height"},"live_url":{"type":"string","description":"URL of the live task execution screen, which can be directly embedded in an <iframe> tag.","title":"Live Url"}},"required":["height","width"]},"PageRespWorkflowTaskSimpleResponse":{"type":"object","description":"Paginated response containing items and metadata.","properties":{"page":{"type":"integer","format":"int32","description":"Current page number."},"limit":{"type":"integer","format":"int32","description":"Number of items per page."},"items":{"type":"array","description":"List of items for the current page.","items":{"$ref":"#/components/schemas/WorkflowTaskSimpleResponse"}},"total_pages":{"type":"integer","format":"int32","description":"Total number of pages available."},"total_count":{"type":"integer","format":"int32","description":"Number of total items."}}},"TaskFailureInfo":{"type":"object","description":"The task failure-related information has values only when the task execution fails.","properties":{"code":{"type":"integer","format":"int32","description":"Error code","title":"Code"},"message":{"type":"string","description":"Error message","title":"Message"}},"required":["code","message"]},"TaskOutputDto":{"type":"object","properties":{"string":{"type":"string","description":"Task output as a plain string"},"files":{"type":"array","description":"Download URL list for output files","items":{"type":"string"}}}},"WorkflowTaskSimpleResponse":{"type":"object","description":"Workflow simplified task information for listing purposes.","properties":{"id":{"type":"string","description":"Task ID","title":"Task id"},"output":{"$ref":"#/components/schemas/TaskOutputDto","description":"The task output data has values only when the task execution ends."},"status":{"type":"string","description":"Task status (created, running, finished, canceled, pausing, paused, failed)","enum":["created","running","finished","canceled","pausing","paused","failed","unknown"]},"live_url_info":{"$ref":"#/components/schemas/LiveUrlInfo","description":"URL info for viewing the live task execution screen. Available only when the task is in the running state.","title":"Live Url"},"live_url":{"type":"string","deprecated":true,"description":"URL to view the task execution live.","title":"Live Url"},"profile_id":{"type":"string","description":"Use the profile_id returned from a previous task to reuse browser data such as cookies."},"created_at":{"type":"string","format":"date-time","description":"Task created time","title":"Created At"},"finished_at":{"type":"string","format":"date-time","description":"Task finished time","title":"Finished At"},"task_failure_info":{"$ref":"#/components/schemas/TaskFailureInfo","description":"The task failure-related information has values only when the task execution fails."},"credit":{"type":"integer","format":"int64","description":"Credit cost of this task."},"workflow_name":{"type":"string","description":"Workflow name"},"app_type":{"type":"integer","format":"int32","description":"App type; 5=SkillFlow. Absent for workflow tasks."},"run_channel":{"type":"integer","format":"int32","description":"Run channel; present for SkillFlow tasks."},"workflow_id":{"type":"string","description":"Workflow ID","title":"Workflow Id"},"input_parameters":{"type":"string"}},"required":["created_at","id","status","workflow_id"]},"PageRespWorkflowTemplateDto":{"type":"object","description":"Paginated response containing items and metadata.","properties":{"page":{"type":"integer","format":"int32","description":"Current page number."},"limit":{"type":"integer","format":"int32","description":"Number of items per page."},"items":{"type":"array","description":"List of items for the current page.","items":{"$ref":"#/components/schemas/WorkflowTemplateDto"}},"total_pages":{"type":"integer","format":"int32","description":"Total number of pages available."},"total_count":{"type":"integer","format":"int32","description":"Number of total items."}}},"WorkflowTemplateDto":{"type":"object","description":"Official Workflow or Skill template information for listing purposes.","properties":{"templateId":{"type":"string","description":"Template Id","title":"Template Id"},"name":{"type":"string","description":"Template Name","title":"Template Name"},"recommendDesc":{"type":"string","description":"Template Recommend Desc","title":"Template Recommend Desc"},"detailUrl":{"type":"string","description":"Template Detail Url","title":"Template Detail Url"},"app_type":{"type":"integer","format":"int32","description":"Template app type: 2=Workflow, 5=SkillFlow"}},"required":["app_type","detailUrl","name","recommendDesc","templateId"]},"ApiWorkflowConfigDto":{"type":"object","description":"Workflow Config Info","properties":{"id":{"type":"string","description":"Workflow ID"},"name":{"type":"string","description":"Workflow's name"},"description":{"type":"string","description":"Workflow's description"},"create_at":{"type":"string","format":"date-time","description":"Workflow created time"},"publish_at":{"type":"string","format":"date-time","description":"Workflow Publish Time"},"input_parameters":{"type":"array","description":"Definition of parameters that need to be input when running a workflow task","items":{"$ref":"#/components/schemas/WorkflowInputParameterDto"}}}},"WorkflowInputParameterDto":{"type":"object","description":"Workflow Input Parameter Info","properties":{"name":{"type":"string","description":"Workflow Input Parameter Name"},"default_enabled":{"type":"boolean","description":"Workflow Input Parameter Default Value Enabled"}}},"TaskDownloadFileView":{"type":"object","description":"Task download file view","properties":{"guid":{"type":"string","description":"File unique identifier"},"fileName":{"type":"string","description":"Display file name"},"fileSize":{"type":"integer","format":"int64","description":"File size (bytes)"},"status":{"type":"string","description":"File status"},"progress":{"type":"integer","format":"int32","description":"Download progress (0-100)"},"downloadUrl":{"type":"string","description":"Pre-signed download URL (only has value in uploaded state)"},"downloadStartTime":{"type":"integer","format":"int64","description":"Download start timestamp"},"downloadCompletedTime":{"type":"integer","format":"int64","description":"Download completion timestamp"},"expiresAt":{"type":"integer","format":"int64","description":"Expiration timestamp (download completion time + 7 days)"},"errorMessage":{"type":"string","description":"Error message (has value in cancelled/failed state)"},"createTime":{"type":"integer","format":"int64","description":"Creation timestamp"}}},"WorkflowTaskResponse":{"type":"object","description":"workflow task response","properties":{"id":{"type":"string","description":"Task ID","title":"Task id"},"output":{"$ref":"#/components/schemas/TaskOutputDto","description":"The task output data has values only when the task execution ends."},"status":{"type":"string","description":"Task status (created, running, finished, canceled, pausing, paused, failed)","enum":["created","running","finished","canceled","pausing","paused","failed","unknown"]},"workflowName":{"type":"string","description":"Workflow name at the time the task was created."},"steps":{"type":"array","description":"List of sub-steps within the task","items":{"$ref":"#/components/schemas/TaskStepDto"},"title":"Steps"},"live_url_info":{"$ref":"#/components/schemas/LiveUrlInfo","description":"URL info for viewing the live task execution screen. Available only when the task is in the running state.","title":"Live Url"},"live_url":{"type":"string","deprecated":true,"description":"URL to view the task execution live.","title":"Live Url"},"profile_id":{"type":"string","description":"Use the profile_id returned from a previous task to reuse browser data such as cookies."},"created_at":{"type":"string","format":"date-time","description":"Task created time","title":"Created At"},"finished_at":{"type":"string","format":"date-time","description":"Task finished time","title":"Finished At"},"task_failure_info":{"$ref":"#/components/schemas/TaskFailureInfo","description":"The task failure-related information has values only when the task execution fails."},"credit":{"type":"integer","format":"int64","description":"Credit cost of this task."},"app_type":{"type":"integer","format":"int32","description":"App type; 5=SkillFlow. Absent for workflow tasks."},"run_channel":{"type":"integer","format":"int32","description":"Run channel; present for SkillFlow tasks."},"download_files":{"type":"array","description":"List of downloaded files for this task","items":{"$ref":"#/components/schemas/TaskDownloadFileView"},"title":"Download Files"},"files_expires_at":{"type":"integer","format":"int64","description":"Expiration timestamp for download files (task end time + 7 days)","title":"Files Expires At"},"workflow_id":{"type":"string","description":"Workflow ID","title":"Workflow Id"},"input_parameters":{"type":"string","description":"Workflow input parameters as key=value pairs when running the workflow task, separated by semicolons. Example: key1=value1;key2=value2","title":"Workflow Input Parameters"},"log_detail_url":{"type":"string","description":"Detail log url for this task","title":"Log url"}},"required":["created_at","id","status","steps","workflow_id"]},"TaskStatusResponse":{"type":"object","description":"task status response","properties":{"status":{"type":"string","description":"Task status (created, running, finished, canceled, pausing, paused, failed)","enum":["created","running","finished","canceled","pausing","paused","failed","unknown"],"title":"Status"},"app_type":{"type":"integer","format":"int32","description":"App type; 5=SkillFlow. Absent for workflow tasks."},"run_channel":{"type":"integer","format":"int32","description":"Run channel; present for SkillFlow tasks."}},"required":["status"]},"SysRegionSimpleView":{"type":"object","description":"region","properties":{"name":{"type":"string","description":"region name"},"code":{"type":"string","description":"region code","maxLength":30,"minLength":0}}},"ApiWorkflowTemplateConfigDto":{"type":"object","description":"Official Workflow or Skill template configuration","properties":{"id":{"type":"string","description":"Workflow Template ID"},"name":{"type":"string","description":"Template name"},"description":{"type":"string","description":"Template description"},"recommendDesc":{"type":"string","description":"Template Recommend Desc","title":"Template Recommend Desc"},"detailUrl":{"type":"string","description":"Template Detail Url","title":"Template Detail Url"},"app_type":{"type":"integer","format":"int32","description":"Template app type: 2=Workflow, 5=agent"},"create_at":{"type":"string","format":"date-time","description":"Template creation time"},"publish_at":{"type":"string","format":"date-time","description":"Template publish time"},"input_parameters":{"type":"array","description":"Input parameter definitions for running the template","items":{"$ref":"#/components/schemas/WorkflowInputParameterDto"}}},"required":["detailUrl","recommendDesc"]},"PageResponseStaticProxyView":{"type":"object","description":"标准分页响应","properties":{"data":{"type":"array","description":"数据项目列表","items":{"$ref":"#/components/schemas/StaticProxyView"}},"page":{"type":"integer","format":"int32","description":"当前页码, 从1开始"},"perPage":{"type":"integer","format":"int32","description":"每页显示记录数"},"total":{"type":"integer","format":"int64","description":"结果集总记录数"}},"required":["data","page","perPage","total"]},"ResponseDataPageResponseStaticProxyView":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/PageResponseStaticProxyView","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"StaticProxyCityView":{"type":"object","description":"静态代理城市视图","properties":{"id":{"type":"integer","format":"int64","description":"主键ID"},"countryId":{"type":"integer","format":"int64","description":"所属国家ID"},"name":{"type":"string","description":"城市名称"},"code":{"type":"string","description":"城市代码"},"sortOrder":{"type":"integer","format":"int32","description":"排序序号"},"createDate":{"type":"string","format":"date-time","description":"创建时间"},"updateDate":{"type":"string","format":"date-time","description":"更新时间"}}},"StaticProxyCountryView":{"type":"object","description":"静态代理国家视图","properties":{"id":{"type":"integer","format":"int64","description":"主键ID"},"name":{"type":"string","description":"国家名称"},"code":{"type":"string","description":"国家代码"},"icon":{"type":"string","description":"国旗图标"},"sortOrder":{"type":"integer","format":"int32","description":"排序序号"},"createDate":{"type":"string","format":"date-time","description":"创建时间"},"updateDate":{"type":"string","format":"date-time","description":"更新时间"}}},"StaticProxyTypeView":{"type":"object","description":"静态代理类型视图","properties":{"id":{"type":"integer","format":"int64","description":"主键ID"},"name":{"type":"string","description":"类型名称"},"code":{"type":"string","description":"类型代码"},"description":{"type":"string","description":"类型描述"},"sortOrder":{"type":"integer","format":"int32","description":"排序序号"},"createDate":{"type":"string","format":"date-time","description":"创建时间"},"updateDate":{"type":"string","format":"date-time","description":"更新时间"}}},"StaticProxyView":{"type":"object","description":"静态代理信息视图","properties":{"id":{"type":"integer","format":"int64","description":"代理ID"},"status":{"type":"integer","format":"int32","description":"代理状态（0=ALLOCATING 1=ACTIVE 2=GRACE_PERIOD 3=EXPIRED 4=ALLOCATION_FAILED）"},"proxyType":{"$ref":"#/components/schemas/StaticProxyTypeView","description":"代理类型"},"country":{"$ref":"#/components/schemas/StaticProxyCountryView","description":"国家"},"city":{"$ref":"#/components/schemas/StaticProxyCityView","description":"城市"},"ip":{"type":"string","description":"代理IP地址"},"port":{"type":"string","description":"代理端口"},"name":{"type":"string","description":"用户自定义备注名"},"autoRenew":{"type":"boolean","description":"是否开启自动续费"},"renewedInCurrentCycle":{"type":"boolean","description":"当前月积分周期内是否已经续费"},"unitPrice":{"type":"integer","format":"int64","description":"单价（Credits/IP/月）"},"validTimeStart":{"type":"string","format":"date-time","description":"有效期开始时间"},"validTimeEnd":{"type":"string","format":"date-time","description":"有效期结束时间"},"nextBillingDate":{"type":"string","format":"date-time","description":"下次自动续费时间"},"createDate":{"type":"string","format":"date-time","description":"创建时间"}}},"ResponseDataBoolean":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"type":"boolean","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"BrowserProxyLineResponse":{"type":"object","description":"Browser proxy line response","properties":{"success":{"type":"boolean","description":"Whether the proxy line query succeeded"},"appId":{"type":"string","description":"Browser application ID"},"domain":{"type":"string","description":"Queried domain"},"idx":{"type":"string","description":"Proxy line index"}}},"ResponseDataBrowserProxyLineResponse":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/BrowserProxyLineResponse","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"ResponseDataListZlinkGatewayItem":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"type":"array","description":"Response data","items":{"$ref":"#/components/schemas/ZlinkGatewayItem"}},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"ResponseDataLong":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"type":"integer","format":"int64","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"BrowserListResponse":{"type":"object","description":"Browser list response","properties":{"page":{"type":"integer","format":"int32","description":"Current page"},"limit":{"type":"integer","format":"int32","description":"Items per page"},"total_count":{"type":"integer","format":"int64","description":"Total count"},"total_pages":{"type":"integer","format":"int64","description":"Total pages"},"items":{"type":"array","description":"Browser items","items":{"$ref":"#/components/schemas/BrowserItem"}}}},"ResponseDataBrowserListResponse":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/BrowserListResponse","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"BrowserEnvOperationStatusView":{"type":"object","description":"浏览器环境操作状态","properties":{"id":{"type":"integer","format":"int64","description":"浏览器环境 ID"},"success":{"type":"boolean","description":"操作是否成功"},"reason":{"type":"string","description":"失败原因"}}},"ResponseDataListBrowserEnvOperationStatusView":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"type":"array","description":"Response data","items":{"$ref":"#/components/schemas/BrowserEnvOperationStatusView"}},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"BrowserEnvTokenResponse":{"type":"object","description":"Browser environment token response","properties":{"expire":{"type":"integer","format":"int64","description":"Token expiration timestamp (Unix seconds)"},"token":{"type":"string","description":"Access token"},"host":{"type":"string","description":"Browser env API host"},"lib_download_url":{"type":"string","description":"Lib package download URL"},"lib_version":{"type":"string","description":"Required lib version"}}},"ResponseDataBrowserEnvTokenResponse":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/BrowserEnvTokenResponse","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"ApiKeyInfoResponse":{"type":"object","description":"Current API Key info","properties":{"name":{"type":"string","description":"API Key name"},"execution_mode":{"type":"integer","format":"int32","description":"Execution mode: 0=standard, 1=automation"}}},"ResponseDataApiKeyInfoResponse":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/ApiKeyInfoResponse","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"CliVersionResponse":{"type":"object","description":"CLI version response","properties":{"minVersion":{"type":"string","description":"Minimum required CLI version. CLI below this version must upgrade."},"latestVersion":{"type":"string","description":"Latest available CLI version."}}},"ResponseDataCliVersionResponse":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/CliVersionResponse","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"GuidePackageQueryResponse":{"type":"object","properties":{"version":{"type":"string"},"s3Url":{"type":"string"}}},"ResponseDataGuidePackageQueryResponse":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/GuidePackageQueryResponse","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"CliApiKeySessionStatusView":{"type":"object","description":"CLI session status for obtaining API Key","properties":{"status":{"type":"string","description":"Session status: pending / completed / expired","title":"Status"},"executionMode":{"type":"integer","format":"int32","description":"API Key execution mode: 0=standard, 1=automation.","title":"Execution Mode"},"api_key":{"type":"string","description":"The API Key. Only present when status is completed.","title":"API Key"},"expired_at":{"type":"string","format":"date-time","description":"Session expiration time (UTC).","title":"Expired At"},"ttl":{"type":"integer","format":"int64","description":"Remaining seconds until session expiry. Negative means already expired.","title":"TTL"}}},"ResponseDataCliApiKeySessionStatusView":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/CliApiKeySessionStatusView","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]},"OpenBrowserCdpUrlResponse":{"type":"object","description":"Open browser CDP URL response","properties":{"browser_id":{"type":"string","description":"Browser ID, e.g. skillbuild$123456"},"cdp_url":{"type":"string","description":"Remote browser CDP URL"}}},"ResponseDataOpenBrowserCdpUrlResponse":{"type":"object","description":"Unified response entity","properties":{"code":{"type":"integer","format":"int32","description":"Response code, 0 means success, >0 means failure"},"msg":{"type":["string","null"],"description":"Response message, returns error reference information when code>0"},"data":{"$ref":"#/components/schemas/OpenBrowserCdpUrlResponse","description":"Response data"},"ts":{"type":"integer","format":"int64","description":"Server timestamp"},"time":{"type":"string","format":"date-time"},"traceId":{"type":["string","null"],"description":"Error ID for error tracking in logs"}},"required":["code","time","ts"]}},"securitySchemes":{"HTTPBearer":{"type":"http","description":"Bearer authentication header of the form Bearer <API_KEY>, where <API_KEY> is your api key.","scheme":"bearer"}}}}