{
  "openapi": "3.1.0",
  "info": {
    "title": "Browz Local API",
    "version": "0.1.10",
    "summary": "Control Browz profiles and their browsers from scripts, SDKs and AI agents on the same computer.",
    "description": "The Local API is how scripts, SDKs, the CLI and the MCP server control Browz on your own computer. The Browz agent serves it on loopback only.\n\n- **Base URL:** `http://127.0.0.1:50333` by default. An agent started with `BROWZ_API_PORT` listens there instead and writes its real port to `<data dir>/agent.json` (`{\"port\", \"pid\", \"startedAt\"}`). The data directory is `~/.browz` unless `BROWZ_DATA` says otherwise.\n- **Auth:** every route except `GET /status` needs `Authorization: Bearer <token>`. The token is in `<data dir>/api-token` (the app also shows it under API & MCP). `POST /api/v1/token/rotate` replaces it and cuts off every client that had the old one.\n- **Agent keys:** the owner can give each AI agent its own key (`blcl_…`, `POST /api/v1/agents/local/tokens/create`) and pass it as the bearer instead of the token. A key reaches only the operations marked `x-browz-auth: \"owner-or-agent-key\"`, and only with the scope named in `x-browz-agent-scope`, within its profiles, allowed sites and rate limits. Operations marked `\"owner\"` answer an agent key 403 with `agentRefusal: \"not_available\"`.\n- **Loopback only:** the agent binds 127.0.0.1, and a request whose Host is not `127.0.0.1`, `localhost` or `[::1]` gets 403 before the token is checked, which blocks DNS rebinding. Browser pages cannot call it: CORS is allowed only for the Browz desktop app's own origins.\n- **Errors:** the agent signals failure two ways, an HTTP status and a `code` field that is `0` on success. A failure body is `{\"code\": -1, \"msg\": \"<what went wrong and what to do>\", \"errorCode\": \"<stable machine code>\"}`. Treat a 200 carrying a non-zero `code` as a failure too. The messages are written for a person; keep them verbatim.\n- **Methods:** routes are GET (reads, with query parameters) or POST (changes, with a JSON body, `Content-Type: application/json`). Some older routes do not check the method; the spec lists the one clients use.\n- **Detail:** operations marked `x-browz-detail: \"full\"` have request and response schemas written from the agent's handlers. Operations marked `\"basic\"` are listed from the agent's router with the fields their handlers read, and a generic JSON body.\n\nOnce a profile's browser is started, `data.cdpEndpoint` from `POST /api/v1/browser/start` is what Playwright (`connectOverCDP`), Puppeteer (`browserURL`) and Selenium (`debuggerAddress`) attach to.",
    "contact": {
      "name": "Browz support",
      "url": "https://gobrowz.com/help/#contact"
    },
    "license": {
      "name": "Proprietary",
      "url": "https://gobrowz.com/terms"
    }
  },
  "externalDocs": {
    "description": "Developer quickstart",
    "url": "https://gobrowz.com/developers"
  },
  "servers": [
    {
      "url": "http://127.0.0.1:{port}",
      "description": "The Browz agent on this computer (loopback only).",
      "variables": {
        "port": {
          "default": "50333",
          "description": "BROWZ_API_PORT, or the port in <data dir>/agent.json."
        }
      }
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "Agents",
      "description": "Keys for AI agents on this computer: create a scoped, rate-limited key per agent, revoke it, stop every agent at once, and read the action log. Owner token only."
    },
    {
      "name": "Credential",
      "description": "Stored sign-ins an AI agent can fill without seeing them. Adding, changing and removing them needs the owner token; an agent key with the credentials scope can only list and fill."
    },
    {
      "name": "Status",
      "description": "Is the agent up. Needs no token."
    },
    {
      "name": "Token",
      "description": "The Local API token: read it, and rotate it to cut every client off at once."
    },
    {
      "name": "Profiles",
      "description": "Browser profiles: each has its own fingerprint, proxy, cookies and storage."
    },
    {
      "name": "Browser",
      "description": "Start and stop a profile's browser and get the CDP endpoint that Playwright, Puppeteer and Selenium attach to."
    },
    {
      "name": "Page",
      "description": "Drive a running profile's tabs through the agent: navigate, read the page as an accessibility snapshot, act on elements with real input, wait, screenshot."
    },
    {
      "name": "Cookies",
      "description": "Export and import a profile's cookies."
    },
    {
      "name": "Proxies",
      "description": "The proxy pool: add, check, change and remove proxies, and change a rotating proxy's exit IP."
    },
    {
      "name": "Agent sessions",
      "description": "One isolated profile per AI agent task: ephemeral (wiped on close) or persistent for a returning identity."
    },
    {
      "name": "Account and sync",
      "description": "Signing this computer in to a Browz account, end-to-end encrypted sync, teams and sharing."
    },
    {
      "name": "Automation",
      "description": "The durable automation operator: schedules, jobs and their state."
    },
    {
      "name": "Bookmarks",
      "description": "Bookmark libraries and applying them to profiles."
    },
    {
      "name": "Browser engine",
      "description": "The browser engines Browz runs and their updates."
    },
    {
      "name": "Bulk jobs",
      "description": "Durable jobs that change, start, stop or clone many profiles, with reports."
    },
    {
      "name": "Diagnostics",
      "description": "Logs and the diagnostics bundle."
    },
    {
      "name": "Extensions",
      "description": "The reviewed extension catalogue and which extensions each profile gets."
    },
    {
      "name": "Flows",
      "description": "Recorded automation flows, their runs and files."
    },
    {
      "name": "Groups and folders",
      "description": "Organising profiles into groups and folders."
    },
    {
      "name": "Proxy store",
      "description": "Buying proxies inside Browz, where the account allows it."
    },
    {
      "name": "Settings",
      "description": "Agent settings, storage and the local GeoIP database."
    },
    {
      "name": "Templates",
      "description": "Profile templates and the profiles assigned to them."
    },
    {
      "name": "Verification privacy",
      "description": "Pausing and resuming a profile around identity-verification pages."
    },
    {
      "name": "Warm-up",
      "description": "Warm-up plans and runs that give a new profile a browsing history."
    },
    {
      "name": "Webhooks",
      "description": "Webhooks the agent calls on profile and browser events."
    },
    {
      "name": "Window sync",
      "description": "Mirroring input from one profile window to others."
    }
  ],
  "paths": {
    "/api/v1/account/add": {
      "post": {
        "operationId": "postAccountAdd",
        "summary": "Account add",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/cloud": {
      "post": {
        "operationId": "postAccountCloud",
        "summary": "Account cloud",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/device/poll": {
      "post": {
        "operationId": "postAccountDevicePoll",
        "summary": "Account device poll",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/device/start": {
      "post": {
        "operationId": "postAccountDeviceStart",
        "summary": "Account device start",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/e2e/escrow": {
      "get": {
        "operationId": "getAccountE2eEscrow",
        "summary": "Account e2e escrow",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/account_sync.rs e2e_route, agent-rs/src/account_keys.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/e2e/escrow/approve": {
      "post": {
        "operationId": "postAccountE2eEscrowApprove",
        "summary": "Account e2e escrow approve",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/account_sync.rs e2e_route, agent-rs/src/account_keys.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/e2e/escrow/complete": {
      "post": {
        "operationId": "postAccountE2eEscrowComplete",
        "summary": "Account e2e escrow complete",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/account_sync.rs e2e_route, agent-rs/src/account_keys.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/e2e/escrow/request": {
      "post": {
        "operationId": "postAccountE2eEscrowRequest",
        "summary": "Account e2e escrow request",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/account_sync.rs e2e_route, agent-rs/src/account_keys.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/e2e/identity": {
      "get": {
        "operationId": "getAccountE2eIdentity",
        "summary": "Account e2e identity",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/account_sync.rs e2e_route, agent-rs/src/account_keys.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/e2e/integrity/dismiss": {
      "post": {
        "operationId": "postAccountE2eIntegrityDismiss",
        "summary": "Account e2e integrity dismiss",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/account_sync.rs e2e_route, agent-rs/src/account_keys.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/e2e/keys": {
      "get": {
        "operationId": "getAccountE2eKeys",
        "summary": "Account e2e keys",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/account_sync.rs e2e_route, agent-rs/src/account_keys.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/e2e/keys/accept": {
      "post": {
        "operationId": "postAccountE2eKeysAccept",
        "summary": "Account e2e keys accept",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/account_sync.rs e2e_route, agent-rs/src/account_keys.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/e2e/recovery/rotate": {
      "post": {
        "operationId": "postAccountE2eRecoveryRotate",
        "summary": "Account e2e recovery rotate",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/account_sync.rs e2e_route, agent-rs/src/account_keys.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/e2e/rotate-key": {
      "post": {
        "operationId": "postAccountE2eRotateKey",
        "summary": "Account e2e rotate key",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/account_sync.rs e2e_route, agent-rs/src/account_keys.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/e2e/start-over": {
      "post": {
        "operationId": "postAccountE2eStartOver",
        "summary": "Account e2e start over",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/account_sync.rs e2e_route, agent-rs/src/account_keys.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/e2e/status": {
      "get": {
        "operationId": "getAccountE2eStatus",
        "summary": "Account e2e status",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/account_sync.rs e2e_route, agent-rs/src/account_keys.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/e2e/unlock": {
      "post": {
        "operationId": "postAccountE2eUnlock",
        "summary": "Account e2e unlock",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/account_sync.rs e2e_route, agent-rs/src/account_keys.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/e2e/wrap-key": {
      "post": {
        "operationId": "postAccountE2eWrapKey",
        "summary": "Account e2e wrap key",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/account_sync.rs e2e_route, agent-rs/src/account_keys.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/google/cancel": {
      "post": {
        "operationId": "postAccountGoogleCancel",
        "summary": "Account google cancel",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/google/password": {
      "post": {
        "operationId": "postAccountGooglePassword",
        "summary": "Account google password",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/google/poll": {
      "post": {
        "operationId": "postAccountGooglePoll",
        "summary": "Account google poll",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/google/start": {
      "post": {
        "operationId": "postAccountGoogleStart",
        "summary": "Account google start",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/lease": {
      "get": {
        "operationId": "getAccountLease",
        "summary": "Account lease",
        "tags": [
          "Account and sync"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/locks": {
      "get": {
        "operationId": "getAccountLocks",
        "summary": "Account locks",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/login/poll": {
      "post": {
        "operationId": "postAccountLoginPoll",
        "summary": "Account login poll",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/login/start": {
      "post": {
        "operationId": "postAccountLoginStart",
        "summary": "Account login start",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/logout": {
      "post": {
        "operationId": "postAccountLogout",
        "summary": "Account logout",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/password-login": {
      "post": {
        "operationId": "postAccountPasswordLogin",
        "summary": "Account password login",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/password/change": {
      "post": {
        "operationId": "postAccountPasswordChange",
        "summary": "Account password change",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/account_sync.rs e2e_route, agent-rs/src/account_keys.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/saved": {
      "get": {
        "operationId": "getAccountSaved",
        "summary": "Account saved",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/saved/forget": {
      "post": {
        "operationId": "postAccountSavedForget",
        "summary": "Account saved forget",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/sessions": {
      "get": {
        "operationId": "getAccountSessions",
        "summary": "Account sessions",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/sessions/revoke": {
      "post": {
        "operationId": "postAccountSessionsRevoke",
        "summary": "Account sessions revoke",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/sessions/revoke-others": {
      "post": {
        "operationId": "postAccountSessionsRevokeOthers",
        "summary": "Account sessions revoke others",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/state/conflicts": {
      "get": {
        "operationId": "getAccountStateConflicts",
        "summary": "Account state conflicts",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/state/conflicts/export": {
      "post": {
        "operationId": "postAccountStateConflictsExport",
        "summary": "Account state conflicts export",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/state/conflicts/resolve": {
      "post": {
        "operationId": "postAccountStateConflictsResolve",
        "summary": "Account state conflicts resolve",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "choice": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/state/pull": {
      "post": {
        "operationId": "postAccountStatePull",
        "summary": "Account state pull",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/state/push": {
      "post": {
        "operationId": "postAccountStatePush",
        "summary": "Account state push",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/status": {
      "get": {
        "operationId": "getAccountStatus",
        "summary": "Account status",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/support": {
      "post": {
        "operationId": "postAccountSupport",
        "summary": "Account support",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/switch": {
      "post": {
        "operationId": "postAccountSwitch",
        "summary": "Account switch",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/sync/bandwidth": {
      "post": {
        "operationId": "postAccountSyncBandwidth",
        "summary": "Account sync bandwidth",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/sync/conflicts/export": {
      "post": {
        "operationId": "postAccountSyncConflictsExport",
        "summary": "Account sync conflicts export",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/sync/conflicts/resolve": {
      "post": {
        "operationId": "postAccountSyncConflictsResolve",
        "summary": "Account sync conflicts resolve",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "resolution": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/sync/now": {
      "post": {
        "operationId": "postAccountSyncNow",
        "summary": "Account sync now",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/sync/profile/pause": {
      "post": {
        "operationId": "postAccountSyncProfilePause",
        "summary": "Account sync profile pause",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/sync/profiles": {
      "get": {
        "operationId": "getAccountSyncProfiles",
        "summary": "Account sync profiles",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/locks": {
      "get": {
        "operationId": "getAccountTeamLocks",
        "summary": "Account team locks",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/me": {
      "get": {
        "operationId": "getAccountTeamMe",
        "summary": "Account team me",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/resources": {
      "get": {
        "operationId": "getAccountTeamResources",
        "summary": "Account team resources",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/shared": {
      "get": {
        "operationId": "getAccountTeamShared",
        "summary": "Account team shared",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/shares": {
      "get": {
        "operationId": "getAccountTeamShares",
        "summary": "Account team shares",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postAccountTeamShares",
        "summary": "Account team shares",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/shares/revoke": {
      "post": {
        "operationId": "postAccountTeamSharesRevoke",
        "summary": "Account team shares revoke",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/transfers": {
      "get": {
        "operationId": "getAccountTeamTransfers",
        "summary": "Account team transfers",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postAccountTeamTransfers",
        "summary": "Account team transfers",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/transfers/accept": {
      "post": {
        "operationId": "postAccountTeamTransfersAccept",
        "summary": "Account team transfers accept",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/transfers/cancel": {
      "post": {
        "operationId": "postAccountTeamTransfersCancel",
        "summary": "Account team transfers cancel",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/transfers/reject": {
      "post": {
        "operationId": "postAccountTeamTransfersReject",
        "summary": "Account team transfers reject",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/workspaces": {
      "get": {
        "operationId": "getAccountTeamWorkspaces",
        "summary": "Account team workspaces",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postAccountTeamWorkspaces",
        "summary": "Account team workspaces",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/workspaces/audit": {
      "get": {
        "operationId": "getAccountTeamWorkspacesAudit",
        "summary": "Account team workspaces audit",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/workspaces/invites": {
      "get": {
        "operationId": "getAccountTeamWorkspacesInvites",
        "summary": "Account team workspaces invites",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postAccountTeamWorkspacesInvites",
        "summary": "Account team workspaces invites",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/workspaces/invites/accept": {
      "post": {
        "operationId": "postAccountTeamWorkspacesInvitesAccept",
        "summary": "Account team workspaces invites accept",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/workspaces/invites/decline": {
      "post": {
        "operationId": "postAccountTeamWorkspacesInvitesDecline",
        "summary": "Account team workspaces invites decline",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/workspaces/invites/mine": {
      "get": {
        "operationId": "getAccountTeamWorkspacesInvitesMine",
        "summary": "Account team workspaces invites mine",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/workspaces/invites/resend": {
      "post": {
        "operationId": "postAccountTeamWorkspacesInvitesResend",
        "summary": "Account team workspaces invites resend",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/workspaces/invites/revoke": {
      "post": {
        "operationId": "postAccountTeamWorkspacesInvitesRevoke",
        "summary": "Account team workspaces invites revoke",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/workspaces/members": {
      "get": {
        "operationId": "getAccountTeamWorkspacesMembers",
        "summary": "Account team workspaces members",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/workspaces/members/remove": {
      "post": {
        "operationId": "postAccountTeamWorkspacesMembersRemove",
        "summary": "Account team workspaces members remove",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/workspaces/members/role": {
      "post": {
        "operationId": "postAccountTeamWorkspacesMembersRole",
        "summary": "Account team workspaces members role",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/workspaces/policies": {
      "get": {
        "operationId": "getAccountTeamWorkspacesPolicies",
        "summary": "Account team workspaces policies",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postAccountTeamWorkspacesPolicies",
        "summary": "Account team workspaces policies",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/account/team/workspaces/transfer": {
      "post": {
        "operationId": "postAccountTeamWorkspacesTransfer",
        "summary": "Account team workspaces transfer",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/team_sync.rs passthrough, TEAM_ROUTES",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/agent/session/close": {
      "post": {
        "operationId": "postAgentSessionClose",
        "summary": "Close an agent session",
        "description": "Ends a session and frees its slot. An ephemeral profile is stopped and wiped; a persistent one is stopped and kept for its identity. Closing a closed session succeeds with `alreadyClosed: true`.",
        "tags": [
          "Agent sessions"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "required": [
                  "sessionId"
                ],
                "properties": {
                  "sessionId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/AgentSession"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "cleanup": {
                              "description": "cleaned: nothing is left. kept: a persistent profile was kept. pending: the wipe is queued and retried.",
                              "oneOf": [
                                {
                                  "type": "string",
                                  "enum": [
                                    "cleaned",
                                    "kept"
                                  ]
                                },
                                {
                                  "type": "object",
                                  "required": [
                                    "pending"
                                  ],
                                  "properties": {
                                    "pending": {
                                      "type": "object",
                                      "additionalProperties": true,
                                      "properties": {
                                        "profileId": {
                                          "type": "string"
                                        },
                                        "outcome": {
                                          "type": "string",
                                          "enum": [
                                            "retry",
                                            "refused"
                                          ]
                                        },
                                        "error": {
                                          "type": "string"
                                        }
                                      }
                                    }
                                  }
                                }
                              ]
                            },
                            "alreadyClosed": {
                              "type": "boolean",
                              "description": "Present (true) only when the session was already closed; then cleanup is absent."
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "agent-session-invalid (sessionId missing)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "agent-session-discard-refused (team rules forbid deleting the profile)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "agent-session-not-found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "Not a POST",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "agent-session-internal, or agent-session-cleanup-failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "agent_sessions.rs route; close",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:write"
      }
    },
    "/api/v1/agent/session/list": {
      "get": {
        "operationId": "getAgentSessionList",
        "summary": "List open agent sessions",
        "description": "Sessions that are opening or open (including stopped ones), oldest first, with the plan concurrent-session limit.",
        "tags": [
          "Agent sessions"
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": true,
                      "required": [
                        "sessions",
                        "limit"
                      ],
                      "properties": {
                        "sessions": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/AgentSession"
                          }
                        },
                        "limit": {
                          "$ref": "#/components/schemas/AgentSessionLimit"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "405": {
            "description": "Not a GET",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "agent-session-internal",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "agent_sessions.rs route; list",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:read"
      }
    },
    "/api/v1/agent/session/open": {
      "post": {
        "operationId": "postAgentSessionOpen",
        "summary": "Open an agent session",
        "description": "Gives one agent task an isolated profile of its own and, by default, launches it. An ephemeral session gets a fresh profile that is wiped on close or when its time to live runs out; a persistent session reuses the profile, cookies and proxy bound to a returning identity. Unknown body fields are refused, and opens past the plan concurrent-session limit are refused.",
        "tags": [
          "Agent sessions"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "task"
                ],
                "properties": {
                  "task": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200,
                    "description": "What the agent is doing."
                  },
                  "mode": {
                    "type": "string",
                    "enum": [
                      "ephemeral",
                      "persistent"
                    ],
                    "default": "ephemeral"
                  },
                  "identity": {
                    "type": "string",
                    "pattern": "^[A-Za-z0-9_.:@/-]{1,128}$",
                    "description": "Required for persistent and refused for ephemeral: a stable name for the returning persona, such as shop-a/buyer-3."
                  },
                  "proxy": {
                    "description": "none (direct), pool (the pool proxy in fewest open sessions), or a pool proxy by id. Default: a returning identity keeps its proxy, otherwise direct. A returning identity cannot switch proxy.",
                    "oneOf": [
                      {
                        "type": "string",
                        "enum": [
                          "none",
                          "pool"
                        ]
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "proxyId"
                        ],
                        "properties": {
                          "proxyId": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "ttlMinutes": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 10080,
                    "default": 1440,
                    "description": "Ephemeral only: wipe the profile after this long even if never closed."
                  },
                  "launch": {
                    "type": "boolean",
                    "default": true,
                    "description": "False reserves the session and profile without launching."
                  },
                  "headless": {
                    "type": "boolean",
                    "description": "Override the default headless setting for this launch."
                  },
                  "archetype": {
                    "type": "string",
                    "description": "New profiles only: macos, windows or linux."
                  },
                  "engine": {
                    "type": "string",
                    "description": "New profiles only: chromium (default) or signed-chrome."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/AgentSession"
                        },
                        {
                          "type": "object",
                          "required": [
                            "newProfile",
                            "launch",
                            "coherenceWarnings"
                          ],
                          "properties": {
                            "newProfile": {
                              "type": "boolean",
                              "description": "True when a profile was created for this session."
                            },
                            "launch": {
                              "oneOf": [
                                {
                                  "$ref": "#/components/schemas/AgentSessionLaunch"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "description": "Null when launch was false."
                            },
                            "coherenceWarnings": {
                              "type": [
                                "array",
                                "null"
                              ],
                              "items": {
                                "type": "object",
                                "additionalProperties": true
                              }
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "agent-session-invalid (bad or unknown field) or agent-session-unknown-proxy (proxyId not in the pool)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "405": {
            "description": "Not a POST",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "agent-session-limit (plan cap reached; data carries the limit), agent-session-identity-busy, agent-session-proxy-mismatch, or agent-session-no-proxy (pool asked for but empty). A refused profile create (agent-session-create-refused) or launch (agent-session-launch-failed) carries the status of that refusal",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "agent-session-internal",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "agent_sessions.rs route; parse_open, admit, open",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:write"
      }
    },
    "/api/v1/agent/session/resume": {
      "post": {
        "operationId": "postAgentSessionResume",
        "summary": "Resume an agent session",
        "description": "Relaunches the session profile with its cookies and storage after its browser stopped, or attaches to it if it is still running.",
        "tags": [
          "Agent sessions"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "required": [
                  "sessionId"
                ],
                "properties": {
                  "sessionId": {
                    "type": "string"
                  },
                  "headless": {
                    "type": "boolean",
                    "description": "Override the default headless setting for this launch."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/AgentSession"
                        },
                        {
                          "type": "object",
                          "required": [
                            "launch"
                          ],
                          "properties": {
                            "launch": {
                              "$ref": "#/components/schemas/AgentSessionLaunch"
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "agent-session-invalid (sessionId missing)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "agent-session-not-found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "Not a POST",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "agent-session-closed, or agent-session-busy (still opening). A refused launch (agent-session-launch-failed) carries the status of that refusal",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "agent-session-internal",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "agent_sessions.rs route; resume",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:write"
      }
    },
    "/api/v1/agents/local/audit": {
      "get": {
        "operationId": "getAgentsLocalAudit",
        "summary": "Read the agent action log",
        "description": "Calls agent keys made on this computer, newest first, kept for 90 days. A page is `limit` rows; pass the last row's `id` as `before` for the next. Rows hold no page content, typed text or secrets. Owner token only: an agent key (`blcl_…`) gets 403 with `agentRefusal: \"not_available\"`.",
        "tags": [
          "Agents"
        ],
        "parameters": [
          {
            "name": "agent",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Only this key's rows (its `la_…` id). Empty means every key."
          },
          {
            "name": "before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Only rows with a smaller `id`. A value that is not a whole number is ignored."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 500,
              "default": 100
            },
            "description": "Rows to return; clamped to 1..500. A value that is not a whole number gives 100."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": true,
                      "required": [
                        "entries"
                      ],
                      "properties": {
                        "entries": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/AgentAuditEntry"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Missing or wrong bearer token. For an agent key, `agentRefusal` says why: unknown_token, revoked, expired or suspended (the owner stopped all agents).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "403": {
            "description": "The Host header is not loopback, or the bearer is an agent key (`agentRefusal: \"not_available\"`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "405": {
            "description": "Not a GET",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "429": {
            "description": "An agent key used up its per-minute or per-day limit (`agentRefusal: \"rate_limited\"`, `retryAfterSec`, and a Retry-After header).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "500": {
            "description": "The local store could not be read",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "local_agent_gate.rs owner_route; local_agents.rs audit_list",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/agents/local/stop-all": {
      "post": {
        "operationId": "postAgentsLocalStopAll",
        "summary": "Stop every agent",
        "description": "Suspends every key that is neither revoked nor already suspended, cancels every waiting hand-off, and stops every browser an agent key started. Resume keys one at a time. The body is not read. Owner token only: an agent key (`blcl_…`) gets 403 with `agentRefusal: \"not_available\"`.",
        "tags": [
          "Agents"
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "allOf": [
                        {
                          "type": "object",
                          "required": [
                            "suspended"
                          ],
                          "properties": {
                            "suspended": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "Ids of the keys suspended by this call."
                            }
                          }
                        },
                        {
                          "$ref": "#/components/schemas/AgentStopReport"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Missing or wrong bearer token. For an agent key, `agentRefusal` says why: unknown_token, revoked, expired or suspended (the owner stopped all agents).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "403": {
            "description": "The Host header is not loopback, or the bearer is an agent key (`agentRefusal: \"not_available\"`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "405": {
            "description": "Not a POST",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "429": {
            "description": "An agent key used up its per-minute or per-day limit (`agentRefusal: \"rate_limited\"`, `retryAfterSec`, and a Retry-After header).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "500": {
            "description": "The local store could not be changed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "local_agent_gate.rs owner_route; local_agents.rs suspend_all",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/agents/local/tokens": {
      "get": {
        "operationId": "getAgentsLocalTokens",
        "summary": "List agent keys",
        "description": "Every agent key on this computer, oldest first, including revoked and expired ones, with the limits the agent enforces. The keys themselves are never returned: only their hash is stored. Owner token only: an agent key (`blcl_…`) gets 403 with `agentRefusal: \"not_available\"`.",
        "tags": [
          "Agents"
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": true,
                      "required": [
                        "tokens",
                        "limits"
                      ],
                      "properties": {
                        "tokens": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/AgentKey"
                          }
                        },
                        "limits": {
                          "$ref": "#/components/schemas/AgentKeyLimits"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Missing or wrong bearer token. For an agent key, `agentRefusal` says why: unknown_token, revoked, expired or suspended (the owner stopped all agents).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "403": {
            "description": "The Host header is not loopback, or the bearer is an agent key (`agentRefusal: \"not_available\"`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "405": {
            "description": "Not a GET",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "429": {
            "description": "An agent key used up its per-minute or per-day limit (`agentRefusal: \"rate_limited\"`, `retryAfterSec`, and a Retry-After header).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "500": {
            "description": "The local store could not be read",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "local_agent_gate.rs owner_route, limits; local_agents.rs list, TokenRecord::to_json",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/agents/local/tokens/create": {
      "post": {
        "operationId": "postAgentsLocalTokensCreate",
        "summary": "Create an agent key",
        "description": "Creates a scoped, rate-limited key for one agent. The reply carries the key (`token`) this once: it is never stored or shown again (only its hash is kept), so store it now. Give it to the agent as its bearer token. Owner token only: an agent key (`blcl_…`) gets 403 with `agentRefusal: \"not_available\"`.",
        "tags": [
          "Agents"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentKeyCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": true,
                      "required": [
                        "token",
                        "agent",
                        "note"
                      ],
                      "properties": {
                        "token": {
                          "type": "string",
                          "pattern": "^blcl_[A-Za-z0-9_-]{43}$",
                          "description": "The new agent key. Returned only once, by this call; no other route ever returns it."
                        },
                        "agent": {
                          "$ref": "#/components/schemas/AgentKey"
                        },
                        "note": {
                          "type": "string",
                          "description": "A reminder that the key is shown once."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "A field is missing, unknown or invalid (name, scopes, readOnly with a write scope, profiles, sites, days with noExpiry, limits)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "401": {
            "description": "Missing or wrong bearer token. For an agent key, `agentRefusal` says why: unknown_token, revoked, expired or suspended (the owner stopped all agents).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "403": {
            "description": "The Host header is not loopback, or the bearer is an agent key (`agentRefusal: \"not_available\"`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "405": {
            "description": "Not a POST",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "409": {
            "description": "20 keys are already active (revoke one first), or the key could not be stored",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "429": {
            "description": "An agent key used up its per-minute or per-day limit (`agentRefusal: \"rate_limited\"`, `retryAfterSec`, and a Retry-After header).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "local_agent_gate.rs owner_route; local_agents.rs CreateRequest::parse, create",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/agents/local/tokens/resume": {
      "post": {
        "operationId": "postAgentsLocalTokensResume",
        "summary": "Resume an agent key after stop-all",
        "description": "Lifts a stop-all suspension from one key. Resuming a key that is not suspended succeeds with `resumed: false`. A revoked key cannot be resumed. Owner token only: an agent key (`blcl_…`) gets 403 with `agentRefusal: \"not_available\"`.",
        "tags": [
          "Agents"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "The key's id (`la_…`)."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": true,
                      "required": [
                        "id",
                        "resumed"
                      ],
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "resumed": {
                          "type": "boolean",
                          "description": "false when it was not suspended."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Missing or wrong bearer token. For an agent key, `agentRefusal` says why: unknown_token, revoked, expired or suspended (the owner stopped all agents).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "403": {
            "description": "The Host header is not loopback, or the bearer is an agent key (`agentRefusal: \"not_available\"`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "405": {
            "description": "Not a POST",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "409": {
            "description": "No agent key has that id, or it was revoked (create a new one)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "429": {
            "description": "An agent key used up its per-minute or per-day limit (`agentRefusal: \"rate_limited\"`, `retryAfterSec`, and a Retry-After header).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "local_agent_gate.rs owner_route; local_agents.rs resume",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/agents/local/tokens/revoke": {
      "post": {
        "operationId": "postAgentsLocalTokensRevoke",
        "summary": "Revoke an agent key",
        "description": "Revokes one key for good and cancels its waiting hand-offs; with `stopBrowsers`, also stops the browsers it started. Revoking a revoked key succeeds with `revoked: false`. Owner token only: an agent key (`blcl_…`) gets 403 with `agentRefusal: \"not_available\"`.",
        "tags": [
          "Agents"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "The key's id (`la_…`), not the key."
                  },
                  "stopBrowsers": {
                    "type": "boolean",
                    "default": false,
                    "description": "Also stop the profiles' browsers this key started."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "allOf": [
                        {
                          "type": "object",
                          "required": [
                            "id",
                            "revoked"
                          ],
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "revoked": {
                              "type": "boolean",
                              "description": "false when it was already revoked."
                            }
                          }
                        },
                        {
                          "$ref": "#/components/schemas/AgentStopReport"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Missing or wrong bearer token. For an agent key, `agentRefusal` says why: unknown_token, revoked, expired or suspended (the owner stopped all agents).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "403": {
            "description": "The Host header is not loopback, or the bearer is an agent key (`agentRefusal: \"not_available\"`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "404": {
            "description": "No agent key has that id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "405": {
            "description": "Not a POST",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "429": {
            "description": "An agent key used up its per-minute or per-day limit (`agentRefusal: \"rate_limited\"`, `retryAfterSec`, and a Retry-After header).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "local_agent_gate.rs owner_route; local_agents.rs revoke",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/agents/local/whoami": {
      "get": {
        "operationId": "getAgentsLocalWhoami",
        "summary": "Who is calling: the owner or an agent key",
        "description": "For the owner's token: `{kind: \"owner\"}`. For an agent key: its own record (never the key) with `kind: \"agent\"` and how many calls it has left this minute and this day. The gate answers this itself for an agent key, which needs no scope, but the call counts against its limits.",
        "tags": [
          "Agents"
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "oneOf": [
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "kind"
                          ],
                          "properties": {
                            "kind": {
                              "const": "owner"
                            }
                          }
                        },
                        {
                          "allOf": [
                            {
                              "$ref": "#/components/schemas/AgentKey"
                            },
                            {
                              "type": "object",
                              "required": [
                                "kind",
                                "remaining"
                              ],
                              "properties": {
                                "kind": {
                                  "const": "agent"
                                },
                                "remaining": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "required": [
                                    "minute",
                                    "day"
                                  ],
                                  "properties": {
                                    "minute": {
                                      "type": "integer",
                                      "minimum": 0
                                    },
                                    "day": {
                                      "type": "integer",
                                      "minimum": 0
                                    }
                                  }
                                }
                              }
                            }
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Missing or wrong bearer token. For an agent key, `agentRefusal` says why: unknown_token, revoked, expired or suspended (the owner stopped all agents).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "405": {
            "description": "Not a GET",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "429": {
            "description": "An agent key used up its per-minute or per-day limit (`agentRefusal: \"rate_limited\"`, `retryAfterSec`, and a Retry-After header).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "local_agent_gate.rs serve (whoami) and owner_route",
        "x-browz-auth": "owner-or-agent-key"
      }
    },
    "/api/v1/automation/operator": {
      "post": {
        "operationId": "postAutomationOperator",
        "summary": "Automation operator",
        "tags": [
          "Automation"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bookmarks/capabilities": {
      "get": {
        "operationId": "getBookmarksCapabilities",
        "summary": "Bookmarks capabilities",
        "tags": [
          "Bookmarks"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bookmarks/libraries": {
      "get": {
        "operationId": "getBookmarksLibraries",
        "summary": "Bookmarks libraries",
        "tags": [
          "Bookmarks"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bookmarks/library": {
      "get": {
        "operationId": "getBookmarksLibrary",
        "summary": "Bookmarks library",
        "tags": [
          "Bookmarks"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "revision",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bookmarks/library/create": {
      "post": {
        "operationId": "postBookmarksLibraryCreate",
        "summary": "Bookmarks library create",
        "tags": [
          "Bookmarks"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bookmarks/library/revise": {
      "post": {
        "operationId": "postBookmarksLibraryRevise",
        "summary": "Bookmarks library revise",
        "tags": [
          "Bookmarks"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bookmarks/profile": {
      "get": {
        "operationId": "getBookmarksProfile",
        "summary": "Bookmarks profile",
        "tags": [
          "Bookmarks"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bookmarks/profile/apply": {
      "post": {
        "operationId": "postBookmarksProfileApply",
        "summary": "Bookmarks profile apply",
        "tags": [
          "Bookmarks"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "planId": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bookmarks/profile/history": {
      "get": {
        "operationId": "getBookmarksProfileHistory",
        "summary": "Bookmarks profile history",
        "tags": [
          "Bookmarks"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bookmarks/profile/preview": {
      "post": {
        "operationId": "postBookmarksProfilePreview",
        "summary": "Bookmarks profile preview",
        "tags": [
          "Bookmarks"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "libraryId": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bookmarks/profile/restore": {
      "post": {
        "operationId": "postBookmarksProfileRestore",
        "summary": "Bookmarks profile restore",
        "tags": [
          "Bookmarks"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/browser/act": {
      "post": {
        "operationId": "postBrowserAct",
        "summary": "Act on a page element",
        "description": "Performs one input action (click, type, select, scroll, upload and so on) on an element ref from a snapshot, as trusted browser input. Input uses person-like timing unless `human` is false. Upload files are given inline as base64 or by name from the agent's uploads folder.",
        "tags": [
          "Page"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "action"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id."
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "click",
                      "dblclick",
                      "hover",
                      "fill",
                      "type",
                      "press",
                      "select",
                      "check",
                      "uncheck",
                      "scroll",
                      "upload"
                    ]
                  },
                  "ref": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "pattern": "^e[0-9]{1,12}$",
                    "description": "Element ref from a snapshot, e.g. `e123`. Required for fill, type, select, check, uncheck and upload; click, dblclick and hover take a ref or both `x` and `y`."
                  },
                  "text": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "maxLength": 10000,
                    "description": "Text for fill and type (type needs it non-empty)."
                  },
                  "key": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "maxLength": 64,
                    "description": "Key or chord for press, e.g. `Enter`, `Tab`, `Control+a`."
                  },
                  "value": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "maxLength": 10000,
                    "description": "Option value or label for select."
                  },
                  "x": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "description": "Viewport x for a click without a ref, or horizontal scroll pixels."
                  },
                  "y": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "description": "Viewport y for a click without a ref, or vertical scroll pixels."
                  },
                  "human": {
                    "type": [
                      "boolean",
                      "null"
                    ],
                    "default": true,
                    "description": "false sends the input at once, without person-like timing."
                  },
                  "files": {
                    "type": [
                      "array",
                      "null"
                    ],
                    "maxItems": 10,
                    "description": "upload only. Inline files total at most 25 MB.",
                    "items": {
                      "type": "object",
                      "required": [
                        "name"
                      ],
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "A plain file name (no folders, no leading dot)."
                        },
                        "data": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "contentEncoding": "base64",
                          "description": "File bytes. Omit to use the named file from the agent uploads folder."
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "targetId": {
                    "type": "string",
                    "maxLength": 64,
                    "pattern": "^[A-Za-z0-9]+$",
                    "description": "A tab from `GET /api/v1/browser/pages`. Without it the first page tab is used."
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PageActResult"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid action or arguments (missing ref, text, key or value; bad ref; oversized text; bad files), the ref is not a checkbox for check/uncheck, `id` missing, or a bad `targetId`",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "No such profile, no open tab has that `targetId`, or the ref no longer names an element",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "The profile is not running, or the verification privacy pause blocks automation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The browser failed to perform the action",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/browser/act\"; page.rs Act::from_json, Act::validate, act_with, upload_files",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser"
      }
    },
    "/api/v1/browser/active": {
      "get": {
        "operationId": "getBrowserActive",
        "summary": "List running profiles",
        "description": "Every profile browser this agent is running, with its debug port and endpoints. The browser WebSocket URL of a Chromium-based profile is not read here; get it from the status route.",
        "tags": [
          "Browser"
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BrowserActiveEntry"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/browser/active\" (method not enforced)",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:read"
      }
    },
    "/api/v1/browser/backends": {
      "get": {
        "operationId": "getBrowserBackends",
        "summary": "Browser backends",
        "tags": [
          "Browser"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/browser/evaluate": {
      "post": {
        "operationId": "postBrowserEvaluate",
        "summary": "Evaluate JavaScript in a tab",
        "description": "Runs an expression in the page and returns its value. Promises are awaited. An exception thrown by the expression is returned as `ok: false` with its message.",
        "tags": [
          "Page"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "expression"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id."
                  },
                  "expression": {
                    "type": "string",
                    "minLength": 1
                  },
                  "targetId": {
                    "type": "string",
                    "maxLength": 64,
                    "pattern": "^[A-Za-z0-9]+$",
                    "description": "A tab from `GET /api/v1/browser/pages`. Without it the first page tab is used."
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PageEvaluateResult"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "`id` or `expression` missing, or a bad `targetId`",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "No such profile, or no open tab has that `targetId`",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "The profile is not running, or the verification privacy pause blocks automation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The browser could not be reached or failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/browser/evaluate\", Api::page_control; page.rs evaluate_target",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser:advanced"
      }
    },
    "/api/v1/browser/handoff/cancel": {
      "post": {
        "operationId": "postBrowserHandoffCancel",
        "summary": "Browser handoff cancel",
        "tags": [
          "Browser"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser"
      }
    },
    "/api/v1/browser/handoff/complete": {
      "post": {
        "operationId": "postBrowserHandoffComplete",
        "summary": "Browser handoff complete",
        "tags": [
          "Browser"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/browser/handoff/list": {
      "get": {
        "operationId": "getBrowserHandoffList",
        "summary": "Browser handoff list",
        "tags": [
          "Browser"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/browser/handoff/request": {
      "post": {
        "operationId": "postBrowserHandoffRequest",
        "summary": "Browser handoff request",
        "tags": [
          "Browser"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser"
      }
    },
    "/api/v1/browser/handoff/show": {
      "post": {
        "operationId": "postBrowserHandoffShow",
        "summary": "Browser handoff show",
        "tags": [
          "Browser"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "handoffId": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/browser/handoff/status": {
      "get": {
        "operationId": "getBrowserHandoffStatus",
        "summary": "Browser handoff status",
        "tags": [
          "Browser"
        ],
        "parameters": [
          {
            "name": "handoffId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser"
      }
    },
    "/api/v1/browser/navigate": {
      "post": {
        "operationId": "postBrowserNavigate",
        "summary": "Navigate a tab",
        "description": "Loads an http or https URL in a tab of a running profile and waits for the load event. `loaded: false` means the page did not finish loading within the timeout.",
        "tags": [
          "Page"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "url"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id."
                  },
                  "url": {
                    "type": "string",
                    "maxLength": 2048,
                    "description": "An http:// or https:// URL. Other schemes are refused."
                  },
                  "timeoutMs": {
                    "type": "integer",
                    "default": 30000,
                    "minimum": 0,
                    "description": "How long to wait for the load event. Clamped to 1000-120000."
                  },
                  "targetId": {
                    "type": "string",
                    "maxLength": 64,
                    "pattern": "^[A-Za-z0-9]+$",
                    "description": "A tab from `GET /api/v1/browser/pages`. Without it the first page tab is used."
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PageNavigateResult"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "`id` missing, the URL is not http(s), a bad `targetId`, or the browser reported a navigation failure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "No such profile, or no open tab has that `targetId`",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "The profile is not running, or the verification privacy pause blocks automation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The profile has no open tab, or the tab is already held by another debugging client",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/browser/navigate\", Api::page_control; page.rs navigate_target",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser"
      }
    },
    "/api/v1/browser/pages": {
      "get": {
        "operationId": "getBrowserPages",
        "summary": "List a profile's open tabs",
        "description": "The page tabs open in a running profile, in the browser's order, with the `targetId` other page routes accept.",
        "tags": [
          "Page"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Profile id."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PageTab"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "`id` is missing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "No such profile",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "The profile is not running, or the verification privacy pause blocks automation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The tab list could not be read from the browser",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/browser/pages\" (method not enforced); page.rs pages",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser:read"
      }
    },
    "/api/v1/browser/screenshot": {
      "post": {
        "operationId": "postBrowserScreenshot",
        "summary": "Take a screenshot of a tab",
        "description": "Captures the tab as a base64 PNG. `fullPage: true` captures beyond the visible viewport.",
        "tags": [
          "Page"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id."
                  },
                  "fullPage": {
                    "type": "boolean",
                    "default": false
                  },
                  "targetId": {
                    "type": "string",
                    "maxLength": 64,
                    "pattern": "^[A-Za-z0-9]+$",
                    "description": "A tab from `GET /api/v1/browser/pages`. Without it the first page tab is used."
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PageScreenshot"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "`id` missing, `targetId` not a string or malformed, or an invalid argument",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "No such profile, or no open tab has that `targetId`",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "The profile is not running, or the verification privacy pause blocks automation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The browser could not capture the tab",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/browser/screenshot\", Api::page_control; page.rs screenshot_target",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser:read"
      }
    },
    "/api/v1/browser/snapshot": {
      "post": {
        "operationId": "postBrowserSnapshot",
        "summary": "Get an accessibility snapshot of a tab",
        "description": "Returns a compact outline of the page from the browser's accessibility tree, with element refs for `act`. Nothing is run in the page. A page that looks like a sign-in, verification code or CAPTCHA step also carries `challenge`, so it can be handed to a person.",
        "tags": [
          "Page"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id."
                  },
                  "mode": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "enum": [
                      "compact",
                      "interactive",
                      "full",
                      null
                    ],
                    "default": "compact",
                    "description": "`compact`: interactive elements, headings and short text; `interactive`: controls and headings only; `full`: every meaningful node, with link URLs."
                  },
                  "maxTokens": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 200,
                    "maximum": 37500,
                    "default": 10000,
                    "description": "Token budget for the outline."
                  },
                  "targetId": {
                    "type": "string",
                    "maxLength": 64,
                    "pattern": "^[A-Za-z0-9]+$",
                    "description": "A tab from `GET /api/v1/browser/pages`. Without it the first page tab is used."
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PageSnapshot"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "`mode` or `maxTokens` invalid, `id` missing, or a bad `targetId`",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "No such profile, or no open tab has that `targetId`",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "The profile is not running, or the verification privacy pause blocks automation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The browser could not be read",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/browser/snapshot\"; page.rs SnapshotOpts::from_json, snapshot_with, budgeted_snapshot; human_handoff.rs Challenge::to_json",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser:read"
      }
    },
    "/api/v1/browser/start": {
      "post": {
        "operationId": "postBrowserStart",
        "summary": "Start a profile browser",
        "description": "Launches the profile's browser and returns its attach endpoints. `headless` overrides the agent's default for this launch. With `reuse: true`, a profile that is already running is attached instead of refused (`alreadyRunning: true`); without it, a running profile is refused with 409.",
        "tags": [
          "Browser"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id."
                  },
                  "headless": {
                    "type": [
                      "boolean",
                      "null"
                    ],
                    "description": "Launch headless (true) or with a window (false). Omitted or null uses the agent's default. Installed Chrome refuses headless."
                  },
                  "reuse": {
                    "type": [
                      "boolean",
                      "null"
                    ],
                    "default": false,
                    "description": "When the profile is already running, return its endpoints instead of refusing."
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BrowserSession"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "`headless` or `reuse` is not a boolean",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserStartError"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "No such profile, or the profile is in the trash",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserStartError"
                }
              }
            }
          },
          "409": {
            "description": "Refused: already running (without `reuse`), a launch gate or plan limit refused it, another operation holds the profile, Installed Chrome migration or volume problem, a headed launch with no desktop session, or (on reuse) the verification privacy pause or a `headless` that disagrees with the running browser",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserStartError"
                }
              }
            }
          },
          "423": {
            "description": "The profile is locked and must be unlocked first",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserStartError"
                }
              }
            }
          },
          "500": {
            "description": "The configured browser is not a Browz engine or could not be started, or another launch error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserStartError"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs Api::start, Api::reuse_attach_body, Api::start_one_inner, StartFail; automation_endpoints.rs parse_start_options",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:write"
      }
    },
    "/api/v1/browser/start-bulk": {
      "post": {
        "operationId": "postBrowserStartBulk",
        "summary": "Start several profiles",
        "description": "Starts up to 1000 profiles one after another and reports each one's outcome. Individual failures are reported per id; the request itself still succeeds. Profiles start with the agent's default headless setting.",
        "tags": [
          "Browser"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BulkResult"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "`ids` is missing, not an array, empty, or longer than 1000",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs Api::bulk (BulkOp::Start), Api::bulk_start",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/browser/status": {
      "get": {
        "operationId": "getBrowserStatus",
        "summary": "Get a profile's run state",
        "description": "Whether one profile is running and, if so, its attach endpoints, so a client can start or attach without listing every running profile.",
        "tags": [
          "Browser"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Profile id."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BrowserStatus"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "`id` is missing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "No such profile",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/browser/status\"; automation_endpoints.rs status_body",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:read"
      }
    },
    "/api/v1/browser/stop": {
      "post": {
        "operationId": "postBrowserStop",
        "summary": "Stop a profile browser",
        "description": "Closes the profile's browser. `stopped` is false when nothing was running, which is not an error. The reply has `stopped` at the top level, not under `data`.",
        "tags": [
          "Browser"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id."
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code",
                    "stopped"
                  ],
                  "properties": {
                    "code": {
                      "type": "integer",
                      "enum": [
                        0
                      ]
                    },
                    "stopped": {
                      "type": "boolean",
                      "description": "Whether a running browser was stopped."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "description": "Another operation on this profile is in progress",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The browser stopped but its saved resource state could not be reconciled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/browser/stop\", Api::stop_profile",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:write"
      }
    },
    "/api/v1/browser/stop-all": {
      "post": {
        "operationId": "postBrowserStopAll",
        "summary": "Stop every running profile",
        "description": "Closes every profile browser this agent runs, each through a normal browser close so cookies and tabs are saved.",
        "tags": [
          "Browser"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "object",
                      "required": [
                        "stopped"
                      ],
                      "properties": {
                        "stopped": {
                          "type": "integer",
                          "description": "Number of browsers that were running when the call began."
                        }
                      },
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/browser/stop-all\", Launcher::stop_all",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/browser/stop-bulk": {
      "post": {
        "operationId": "postBrowserStopBulk",
        "summary": "Stop several profiles",
        "description": "Stops up to 1000 profiles and reports each one's outcome. A profile that was not running is reported as `ok: true, stopped: false`; an id that names no profile is a failure.",
        "tags": [
          "Browser"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BulkResult"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "`ids` is missing, not an array, empty, or longer than 1000",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs Api::bulk (BulkOp::Stop), Api::bulk_stop",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/browser/tab/close": {
      "post": {
        "operationId": "postBrowserTabClose",
        "summary": "Close a tab",
        "description": "Closes one tab by `targetId` and waits briefly until the tab list no longer shows it. The last tab cannot be closed; stop the profile instead.",
        "tags": [
          "Page"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "targetId"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id."
                  },
                  "targetId": {
                    "type": "string",
                    "maxLength": 64,
                    "pattern": "^[A-Za-z0-9]+$",
                    "description": "The tab to close."
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "object",
                      "required": [
                        "ok",
                        "targetId"
                      ],
                      "properties": {
                        "ok": {
                          "type": "boolean",
                          "enum": [
                            true
                          ]
                        },
                        "targetId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "`targetId` or `id` missing, a malformed `targetId`, or it is the last open tab",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "No such profile, or no open tab has that `targetId`",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "The profile is not running, or the verification privacy pause blocks automation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The browser failed to close the tab",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/browser/tab/close\"; page.rs tab_close",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser"
      }
    },
    "/api/v1/browser/tab/open": {
      "post": {
        "operationId": "postBrowserTabOpen",
        "summary": "Open a tab",
        "description": "Opens a new tab at an http or https URL (or exactly `about:blank`) and returns its `targetId`.",
        "tags": [
          "Page"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "url"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id."
                  },
                  "url": {
                    "type": "string",
                    "maxLength": 2048,
                    "description": "An http:// or https:// URL, or `about:blank`."
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "object",
                      "required": [
                        "targetId"
                      ],
                      "properties": {
                        "targetId": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "`id` missing or the URL is not allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "No such profile, or no open tab has that `targetId`",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "The profile is not running, or the verification privacy pause blocks automation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The browser did not create the tab",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/browser/tab/open\"; page.rs tab_open",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser"
      }
    },
    "/api/v1/browser/wait": {
      "post": {
        "operationId": "postBrowserWait",
        "summary": "Wait for a page condition",
        "description": "Waits until every given condition holds at once: text present, text gone, URL containing a string, or a fixed delay. A timeout returns `matched: false` rather than an error.",
        "tags": [
          "Page"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id"
                ],
                "description": "At least one of `text`, `textGone`, `urlContains` or `timeMs` is required.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id."
                  },
                  "text": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "minLength": 1,
                    "maxLength": 10000,
                    "description": "Wait until the page text contains this."
                  },
                  "textGone": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "minLength": 1,
                    "maxLength": 10000,
                    "description": "Wait until the page text no longer contains this."
                  },
                  "urlContains": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "minLength": 1,
                    "maxLength": 2048,
                    "description": "Wait until the tab URL contains this."
                  },
                  "timeMs": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 0,
                    "maximum": 60000,
                    "description": "Fixed delay before checking the conditions."
                  },
                  "timeoutMs": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 1,
                    "maximum": 60000,
                    "default": 10000,
                    "description": "How long to wait for the conditions (after `timeMs`)."
                  },
                  "targetId": {
                    "type": "string",
                    "maxLength": 64,
                    "pattern": "^[A-Za-z0-9]+$",
                    "description": "A tab from `GET /api/v1/browser/pages`. Without it the first page tab is used."
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PageWaitResult"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "No condition given, a value out of range or of the wrong type, `id` missing, or a bad `targetId`",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "No such profile, or no open tab has that `targetId`",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "The profile is not running, or the verification privacy pause blocks automation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The browser could not be reached",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/browser/wait\"; page.rs Wait::from_json, Wait::validate, wait",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser:read"
      }
    },
    "/api/v1/bulk/bookmark/jobs": {
      "post": {
        "operationId": "postBulkBookmarkJobs",
        "summary": "Bulk bookmark jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/clone/acknowledgement-handoff": {
      "post": {
        "operationId": "postBulkCloneAcknowledgementHandoff",
        "summary": "Bulk clone acknowledgement handoff",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/clone/capabilities": {
      "get": {
        "operationId": "getBulkCloneCapabilities",
        "summary": "Bulk clone capabilities",
        "tags": [
          "Bulk jobs"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/clone/jobs": {
      "post": {
        "operationId": "postBulkCloneJobs",
        "summary": "Bulk clone jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/clone/run": {
      "post": {
        "operationId": "postBulkCloneRun",
        "summary": "Bulk clone run",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "operationKey": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/create/jobs": {
      "post": {
        "operationId": "postBulkCreateJobs",
        "summary": "Bulk create jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/create/plans": {
      "post": {
        "operationId": "postBulkCreatePlans",
        "summary": "Bulk create plans",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/delete/jobs": {
      "post": {
        "operationId": "postBulkDeleteJobs",
        "summary": "Bulk delete jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/extensions/jobs": {
      "post": {
        "operationId": "postBulkExtensionsJobs",
        "summary": "Bulk extensions jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/fingerprint-policy/jobs": {
      "post": {
        "operationId": "postBulkFingerprintPolicyJobs",
        "summary": "Bulk fingerprint policy jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/import/plans": {
      "post": {
        "operationId": "postBulkImportPlans",
        "summary": "Bulk import plans",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/launch/jobs": {
      "post": {
        "operationId": "postBulkLaunchJobs",
        "summary": "Bulk launch jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/organization/cancel": {
      "post": {
        "operationId": "postBulkOrganizationCancel",
        "summary": "Bulk organization cancel",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  },
                  "operationKey": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/organization/job": {
      "get": {
        "operationId": "getBulkOrganizationJob",
        "summary": "Bulk organization job",
        "tags": [
          "Bulk jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/organization/jobs": {
      "get": {
        "operationId": "getBulkOrganizationJobs",
        "summary": "Bulk organization jobs",
        "tags": [
          "Bulk jobs"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postBulkOrganizationJobs",
        "summary": "Bulk organization jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/organization/report": {
      "get": {
        "operationId": "getBulkOrganizationReport",
        "summary": "Bulk organization report",
        "tags": [
          "Bulk jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/organization/run": {
      "post": {
        "operationId": "postBulkOrganizationRun",
        "summary": "Bulk organization run",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "batchSize": {
                    "description": "A field the handler reads."
                  },
                  "operationKey": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/pin-order/jobs": {
      "post": {
        "operationId": "postBulkPinOrderJobs",
        "summary": "Bulk pin order jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/profile/cancel": {
      "post": {
        "operationId": "postBulkProfileCancel",
        "summary": "Bulk profile cancel",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  },
                  "operationKey": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/profile/job": {
      "get": {
        "operationId": "getBulkProfileJob",
        "summary": "Bulk profile job",
        "tags": [
          "Bulk jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/profile/jobs": {
      "get": {
        "operationId": "getBulkProfileJobs",
        "summary": "Bulk profile jobs",
        "tags": [
          "Bulk jobs"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/profile/page": {
      "get": {
        "operationId": "getBulkProfilePage",
        "summary": "Bulk profile page",
        "tags": [
          "Bulk jobs"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/profile/report": {
      "get": {
        "operationId": "getBulkProfileReport",
        "summary": "Bulk profile report",
        "tags": [
          "Bulk jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/profile/report-artifact": {
      "get": {
        "operationId": "getBulkProfileReportArtifact",
        "summary": "Bulk profile report artifact",
        "tags": [
          "Bulk jobs"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/profile/report-artifact-metadata": {
      "get": {
        "operationId": "getBulkProfileReportArtifactMetadata",
        "summary": "Bulk profile report artifact metadata",
        "tags": [
          "Bulk jobs"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/profile/report-artifacts": {
      "post": {
        "operationId": "postBulkProfileReportArtifacts",
        "summary": "Bulk profile report artifacts",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  },
                  "format": {
                    "description": "A field the handler reads."
                  },
                  "operationKey": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/profile/report-metadata": {
      "get": {
        "operationId": "getBulkProfileReportMetadata",
        "summary": "Bulk profile report metadata",
        "tags": [
          "Bulk jobs"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/profile/run": {
      "post": {
        "operationId": "postBulkProfileRun",
        "summary": "Bulk profile run",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "batchSize": {
                    "description": "A field the handler reads."
                  },
                  "operationKey": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/proxy/jobs": {
      "post": {
        "operationId": "postBulkProxyJobs",
        "summary": "Bulk proxy jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/screen/jobs": {
      "post": {
        "operationId": "postBulkScreenJobs",
        "summary": "Bulk screen jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/start-page/jobs": {
      "post": {
        "operationId": "postBulkStartPageJobs",
        "summary": "Bulk start page jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/stop/jobs": {
      "post": {
        "operationId": "postBulkStopJobs",
        "summary": "Bulk stop jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/tag-set/jobs": {
      "post": {
        "operationId": "postBulkTagSetJobs",
        "summary": "Bulk tag set jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/tag/jobs": {
      "post": {
        "operationId": "postBulkTagJobs",
        "summary": "Bulk tag jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/bulk/template/jobs": {
      "post": {
        "operationId": "postBulkTemplateJobs",
        "summary": "Bulk template jobs",
        "tags": [
          "Bulk jobs"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/core/channel": {
      "post": {
        "operationId": "postCoreChannel",
        "summary": "Core channel",
        "tags": [
          "Browser engine"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/core/profile": {
      "get": {
        "operationId": "getCoreProfile",
        "summary": "Core profile",
        "tags": [
          "Browser engine"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postCoreProfile",
        "summary": "Core profile",
        "tags": [
          "Browser engine"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "inherit": {
                    "description": "A field the handler reads."
                  },
                  "channel": {
                    "description": "A field the handler reads."
                  },
                  "version": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/core/prune": {
      "post": {
        "operationId": "postCorePrune",
        "summary": "Core prune",
        "tags": [
          "Browser engine"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/core/rollback": {
      "post": {
        "operationId": "postCoreRollback",
        "summary": "Core rollback",
        "tags": [
          "Browser engine"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "engine": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/core/status": {
      "get": {
        "operationId": "getCoreStatus",
        "summary": "Core status",
        "tags": [
          "Browser engine"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/core/update": {
      "post": {
        "operationId": "postCoreUpdate",
        "summary": "Core update",
        "tags": [
          "Browser engine"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "engine": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/credential/add": {
      "post": {
        "operationId": "postCredentialAdd",
        "summary": "Store a credential",
        "description": "Stores a site's username and password, optionally a TOTP seed and up to 10 extra fields, for the profiles and sites given. The values are sealed on this device (the OS keystore where there is one) and never returned. The reply is the stored credential's metadata only. At most 1,000 credentials. Owner token only: an agent key (`blcl_…`) gets 403 with `agentRefusal: \"not_available\"`.",
        "tags": [
          "Credential"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "description": "Any other field, including `id`, is refused (400).",
                "required": [
                  "label",
                  "scope",
                  "sites",
                  "username",
                  "password"
                ],
                "properties": {
                  "label": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200,
                    "description": "Trimmed."
                  },
                  "scope": {
                    "$ref": "#/components/schemas/CredentialScope"
                  },
                  "sites": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/CredentialSite"
                    },
                    "minItems": 1,
                    "maxItems": 20
                  },
                  "username": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4096,
                    "writeOnly": true,
                    "description": "The username. 1 to 4096 bytes on one line. Write-only: never returned."
                  },
                  "password": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4096,
                    "writeOnly": true,
                    "description": "The password. 1 to 4096 bytes on one line. Write-only: never returned."
                  },
                  "totp": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "writeOnly": true,
                    "description": "A base32 TOTP seed or an otpauth://totp/ URI. Write-only: never returned; only hasTotp says one is stored."
                  },
                  "fields": {
                    "type": "array",
                    "maxItems": 10,
                    "writeOnly": true,
                    "description": "Extra fields, replacing any stored ones. Values are write-only.",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "name",
                        "value"
                      ],
                      "properties": {
                        "name": {
                          "type": "string",
                          "pattern": "^[A-Za-z0-9_-]{1,40}$",
                          "description": "Not username, password or totp (any case); unique."
                        },
                        "value": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 4096,
                          "writeOnly": true,
                          "description": "The value. 1 to 4096 bytes on one line. Write-only: never returned."
                        },
                        "secret": {
                          "type": "boolean",
                          "default": true,
                          "description": "Whether the value is scrubbed from page reads after a fill."
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/StoredCredential"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "A field is missing, unknown or invalid, `id` was given, or 1,000 credentials are already stored",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "401": {
            "description": "Missing or wrong bearer token. For an agent key, `agentRefusal` says why: unknown_token, revoked, expired or suspended (the owner stopped all agents).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "403": {
            "description": "The Host header is not loopback, or the bearer is an agent key (`agentRefusal: \"not_available\"`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "404": {
            "description": "Not a POST (unknown credential endpoint)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "429": {
            "description": "An agent key used up its per-minute or per-day limit (`agentRefusal: \"rate_limited\"`, `retryAfterSec`, and a Retry-After header).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "credentials/mod.rs route, manage; vault.rs Input::from_json, add",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/credential/fill": {
      "post": {
        "operationId": "postCredentialFill",
        "summary": "Fill a field with a stored credential",
        "description": "Browz types one of a credential's values into a field the caller found in a snapshot, and answers only whether it did: the value is never returned. It checks the tab's origin against the credential's sites, every frame between the top and the field, and the field's type (a password only into a real password field; a TOTP code, computed from the stored seed, may also go into a one-time-code field). Until the page changes, evaluate, screenshot and text waits are refused on that profile and snapshots redact the value. The profile must be running Chromium. An agent key needs browz:credentials:use, a profile in its scope and a page on its allowed sites; the fill is recorded in its audit row with the credential and field, never the value.",
        "tags": [
          "Credential"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "description": "Any other field is refused (400).",
                "required": [
                  "id",
                  "credentialId",
                  "ref",
                  "field"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "The profile id."
                  },
                  "credentialId": {
                    "type": "string",
                    "description": "From GET /api/v1/credential/list."
                  },
                  "ref": {
                    "type": "string",
                    "description": "The element's snapshot ref (for example e123) from POST /api/v1/browser/snapshot."
                  },
                  "field": {
                    "type": "string",
                    "description": "username, password, totp (a code is computed; needs a stored seed), or the name of one of the credential's extra fields."
                  },
                  "targetId": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "The tab, from GET /api/v1/browser/pages. Left out: the first tab."
                  },
                  "submit": {
                    "type": [
                      "boolean",
                      "null"
                    ],
                    "default": false,
                    "description": "Press Enter in the field after filling it."
                  },
                  "human": {
                    "type": [
                      "boolean",
                      "null"
                    ],
                    "default": true,
                    "description": "Type with the profile's human pacing; false types at once."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": true,
                      "required": [
                        "filled",
                        "credentialId",
                        "field",
                        "submitted",
                        "origin"
                      ],
                      "description": "Never the value.",
                      "properties": {
                        "filled": {
                          "const": true
                        },
                        "credentialId": {
                          "type": "string"
                        },
                        "field": {
                          "type": "string"
                        },
                        "submitted": {
                          "type": "boolean",
                          "description": "Whether Enter was pressed."
                        },
                        "origin": {
                          "type": "string",
                          "description": "The top-level page origin the value was typed into."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "A field is missing, unknown or invalid, or the credential has no such field (or no TOTP seed)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "401": {
            "description": "Missing or wrong bearer token. For an agent key, `agentRefusal` says why: unknown_token, revoked, expired or suspended (the owner stopped all agents).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "403": {
            "description": "Refused: the Host header is not loopback; the page, a frame or the field is not allowed for this credential; the credential is not for this profile; or an agent key lacks the scope, the profile or the site, or was revoked or stopped during the fill",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "404": {
            "description": "No such profile, no such credential (also what an agent key gets for a credential it may not list), the element is gone, or not a POST",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "409": {
            "description": "The profile is not running, runs Firefox, or a verification privacy pause holds it",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "429": {
            "description": "The credential was filled too often (try again later), or an agent key used up its limits",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "500": {
            "description": "The fill failed (for example the page moved the focus away; nothing was submitted)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "credentials/mod.rs route, fill_route, field_kind; credentials/fill.rs FillRequest, FillOutcome, FillError::status",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:credentials:use"
      }
    },
    "/api/v1/credential/list": {
      "get": {
        "operationId": "getCredentialList",
        "summary": "List stored credentials",
        "description": "Stored credentials without any secret: label, scope, sites, a masked username, whether a TOTP seed is stored, and extra field names. With `profileId`, only those that profile may use. The owner sees every one. An agent key needs browz:credentials:use and sees only credentials usable in one of its profiles on a site its allow-list reaches.",
        "tags": [
          "Credential"
        ],
        "parameters": [
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Only credentials this profile may use. For an agent key, a profile outside its scope is refused (403)."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/StoredCredential"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "profileId is invalid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "401": {
            "description": "Missing or wrong bearer token. For an agent key, `agentRefusal` says why: unknown_token, revoked, expired or suspended (the owner stopped all agents).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "403": {
            "description": "The Host header is not loopback, or an agent key lacks browz:credentials:use or named a profile outside its scope",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "404": {
            "description": "Not a GET (unknown credential endpoint)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "429": {
            "description": "An agent key used up its per-minute or per-day limit (`agentRefusal: \"rate_limited\"`, `retryAfterSec`, and a Retry-After header).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "500": {
            "description": "The local store could not be read",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "credentials/mod.rs route, list, check_agent; vault.rs Credential::to_json",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:credentials:use"
      }
    },
    "/api/v1/credential/remove": {
      "post": {
        "operationId": "postCredentialRemove",
        "summary": "Remove a stored credential",
        "description": "Deletes a credential and its sealed values. Owner token only: an agent key (`blcl_…`) gets 403 with `agentRefusal: \"not_available\"`.",
        "tags": [
          "Credential"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "id"
                ],
                "description": "Exactly `{id}`; anything else is refused (400).",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "The credential's id (`cred_…`)."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": true,
                      "required": [
                        "id",
                        "removed"
                      ],
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "removed": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The body is not exactly {id}",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "401": {
            "description": "Missing or wrong bearer token. For an agent key, `agentRefusal` says why: unknown_token, revoked, expired or suspended (the owner stopped all agents).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "403": {
            "description": "The Host header is not loopback, or the bearer is an agent key (`agentRefusal: \"not_available\"`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "404": {
            "description": "No such credential, or not a POST",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "429": {
            "description": "An agent key used up its per-minute or per-day limit (`agentRefusal: \"rate_limited\"`, `retryAfterSec`, and a Retry-After header).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "credentials/mod.rs route, manage; vault.rs remove",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/credential/update": {
      "post": {
        "operationId": "postCredentialUpdate",
        "summary": "Change a stored credential",
        "description": "Changes only the fields given; the rest keep their values. `totp: null` removes the TOTP seed; `fields` replaces every extra field. The reply is metadata only. Owner token only: an agent key (`blcl_…`) gets 403 with `agentRefusal: \"not_available\"`.",
        "tags": [
          "Credential"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "description": "Any other field is refused (400).",
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "The credential's id (`cred_…`)."
                  },
                  "label": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200,
                    "description": "Trimmed."
                  },
                  "scope": {
                    "$ref": "#/components/schemas/CredentialScope"
                  },
                  "sites": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/CredentialSite"
                    },
                    "minItems": 1,
                    "maxItems": 20
                  },
                  "username": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4096,
                    "writeOnly": true,
                    "description": "The username. 1 to 4096 bytes on one line. Write-only: never returned."
                  },
                  "password": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4096,
                    "writeOnly": true,
                    "description": "The password. 1 to 4096 bytes on one line. Write-only: never returned."
                  },
                  "totp": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "writeOnly": true,
                    "description": "A base32 TOTP seed or an otpauth://totp/ URI. Write-only: never returned; only hasTotp says one is stored."
                  },
                  "fields": {
                    "type": "array",
                    "maxItems": 10,
                    "writeOnly": true,
                    "description": "Extra fields, replacing any stored ones. Values are write-only.",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "name",
                        "value"
                      ],
                      "properties": {
                        "name": {
                          "type": "string",
                          "pattern": "^[A-Za-z0-9_-]{1,40}$",
                          "description": "Not username, password or totp (any case); unique."
                        },
                        "value": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 4096,
                          "writeOnly": true,
                          "description": "The value. 1 to 4096 bytes on one line. Write-only: never returned."
                        },
                        "secret": {
                          "type": "boolean",
                          "default": true,
                          "description": "Whether the value is scrubbed from page reads after a fill."
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/StoredCredential"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "A field is unknown or invalid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "401": {
            "description": "Missing or wrong bearer token. For an agent key, `agentRefusal` says why: unknown_token, revoked, expired or suspended (the owner stopped all agents).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "403": {
            "description": "The Host header is not loopback, or the bearer is an agent key (`agentRefusal: \"not_available\"`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "404": {
            "description": "No such credential, or not a POST",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          },
          "429": {
            "description": "An agent key used up its per-minute or per-day limit (`agentRefusal: \"rate_limited\"`, `retryAfterSec`, and a Retry-After header).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentKeyError"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "credentials/mod.rs route, manage; vault.rs Input::from_json, update",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/diagnostics/bundle": {
      "get": {
        "operationId": "getDiagnosticsBundle",
        "summary": "Diagnostics bundle",
        "tags": [
          "Diagnostics"
        ],
        "parameters": [
          {
            "name": "includeProfileNames",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/engine/status": {
      "get": {
        "operationId": "getEngineStatus",
        "summary": "Engine status",
        "tags": [
          "Browser engine"
        ],
        "parameters": [
          {
            "name": "probe",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/extension/approve": {
      "post": {
        "operationId": "postExtensionApprove",
        "summary": "Extension approve",
        "tags": [
          "Extensions"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/extension/install": {
      "post": {
        "operationId": "postExtensionInstall",
        "summary": "Extension install",
        "tags": [
          "Extensions"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/extension/install/crx": {
      "get": {
        "operationId": "getExtensionInstallCrx",
        "summary": "Extension install crx",
        "tags": [
          "Extensions"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/extension/install/zip": {
      "get": {
        "operationId": "getExtensionInstallZip",
        "summary": "Extension install zip",
        "tags": [
          "Extensions"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/extension/list": {
      "get": {
        "operationId": "getExtensionList",
        "summary": "Extension list",
        "tags": [
          "Extensions"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/extension/profile-policy": {
      "post": {
        "operationId": "postExtensionProfilePolicy",
        "summary": "Extension profile policy",
        "tags": [
          "Extensions"
        ],
        "parameters": [
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "profileId": {
                    "description": "A field the handler reads."
                  },
                  "missing": {
                    "description": "A field the handler reads."
                  },
                  "schemaVersion": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/extension/review": {
      "get": {
        "operationId": "getExtensionReview",
        "summary": "Extension review",
        "tags": [
          "Extensions"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/extension/rollback": {
      "post": {
        "operationId": "postExtensionRollback",
        "summary": "Extension rollback",
        "tags": [
          "Extensions"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/extension/set/upsert": {
      "post": {
        "operationId": "postExtensionSetUpsert",
        "summary": "Extension set upsert",
        "tags": [
          "Extensions"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/flow/artifact": {
      "get": {
        "operationId": "getFlowArtifact",
        "summary": "Flow artifact",
        "tags": [
          "Flows"
        ],
        "parameters": [
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "runId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "artifactId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "maxBytes",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/flow/artifacts": {
      "get": {
        "operationId": "getFlowArtifacts",
        "summary": "Flow artifacts",
        "tags": [
          "Flows"
        ],
        "parameters": [
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "runId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "artifactId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "maxBytes",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/flow/artifacts/delete": {
      "post": {
        "operationId": "postFlowArtifactsDelete",
        "summary": "Flow artifacts delete",
        "tags": [
          "Flows"
        ],
        "parameters": [
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "runId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "artifactId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "maxBytes",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/flow/delete": {
      "post": {
        "operationId": "postFlowDelete",
        "summary": "Flow delete",
        "tags": [
          "Flows"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/flow/folders": {
      "get": {
        "operationId": "getFlowFolders",
        "summary": "Flow folders",
        "tags": [
          "Flows"
        ],
        "parameters": [
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "folderId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/flow/folders/revoke": {
      "post": {
        "operationId": "postFlowFoldersRevoke",
        "summary": "Flow folders revoke",
        "tags": [
          "Flows"
        ],
        "parameters": [
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "folderId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/flow/list": {
      "get": {
        "operationId": "getFlowList",
        "summary": "Flow list",
        "tags": [
          "Flows"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/flow/run": {
      "post": {
        "operationId": "postFlowRun",
        "summary": "Flow run",
        "tags": [
          "Flows"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/flow/runs": {
      "get": {
        "operationId": "getFlowRuns",
        "summary": "Flow runs",
        "tags": [
          "Flows"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/flow/save": {
      "post": {
        "operationId": "postFlowSave",
        "summary": "Flow save",
        "tags": [
          "Flows"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "steps": {
                    "description": "A field the handler reads."
                  },
                  "flowSchemaVersion": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/flow/secret-bindings": {
      "post": {
        "operationId": "postFlowSecretBindings",
        "summary": "Flow secret bindings",
        "tags": [
          "Flows"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/flow/secret-bindings/revoke": {
      "post": {
        "operationId": "postFlowSecretBindingsRevoke",
        "summary": "Flow secret bindings revoke",
        "tags": [
          "Flows"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/folder/create": {
      "post": {
        "operationId": "postFolderCreate",
        "summary": "Folder create",
        "tags": [
          "Groups and folders"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  },
                  "color": {
                    "description": "A field the handler reads."
                  },
                  "parentId": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/folder/delete": {
      "post": {
        "operationId": "postFolderDelete",
        "summary": "Folder delete",
        "tags": [
          "Groups and folders"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "policy": {
                    "description": "A field the handler reads."
                  },
                  "targetFolderId": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/folder/list": {
      "get": {
        "operationId": "getFolderList",
        "summary": "Folder list",
        "tags": [
          "Groups and folders"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:read"
      }
    },
    "/api/v1/folder/update": {
      "post": {
        "operationId": "postFolderUpdate",
        "summary": "Folder update",
        "tags": [
          "Groups and folders"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  },
                  "color": {
                    "description": "A field the handler reads."
                  },
                  "parentId": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/geolite/status": {
      "get": {
        "operationId": "getGeoliteStatus",
        "summary": "Geolite status",
        "tags": [
          "Settings"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/geolite/update": {
      "post": {
        "operationId": "postGeoliteUpdate",
        "summary": "Geolite update",
        "tags": [
          "Settings"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "force": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/group/create": {
      "post": {
        "operationId": "postGroupCreate",
        "summary": "Group create",
        "tags": [
          "Groups and folders"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  },
                  "color": {
                    "description": "A field the handler reads."
                  },
                  "parentId": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/group/delete": {
      "post": {
        "operationId": "postGroupDelete",
        "summary": "Group delete",
        "tags": [
          "Groups and folders"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "policy": {
                    "description": "A field the handler reads."
                  },
                  "targetFolderId": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/group/list": {
      "get": {
        "operationId": "getGroupList",
        "summary": "Group list",
        "tags": [
          "Groups and folders"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:read"
      }
    },
    "/api/v1/group/update": {
      "post": {
        "operationId": "postGroupUpdate",
        "summary": "Group update",
        "tags": [
          "Groups and folders"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  },
                  "color": {
                    "description": "A field the handler reads."
                  },
                  "parentId": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/log/list": {
      "get": {
        "operationId": "getLogList",
        "summary": "Log list",
        "tags": [
          "Diagnostics"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/log/page": {
      "get": {
        "operationId": "getLogPage",
        "summary": "Log page",
        "tags": [
          "Diagnostics"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/marketplace/catalog": {
      "get": {
        "operationId": "getMarketplaceCatalog",
        "summary": "Marketplace catalog",
        "tags": [
          "Proxy store"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/proxy_marketplace.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/marketplace/orders": {
      "get": {
        "operationId": "getMarketplaceOrders",
        "summary": "Marketplace orders",
        "tags": [
          "Proxy store"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/proxy_marketplace.rs route",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postMarketplaceOrders",
        "summary": "Marketplace orders",
        "tags": [
          "Proxy store"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/proxy_marketplace.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/marketplace/orders/cancel": {
      "post": {
        "operationId": "postMarketplaceOrdersCancel",
        "summary": "Marketplace orders cancel",
        "tags": [
          "Proxy store"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/proxy_marketplace.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/marketplace/orders/import": {
      "post": {
        "operationId": "postMarketplaceOrdersImport",
        "summary": "Marketplace orders import",
        "tags": [
          "Proxy store"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/proxy_marketplace.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/marketplace/orders/rotate": {
      "post": {
        "operationId": "postMarketplaceOrdersRotate",
        "summary": "Marketplace orders rotate",
        "tags": [
          "Proxy store"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/proxy_marketplace.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/marketplace/orders/support": {
      "post": {
        "operationId": "postMarketplaceOrdersSupport",
        "summary": "Marketplace orders support",
        "tags": [
          "Proxy store"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/proxy_marketplace.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/marketplace/orders/usage": {
      "post": {
        "operationId": "postMarketplaceOrdersUsage",
        "summary": "Marketplace orders usage",
        "tags": [
          "Proxy store"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/proxy_marketplace.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/marketplace/quote": {
      "post": {
        "operationId": "postMarketplaceQuote",
        "summary": "Marketplace quote",
        "tags": [
          "Proxy store"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/proxy_marketplace.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/marketplace/status": {
      "get": {
        "operationId": "getMarketplaceStatus",
        "summary": "Marketplace status",
        "tags": [
          "Proxy store"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/proxy_marketplace.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/accounts": {
      "get": {
        "operationId": "getProfileAccounts",
        "summary": "Profile accounts",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/accounts/delete": {
      "post": {
        "operationId": "postProfileAccountsDelete",
        "summary": "Profile accounts delete",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/accounts/reveal": {
      "post": {
        "operationId": "postProfileAccountsReveal",
        "summary": "Profile accounts reveal",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/accounts/set": {
      "post": {
        "operationId": "postProfileAccountsSet",
        "summary": "Profile accounts set",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "password": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/artifact": {
      "get": {
        "operationId": "getProfileArtifact",
        "summary": "Profile artifact",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "artifactId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "maxBytes",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser:advanced"
      }
    },
    "/api/v1/profile/artifacts": {
      "get": {
        "operationId": "getProfileArtifacts",
        "summary": "Profile artifacts",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser:advanced"
      }
    },
    "/api/v1/profile/browser-settings": {
      "get": {
        "operationId": "getProfileBrowserSettings",
        "summary": "Profile browser settings",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/browser-settings/set": {
      "post": {
        "operationId": "postProfileBrowserSettingsSet",
        "summary": "Profile browser settings set",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "settings": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/clone/capabilities": {
      "get": {
        "operationId": "getProfileCloneCapabilities",
        "summary": "Profile clone capabilities",
        "tags": [
          "Profiles"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/clone/execute": {
      "post": {
        "operationId": "postProfileCloneExecute",
        "summary": "Profile clone execute",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/clone/preview": {
      "post": {
        "operationId": "postProfileClonePreview",
        "summary": "Profile clone preview",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/clone/renew": {
      "post": {
        "operationId": "postProfileCloneRenew",
        "summary": "Profile clone renew",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/cookies/export": {
      "get": {
        "operationId": "getProfileCookiesExport",
        "summary": "Export a profile's cookies",
        "description": "Returns every cookie from the profile's running browser. A stopped Firefox-engine profile is read from its cookie file instead; the reply then also has `source`, `skipped` and `note` beside `data`. Other engines must be running.",
        "tags": [
          "Cookies"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Profile id."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code",
                    "data"
                  ],
                  "properties": {
                    "code": {
                      "type": "integer",
                      "enum": [
                        0
                      ]
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Cookie"
                      }
                    },
                    "source": {
                      "type": "string",
                      "enum": [
                        "cookies.sqlite"
                      ],
                      "description": "Stopped Firefox-engine profile only."
                    },
                    "skipped": {
                      "type": "integer",
                      "description": "Stopped Firefox-engine profile only: rows that could not be read."
                    },
                    "note": {
                      "type": "string",
                      "description": "Stopped Firefox-engine profile only."
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "No such profile (from the verification privacy check)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "The profile is not running (or is unknown), the verification privacy pause blocks it, or a Firefox profile started while its file was read",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The cookies could not be read",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/profile/cookies/export\" (method not enforced); cookies.rs export; gecko_cookies.rs export, export_stored",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser:advanced"
      }
    },
    "/api/v1/profile/cookies/import": {
      "post": {
        "operationId": "postProfileCookiesImport",
        "summary": "Import cookies into a running profile",
        "description": "Sets cookies in the profile's running browser and reports how many were accepted and which were rejected, with the likely reason. The profile must be running.",
        "tags": [
          "Cookies"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "cookies"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id."
                  },
                  "cookies": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Cookie"
                    },
                    "description": "A missing or non-array value is treated as an empty list."
                  }
                },
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/CookieImportResult"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "No such profile (from the verification privacy check)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "The profile is not running (or is unknown), or the verification privacy pause blocks it",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The browser could not be reached",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/profile/cookies/import\"; cookies.rs import, to_cdp_params; gecko_cookies.rs import",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:browser:advanced"
      }
    },
    "/api/v1/profile/cookies/stage": {
      "post": {
        "operationId": "postProfileCookiesStage",
        "summary": "Profile cookies stage",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "cookies": {
                    "description": "A field the handler reads."
                  },
                  "source": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/cookies/stage/clear": {
      "post": {
        "operationId": "postProfileCookiesStageClear",
        "summary": "Profile cookies stage clear",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/cookies/staged": {
      "get": {
        "operationId": "getProfileCookiesStaged",
        "summary": "Profile cookies staged",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/create": {
      "post": {
        "operationId": "postProfileCreate",
        "summary": "Create a profile",
        "description": "Creates a profile and returns it with coherence warnings and an assurance tier. Omitted fields take the settings defaults; an omitted proxy falls back to automatic assignment or the default proxy when either is configured.",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProfileCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfileCreateResponse"
                }
              }
            }
          },
          "400": {
            "description": "invalid field (timezone, engine, archetype, fingerprint, id, proxy, proxyId or policy)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "workspace role lacks the create or edit-proxy right",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "unknown extension",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "profile limit or quota reached, or a distinct or separation identity cannot be assigned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "store failure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs Api::create, resolve_create_request, create_resolved_profile; team_sync.rs route_guard",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:write"
      }
    },
    "/api/v1/profile/delete": {
      "post": {
        "operationId": "postProfileDelete",
        "summary": "Move a profile to the trash",
        "description": "Stops the profile if it is running and moves it to the trash. `deleted` is false when the id names no profile outside the trash.",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id"
                ],
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code",
                    "deleted"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0
                    },
                    "deleted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "the profile is shared with you below edit access, or your role lacks the delete right",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "store failure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/profile/delete\"",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:write"
      }
    },
    "/api/v1/profile/delete-bulk": {
      "post": {
        "operationId": "postProfileDeleteBulk",
        "summary": "Move several profiles to the trash",
        "description": "Stops and trashes up to 1000 profiles. Duplicate ids are collapsed. Each profile gets its own result; a failure for one does not fail the request.",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "ids"
                ],
                "additionalProperties": true,
                "properties": {
                  "ids": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 1000,
                    "items": {
                      "type": "string"
                    },
                    "description": "Profile ids. Non-string and empty entries are ignored."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "object",
                      "required": [
                        "requested",
                        "ok",
                        "failed",
                        "results"
                      ],
                      "additionalProperties": true,
                      "properties": {
                        "requested": {
                          "type": "integer"
                        },
                        "ok": {
                          "type": "integer"
                        },
                        "failed": {
                          "type": "integer"
                        },
                        "results": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ProfileBulkResult"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "`ids` missing, empty or longer than 1000",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "some profiles are shared with you below edit access, or your role lacks the delete right",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs Api::bulk, bulk_delete, with_error_code",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/distinct-capacity": {
      "get": {
        "operationId": "getProfileDistinctCapacity",
        "summary": "Profile distinct capacity",
        "tags": [
          "Profiles"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/duplicate": {
      "post": {
        "operationId": "postProfileDuplicate",
        "summary": "Duplicate a profile",
        "description": "Copies a profile's settings into a new profile with a new id and a new seed, so the copy has a different fingerprint. The proxy is copied only when `copyProxy` is true.",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id"
                ],
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Source profile id."
                  },
                  "name": {
                    "type": "string",
                    "description": "Defaults to the source name followed by \" copy\"."
                  },
                  "copyProxy": {
                    "type": "boolean",
                    "default": false
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Profile"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "the profile is shared with you below launch access, or your role lacks the create right",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "unknown profile id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "the profile has other work in progress, its extension assignment is invalid, or a profile limit or quota was reached",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "store failure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/profile/duplicate\"; store.rs duplicate",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:write"
      }
    },
    "/api/v1/profile/engine-migration/preview": {
      "post": {
        "operationId": "postProfileEngineMigrationPreview",
        "summary": "Profile engine migration preview",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/entitlement": {
      "get": {
        "operationId": "getProfileEntitlement",
        "summary": "Profile entitlement",
        "tags": [
          "Profiles"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/exit-baseline": {
      "get": {
        "operationId": "getProfileExitBaseline",
        "summary": "Profile exit baseline",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/exit-baseline/clear": {
      "post": {
        "operationId": "postProfileExitBaselineClear",
        "summary": "Profile exit baseline clear",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/export": {
      "get": {
        "operationId": "getProfileExport",
        "summary": "Profile export",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/extensions/set": {
      "post": {
        "operationId": "postProfileExtensionsSet",
        "summary": "Profile extensions set",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/fingerprint": {
      "get": {
        "operationId": "getProfileFingerprint",
        "summary": "Preview a profile's fingerprint",
        "description": "Shows what the profile will present at its next launch, where each value comes from, and whether the configured engine honours it. Also served at /api/v1/profile/get/fingerprint.",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Profile id."
          },
          {
            "name": "verify",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "1"
              ]
            },
            "description": "`1` checks the engine now instead of using the cached result, which takes a few seconds."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/FingerprintPreview"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "unsupported archetype",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "unknown profile id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "the profile's stored identity or settings cannot be resolved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/profile/get/fingerprint\" | \"/api/v1/profile/fingerprint\", Api::fingerprint_preview",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/fingerprint-policy/set": {
      "post": {
        "operationId": "postProfileFingerprintPolicySet",
        "summary": "Set a profile's fingerprint Auto policy",
        "description": "Sets how automatic fingerprint surfaces are chosen. The body must contain exactly `id` and `fingerprintAutoPolicy`. The profile must be stopped; the new policy applies at the next launch.",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "fingerprintAutoPolicy"
                ],
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "fingerprintAutoPolicy": {
                    "type": "string",
                    "enum": [
                      "legacy",
                      "population-safe",
                      "distinct"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "object",
                      "required": [
                        "changed",
                        "profileId",
                        "fingerprintAutoPolicy"
                      ],
                      "additionalProperties": true,
                      "properties": {
                        "changed": {
                          "type": "boolean"
                        },
                        "profileId": {
                          "type": "string"
                        },
                        "fingerprintAutoPolicy": {
                          "type": "string",
                          "enum": [
                            "legacy",
                            "population-safe",
                            "distinct"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "body is not exactly id and fingerprintAutoPolicy, or the policy is invalid for this profile",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "the profile is shared with you below edit access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "unknown profile id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "profile is running or has other work in progress",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/profile/fingerprint-policy/set\", profile_assignment_request; profile_assignments.rs profile_fingerprint_policy_set_tx",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/get": {
      "get": {
        "operationId": "getProfileGet",
        "summary": "Get a profile",
        "description": "Returns one profile, including its proxy without the password.",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Profile id."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Profile"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "unknown profile id, or the profile is in the trash",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "store failure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/profile/get\"; store.rs get_redacted",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:read"
      }
    },
    "/api/v1/profile/get/fingerprint": {
      "get": {
        "operationId": "getProfileGetFingerprint",
        "summary": "Preview a profile's fingerprint (alias)",
        "description": "Same as /api/v1/profile/fingerprint.",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Profile id."
          },
          {
            "name": "verify",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "1"
              ]
            },
            "description": "`1` checks the engine now instead of using the cached result."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/FingerprintPreview"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "unsupported archetype",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "unknown profile id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "the profile's stored identity or settings cannot be resolved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/profile/get/fingerprint\" | \"/api/v1/profile/fingerprint\", Api::fingerprint_preview",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/import": {
      "post": {
        "operationId": "postProfileImport",
        "summary": "Profile import",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/import/{platform}": {
      "post": {
        "operationId": "postProfileImportPlatform",
        "summary": "Profile import by platform",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "platform",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "local-api",
                "cloud-api-a",
                "cloud-api-b",
                "cloud-api-c"
              ]
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/import.rs NEUTRAL_IDS",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/list": {
      "get": {
        "operationId": "getProfileList",
        "summary": "List profiles",
        "description": "Lists profiles that are not in the trash, with organization, lock and running state. Proxy details are not included; use `hasProxy`. Optional query fields filter and sort the list.",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Case-insensitive text search over name, tags, notes, primary site and status."
          },
          {
            "name": "operatorStatus",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Exact status, case-insensitive."
          },
          {
            "name": "site",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Exact primary site, case-insensitive."
          },
          {
            "name": "folderId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Folder id, or `none` for profiles in no folder."
          },
          {
            "name": "tag",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "One tag, case-insensitive."
          },
          {
            "name": "notes",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Substring of the notes, case-insensitive."
          },
          {
            "name": "proxy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "`with` or `true` for profiles with a proxy; any other value for profiles without one."
          },
          {
            "name": "running",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "true, running or 1; false, stopped or 0."
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Sort key: pinnedRank (default), running, proxy, folder, or any text field name such as name or createdAt."
          },
          {
            "name": "direction",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "description": "`desc` for descending; anything else is ascending."
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Profile"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "description": "store failure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/profile/list\", profile_list_filter_sort; organization.rs enrich_organizations; account_sync.rs enrich_identity",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:read"
      }
    },
    "/api/v1/profile/lock": {
      "get": {
        "operationId": "getProfileLock",
        "summary": "Profile lock",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/lock/bulk": {
      "post": {
        "operationId": "postProfileLockBulk",
        "summary": "Profile lock bulk",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "ids": {
                    "description": "A field the handler reads."
                  },
                  "password": {
                    "description": "A field the handler reads."
                  },
                  "action": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/lock/clear": {
      "post": {
        "operationId": "postProfileLockClear",
        "summary": "Profile lock clear",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "password": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/lock/set": {
      "post": {
        "operationId": "postProfileLockSet",
        "summary": "Profile lock set",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "password": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/lock/unlock": {
      "post": {
        "operationId": "postProfileLockUnlock",
        "summary": "Profile lock unlock",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "password": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/organization": {
      "get": {
        "operationId": "getProfileOrganization",
        "summary": "Profile organization",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/organize-bulk": {
      "post": {
        "operationId": "postProfileOrganizeBulk",
        "summary": "Profile organize bulk",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "ids": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/page": {
      "get": {
        "operationId": "getProfilePage",
        "summary": "Profile page",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/proxy/change-ip": {
      "post": {
        "operationId": "postProfileProxyChangeIp",
        "summary": "Change a profile's proxy IP",
        "description": "Gives a stopped profile a new exit IP: through its proxy's change-IP link, a new sticky session from the same proxy account, or a move to an unused matching pool proxy. With `apply` false (the default) it only describes the plan and makes no network call.",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id"
                  },
                  "apply": {
                    "type": "boolean",
                    "default": false,
                    "description": "Make the change. False returns the plan only."
                  },
                  "allowCountryChange": {
                    "type": "boolean",
                    "default": false,
                    "description": "Accept an exit in a different country; this resets the profile exit baseline."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ProxyChangeIpResult"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "description": "Unknown profile or no way to change its IP, an affected profile is running, or no candidate passed the exit check",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route /api/v1/profile/proxy/change-ip arm; server.rs change_ip_route; proxy_change_ip.rs change_profile_ip",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/purge": {
      "post": {
        "operationId": "postProfilePurge",
        "summary": "Permanently delete a trashed profile",
        "description": "Removes a profile that is already in the trash, including its data on disk. This cannot be undone.",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id"
                ],
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code",
                    "purged"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0
                    },
                    "purged": {
                      "const": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "only a workspace owner or admin can purge, or the profile is shared with you below manage access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "the profile is not in the trash",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "store failure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/profile/purge\"",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/quick/capabilities": {
      "get": {
        "operationId": "getProfileQuickCapabilities",
        "summary": "Profile quick capabilities",
        "tags": [
          "Profiles"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/quick_profile.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/quick/create": {
      "post": {
        "operationId": "postProfileQuickCreate",
        "summary": "Profile quick create",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/quick_profile.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/quick/discard": {
      "post": {
        "operationId": "postProfileQuickDiscard",
        "summary": "Profile quick discard",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/quick_profile.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/quick/list": {
      "get": {
        "operationId": "getProfileQuickList",
        "summary": "Profile quick list",
        "tags": [
          "Profiles"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/quick_profile.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/quick/promote": {
      "post": {
        "operationId": "postProfileQuickPromote",
        "summary": "Profile quick promote",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/quick_profile.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/removed": {
      "get": {
        "operationId": "getProfileRemoved",
        "summary": "List trashed profiles",
        "description": "Lists profiles in the trash, most recently changed first. Rows carry the stored profile fields and `fingerprintAutoPolicy` only.",
        "tags": [
          "Profiles"
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Profile"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "description": "store failure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/profile/removed\"; store.rs list_removed",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/reseed": {
      "post": {
        "operationId": "postProfileReseed",
        "summary": "Give a profile a new fingerprint",
        "description": "Replaces the profile's seed with a new random one, keeping its name, tags, folder, proxy, notes, cookies and explicit overrides. Sites that already saw the profile will see a different device with the same cookies. The profile must be stopped.",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id"
                ],
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "object",
                      "required": [
                        "id",
                        "seed",
                        "note"
                      ],
                      "additionalProperties": true,
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "seed": {
                          "type": "string"
                        },
                        "note": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "the profile is shared with you below edit access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "unknown profile id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "profile is running, a quota refused the change, or no unused rendering identity was available",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "store failure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/profile/reseed\"",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/resource": {
      "get": {
        "operationId": "getProfileResource",
        "summary": "Profile resource",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/resource/exclusion": {
      "post": {
        "operationId": "postProfileResourceExclusion",
        "summary": "Profile resource exclusion",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "source": {
                    "description": "A field the handler reads."
                  },
                  "reason": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/resource/policy": {
      "post": {
        "operationId": "postProfileResourcePolicy",
        "summary": "Profile resource policy",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "inherit": {
                    "description": "A field the handler reads."
                  },
                  "policy": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/resource/restore": {
      "post": {
        "operationId": "postProfileResourceRestore",
        "summary": "Profile resource restore",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/resource/scheduler": {
      "get": {
        "operationId": "getProfileResourceScheduler",
        "summary": "Profile resource scheduler",
        "tags": [
          "Profiles"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/resource/scheduler/config": {
      "post": {
        "operationId": "postProfileResourceSchedulerConfig",
        "summary": "Profile resource scheduler config",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/resource/suspend": {
      "post": {
        "operationId": "postProfileResourceSuspend",
        "summary": "Profile resource suspend",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/resource/tab/discard": {
      "post": {
        "operationId": "postProfileResourceTabDiscard",
        "summary": "Profile resource tab discard",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/resource/tab/freeze": {
      "post": {
        "operationId": "postProfileResourceTabFreeze",
        "summary": "Profile resource tab freeze",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/resource/tab/restore": {
      "post": {
        "operationId": "postProfileResourceTabRestore",
        "summary": "Profile resource tab restore",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/restore": {
      "post": {
        "operationId": "postProfileRestore",
        "summary": "Restore a trashed profile",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id"
                ],
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Profile id."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code",
                    "restored"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0
                    },
                    "restored": {
                      "const": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "the profile is shared with you below edit access, or your role lacks the delete right",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "the profile is not in the trash",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "profile quota or plan refuses the restore",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "store failure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/profile/restore\"",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/revision": {
      "get": {
        "operationId": "getProfileRevision",
        "summary": "Profile revision",
        "tags": [
          "Profiles"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/rotation-decision": {
      "get": {
        "operationId": "getProfileRotationDecision",
        "summary": "Profile rotation decision",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/rotation-decision/accept": {
      "post": {
        "operationId": "postProfileRotationDecisionAccept",
        "summary": "Profile rotation decision accept",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/screen/set": {
      "post": {
        "operationId": "postProfileScreenSet",
        "summary": "Profile screen set",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/selection/materialization": {
      "get": {
        "operationId": "getProfileSelectionMaterialization",
        "summary": "Profile selection materialization",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/selection/materialize": {
      "post": {
        "operationId": "postProfileSelectionMaterialize",
        "summary": "Profile selection materialize",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/separation-capacity": {
      "get": {
        "operationId": "getProfileSeparationCapacity",
        "summary": "Profile separation capacity",
        "tags": [
          "Profiles"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/signed-migration/execute": {
      "post": {
        "operationId": "postProfileSignedMigrationExecute",
        "summary": "Profile signed migration execute",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "acknowledgeIdentityChange": {
                    "description": "A field the handler reads."
                  },
                  "preview": {
                    "description": "A field the handler reads."
                  },
                  "backupId": {
                    "description": "A field the handler reads."
                  },
                  "action": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/signed-migration/preview": {
      "post": {
        "operationId": "postProfileSignedMigrationPreview",
        "summary": "Profile signed migration preview",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "acknowledgeIdentityChange": {
                    "description": "A field the handler reads."
                  },
                  "preview": {
                    "description": "A field the handler reads."
                  },
                  "backupId": {
                    "description": "A field the handler reads."
                  },
                  "action": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/signed-migration/recover": {
      "post": {
        "operationId": "postProfileSignedMigrationRecover",
        "summary": "Profile signed migration recover",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "acknowledgeIdentityChange": {
                    "description": "A field the handler reads."
                  },
                  "preview": {
                    "description": "A field the handler reads."
                  },
                  "backupId": {
                    "description": "A field the handler reads."
                  },
                  "action": {
                    "description": "A field the handler reads."
                  },
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/start-page/set": {
      "post": {
        "operationId": "postProfileStartPageSet",
        "summary": "Profile start page set",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/tags/add": {
      "post": {
        "operationId": "postProfileTagsAdd",
        "summary": "Profile tags add",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/tags/set": {
      "post": {
        "operationId": "postProfileTagsSet",
        "summary": "Profile tags set",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/profile/update": {
      "post": {
        "operationId": "postProfileUpdate",
        "summary": "Update a profile",
        "description": "Changes only the fields present in the body and returns the updated profile. Changing the proxy, extensions or fingerprint policy requires the profile to be stopped.",
        "tags": [
          "Profiles"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProfileUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Profile"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "invalid field, a proxy object was sent, or the selected proxy is no longer available",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "the profile is shared with you below edit access, or your role lacks the edit-proxy right",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "unknown profile id, or unknown extension",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "profile is running or busy, is locked, cannot change engine, or a quota refused the change",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "store failure",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/profile/update\"; bulk_organization.rs profile_update_with_proxy_id; store.rs update_in_transaction",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/assignment/application": {
      "get": {
        "operationId": "getProxyAssignmentApplication",
        "summary": "Proxy assignment application",
        "tags": [
          "Proxies"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/assignment/applications": {
      "get": {
        "operationId": "getProxyAssignmentApplications",
        "summary": "Proxy assignment applications",
        "tags": [
          "Proxies"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postProxyAssignmentApplications",
        "summary": "Proxy assignment applications",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "previewId": {
                    "description": "A field the handler reads."
                  },
                  "idempotencyKey": {
                    "description": "A field the handler reads."
                  },
                  "allowPartial": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/assignment/cancel": {
      "post": {
        "operationId": "postProxyAssignmentCancel",
        "summary": "Proxy assignment cancel",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/assignment/policies": {
      "get": {
        "operationId": "getProxyAssignmentPolicies",
        "summary": "Proxy assignment policies",
        "tags": [
          "Proxies"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postProxyAssignmentPolicies",
        "summary": "Proxy assignment policies",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/assignment/preview": {
      "get": {
        "operationId": "getProxyAssignmentPreview",
        "summary": "Proxy assignment preview",
        "tags": [
          "Proxies"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postProxyAssignmentPreview",
        "summary": "Proxy assignment preview",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/assignment/report": {
      "get": {
        "operationId": "getProxyAssignmentReport",
        "summary": "Proxy assignment report",
        "tags": [
          "Proxies"
        ],
        "parameters": [
          {
            "name": "kind",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/assignment/rollback": {
      "get": {
        "operationId": "getProxyAssignmentRollback",
        "summary": "Proxy assignment rollback",
        "tags": [
          "Proxies"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/assignment/rollback-run": {
      "post": {
        "operationId": "postProxyAssignmentRollbackRun",
        "summary": "Proxy assignment rollback run",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/assignment/rollbacks": {
      "post": {
        "operationId": "postProxyAssignmentRollbacks",
        "summary": "Proxy assignment rollbacks",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "applicationId": {
                    "description": "A field the handler reads."
                  },
                  "idempotencyKey": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/assignment/run": {
      "post": {
        "operationId": "postProxyAssignmentRun",
        "summary": "Proxy assignment run",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/change-ip": {
      "post": {
        "operationId": "postProxyChangeIp",
        "summary": "Change a pool proxy's IP",
        "description": "Calls the proxy's change-IP link and checks the proxy again. Every profile on that proxy gets the new exit; it is refused while any of them is running. A cooldown or provider rate limit is reported in the result without calling the provider.",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Pool proxy id"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ProxyChangeIpResult"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "description": "Unknown proxy, no change-IP link saved for it, a profile on it is running, or the rotation failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route /api/v1/proxy/change-ip arm; server.rs change_ip_route; proxy_change_ip.rs change_pool_ip, rotate_pool_proxy",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/change-ip-link": {
      "get": {
        "operationId": "getProxyChangeIpLink",
        "summary": "Proxy change ip link",
        "tags": [
          "Proxies"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/change-ip-urls": {
      "get": {
        "operationId": "getProxyChangeIpUrls",
        "summary": "Proxy change ip urls",
        "tags": [
          "Proxies"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/change-ip/bulk": {
      "post": {
        "operationId": "postProxyChangeIpBulk",
        "summary": "Proxy change ip bulk",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/check": {
      "post": {
        "operationId": "postProxyCheck",
        "summary": "Check a proxy",
        "description": "Connects through a proxy and reports whether it answers, its exit IP, location and capabilities. Send the id of a pool proxy (its stored login is used, and the result is kept in its check history), or an inline host and port with optional scheme, user and pass (checked but not recorded). When an id is sent, inline fields are ignored.",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "description": "Either `id`, or `host` and `port`.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "A pool proxy id. Takes precedence over every inline field."
                  },
                  "host": {
                    "type": "string"
                  },
                  "port": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 65535
                  },
                  "scheme": {
                    "type": "string",
                    "default": "http",
                    "description": "http, https, socks4, socks5 or ssh. Any other value is reported as a protocol error in the result."
                  },
                  "user": {
                    "type": "string"
                  },
                  "pass": {
                    "type": "string"
                  },
                  "dnsMode": {
                    "$ref": "#/components/schemas/ProxyDnsMode",
                    "description": "Inline proxies only; refused alongside an id."
                  }
                },
                "anyOf": [
                  {
                    "required": [
                      "id"
                    ]
                  },
                  {
                    "required": [
                      "host",
                      "port"
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ProxyCheckResult"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Neither an id nor host and port, an unknown proxy id, dnsMode sent with an id, an invalid dnsMode, or the SSH authority could not be activated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route /api/v1/proxy/check arm; server.rs proxy_check_input; proxy_check.rs check",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/create": {
      "post": {
        "operationId": "postProxyCreate",
        "summary": "Add or save a proxy in the pool",
        "description": "Creates a proxy, or saves an existing one when its id is given. This is the same operation as /api/v1/proxy/update. The password is stored encrypted and never returned.",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "description": "Omitted fields keep their stored values, so a partial edit is safe. host and port are required only when no proxy with this id exists yet.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Proxy id. Omit to create a new proxy with a generated id; an id that does not exist yet creates a proxy with that id."
                  },
                  "name": {
                    "type": "string"
                  },
                  "host": {
                    "type": "string",
                    "description": "Host name or IP address, without a scheme, path or spaces."
                  },
                  "port": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 65535
                  },
                  "scheme": {
                    "$ref": "#/components/schemas/ProxyScheme"
                  },
                  "type": {
                    "type": "string",
                    "description": "Alias for scheme, used when scheme is absent. Default http."
                  },
                  "user": {
                    "type": "string"
                  },
                  "pass": {
                    "type": "string",
                    "description": "Write only. Omit to keep the stored password."
                  },
                  "clearAuth": {
                    "type": "boolean",
                    "default": false,
                    "description": "Remove the stored username and password."
                  },
                  "dnsMode": {
                    "$ref": "#/components/schemas/ProxyDnsMode"
                  },
                  "geo": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Merged key by key into the stored geo, so measured values are kept."
                  },
                  "vendor": {
                    "type": "string"
                  },
                  "stability": {
                    "type": "string"
                  },
                  "changeIpUrl": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "The provider's change-IP URL, called with GET. Empty or null removes it. Do not send with changeIpLink."
                  },
                  "changeIpLink": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/ProxyRotationLink"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Full change-IP request definition; null removes it. Do not send with changeIpUrl."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": true,
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "The proxy id (generated ids start with px)."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "host and port missing for a new proxy, an invalid port, host, scheme, dnsMode, credentials or change-IP link, or changeIpUrl and changeIpLink sent together",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "The proxy is shared with you without edit access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route /api/v1/proxy/create | /api/v1/proxy/update arm; pool.rs pool_upsert, pool_set_claim",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/credential": {
      "post": {
        "operationId": "postProxyCredential",
        "summary": "Proxy credential",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/credential/options": {
      "get": {
        "operationId": "getProxyCredentialOptions",
        "summary": "Proxy credential options",
        "tags": [
          "Proxies"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/delete": {
      "post": {
        "operationId": "postProxyDelete",
        "summary": "Delete a proxy from the pool",
        "description": "Removes a proxy and its stored login. It is refused while profiles still use it, unless `force` is true. Deleting an id that does not exist succeeds with `deleted: false`.",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "required": [
                  "id"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "force": {
                    "type": "boolean",
                    "default": false,
                    "description": "Delete even while profiles use it."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "required": [
                    "code",
                    "deleted"
                  ],
                  "properties": {
                    "code": {
                      "const": 0
                    },
                    "deleted": {
                      "type": "boolean",
                      "description": "False when no proxy had this id."
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "The proxy is shared with you without the right to delete it",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Profiles still use this proxy; the message names them. Pass force to delete anyway",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The local store could not be written",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route /api/v1/proxy/delete arm; pool.rs pool_delete",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/history": {
      "get": {
        "operationId": "getProxyHistory",
        "summary": "Proxy history",
        "tags": [
          "Proxies"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/inuse": {
      "get": {
        "operationId": "getProxyInuse",
        "summary": "Proxy inuse",
        "tags": [
          "Proxies"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/list": {
      "get": {
        "operationId": "getProxyList",
        "summary": "List the proxy pool",
        "description": "Returns every proxy in the pool, ordered by name then host. Passwords are never returned: each row says only whether one is stored (`hasPassword`). The username is returned.",
        "tags": [
          "Proxies"
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Proxy"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "500": {
            "description": "The local store could not be read",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route /api/v1/proxy/list arm; pool.rs Store::pool_list",
        "x-browz-auth": "owner-or-agent-key",
        "x-browz-agent-scope": "browz:profiles:read"
      }
    },
    "/api/v1/proxy/page": {
      "get": {
        "operationId": "getProxyPage",
        "summary": "List the proxy pool a page at a time",
        "description": "A filtered, sorted page of the pool with usage counts. Any other query field, a repeated field, or a request body is refused. Passwords are never returned.",
        "tags": [
          "Proxies"
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "description": "Search name, host and vendor"
          },
          {
            "name": "scheme",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ProxyScheme"
            },
            "description": "Only proxies of this protocol"
          },
          {
            "name": "vendor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "description": "Only proxies from this vendor"
          },
          {
            "name": "usage",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "in-use",
                "unused"
              ]
            },
            "description": "Only proxies used, or not used, by a profile"
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "name",
                "scheme",
                "host",
                "vendor",
                "stability",
                "usage",
                "updatedAt"
              ],
              "default": "name"
            },
            "description": "Sort field"
          },
          {
            "name": "direction",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ],
              "default": "asc"
            },
            "description": "Sort direction"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 100
            },
            "description": "Page size, as a plain decimal"
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "`nextCursor` from the previous page"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ProxyPage"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unknown or repeated query field, an invalid filter, sort, limit or cursor, or a store error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "405": {
            "description": "Not a GET, or the request has a body",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route /api/v1/proxy/page arm; paged_reads.rs proxy_page_request, ProxyPageQuery::from_params, Store::proxy_page",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/provider-accounts": {
      "get": {
        "operationId": "getProxyProviderAccounts",
        "summary": "Proxy provider accounts",
        "tags": [
          "Proxies"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postProxyProviderAccounts",
        "summary": "Proxy provider accounts",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/provider-accounts/delete": {
      "post": {
        "operationId": "postProxyProviderAccountsDelete",
        "summary": "Proxy provider accounts delete",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/provider-accounts/import": {
      "post": {
        "operationId": "postProxyProviderAccountsImport",
        "summary": "Proxy provider accounts import",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/provider-accounts/list-import": {
      "post": {
        "operationId": "postProxyProviderAccountsListImport",
        "summary": "Proxy provider accounts list import",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/provider-accounts/list-preview": {
      "post": {
        "operationId": "postProxyProviderAccountsListPreview",
        "summary": "Proxy provider accounts list preview",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/provider-accounts/preview": {
      "post": {
        "operationId": "postProxyProviderAccountsPreview",
        "summary": "Proxy provider accounts preview",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/providers": {
      "get": {
        "operationId": "getProxyProviders",
        "summary": "Proxy providers",
        "tags": [
          "Proxies"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/reassignment/dismiss": {
      "post": {
        "operationId": "postProxyReassignmentDismiss",
        "summary": "Proxy reassignment dismiss",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "profileId": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/reputation/alerts": {
      "get": {
        "operationId": "getProxyReputationAlerts",
        "summary": "Proxy reputation alerts",
        "tags": [
          "Proxies"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "open",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/reputation/alerts/ack": {
      "post": {
        "operationId": "postProxyReputationAlertsAck",
        "summary": "Proxy reputation alerts ack",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/reputation/check": {
      "post": {
        "operationId": "postProxyReputationCheck",
        "summary": "Proxy reputation check",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/reputation/export": {
      "get": {
        "operationId": "getProxyReputationExport",
        "summary": "Proxy reputation export",
        "tags": [
          "Proxies"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/reputation/history": {
      "get": {
        "operationId": "getProxyReputationHistory",
        "summary": "Proxy reputation history",
        "tags": [
          "Proxies"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/reputation/list": {
      "get": {
        "operationId": "getProxyReputationList",
        "summary": "Proxy reputation list",
        "tags": [
          "Proxies"
        ],
        "parameters": [
          {
            "name": "decision",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "label",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "provider",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "disagreement",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "alerts",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/reputation/policy": {
      "get": {
        "operationId": "getProxyReputationPolicy",
        "summary": "Proxy reputation policy",
        "tags": [
          "Proxies"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postProxyReputationPolicy",
        "summary": "Proxy reputation policy",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/reputation/providers": {
      "get": {
        "operationId": "getProxyReputationProviders",
        "summary": "Proxy reputation providers",
        "tags": [
          "Proxies"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postProxyReputationProviders",
        "summary": "Proxy reputation providers",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/reputation/providers/delete": {
      "post": {
        "operationId": "postProxyReputationProvidersDelete",
        "summary": "Proxy reputation providers delete",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "provider": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/rotation-decisions": {
      "get": {
        "operationId": "getProxyRotationDecisions",
        "summary": "Proxy rotation decisions",
        "tags": [
          "Proxies"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/scorecard": {
      "get": {
        "operationId": "getProxyScorecard",
        "summary": "Proxy scorecard",
        "tags": [
          "Proxies"
        ],
        "parameters": [
          {
            "name": "stability",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/sources": {
      "get": {
        "operationId": "getProxySources",
        "summary": "Proxy sources",
        "tags": [
          "Proxies"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/ssh": {
      "get": {
        "operationId": "getProxySsh",
        "summary": "Proxy ssh",
        "tags": [
          "Proxies"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postProxySsh",
        "summary": "Proxy ssh",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/ssh/host-key": {
      "post": {
        "operationId": "postProxySshHostKey",
        "summary": "Proxy ssh host key",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "host": {
                    "description": "A field the handler reads."
                  },
                  "port": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/proxy/update": {
      "post": {
        "operationId": "postProxyUpdate",
        "summary": "Edit a proxy in the pool",
        "description": "Saves changes to a proxy. Fields you omit keep their stored values, including the password; send clearAuth to remove the login. This is the same operation as /api/v1/proxy/create, so an id that does not exist yet creates a proxy.",
        "tags": [
          "Proxies"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "description": "Omitted fields keep their stored values, so a partial edit is safe. host and port are required only when no proxy with this id exists yet.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Proxy id. Omit to create a new proxy with a generated id; an id that does not exist yet creates a proxy with that id."
                  },
                  "name": {
                    "type": "string"
                  },
                  "host": {
                    "type": "string",
                    "description": "Host name or IP address, without a scheme, path or spaces."
                  },
                  "port": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 65535
                  },
                  "scheme": {
                    "$ref": "#/components/schemas/ProxyScheme"
                  },
                  "type": {
                    "type": "string",
                    "description": "Alias for scheme, used when scheme is absent. Default http."
                  },
                  "user": {
                    "type": "string"
                  },
                  "pass": {
                    "type": "string",
                    "description": "Write only. Omit to keep the stored password."
                  },
                  "clearAuth": {
                    "type": "boolean",
                    "default": false,
                    "description": "Remove the stored username and password."
                  },
                  "dnsMode": {
                    "$ref": "#/components/schemas/ProxyDnsMode"
                  },
                  "geo": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Merged key by key into the stored geo, so measured values are kept."
                  },
                  "vendor": {
                    "type": "string"
                  },
                  "stability": {
                    "type": "string"
                  },
                  "changeIpUrl": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "The provider's change-IP URL, called with GET. Empty or null removes it. Do not send with changeIpLink."
                  },
                  "changeIpLink": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/ProxyRotationLink"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Full change-IP request definition; null removes it. Do not send with changeIpUrl."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": true,
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "An invalid port, host, scheme, dnsMode, credentials or change-IP link, host and port missing for an id not in the pool, or changeIpUrl and changeIpLink sent together",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "description": "The proxy is shared with you without edit access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route /api/v1/proxy/create | /api/v1/proxy/update arm",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/remote-control/reenroll": {
      "post": {
        "operationId": "postRemoteControlReenroll",
        "summary": "Remote control reenroll",
        "tags": [
          "Account and sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/remote-control/status": {
      "get": {
        "operationId": "getRemoteControlStatus",
        "summary": "Remote control status",
        "tags": [
          "Account and sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/resource-sharing/authority/{operation}": {
      "post": {
        "operationId": "postResourceSharingAuthorityOperation",
        "summary": "Resource sharing authority by operation",
        "tags": [
          "Account and sync"
        ],
        "parameters": [
          {
            "name": "operation",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "describe",
                "apply-deny-removal",
                "apply-move",
                "complete-grant",
                "complete-reconciliation",
                "create-resource",
                "materialize",
                "materialized",
                "prepare-deny-removal",
                "request",
                "sources",
                "update-resource"
              ]
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/resource_sharing/authority.rs route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/settings/get": {
      "get": {
        "operationId": "getSettingsGet",
        "summary": "Settings get",
        "tags": [
          "Settings"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/settings/purge-expired": {
      "post": {
        "operationId": "postSettingsPurgeExpired",
        "summary": "Settings purge expired",
        "tags": [
          "Settings"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "days": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/settings/set": {
      "post": {
        "operationId": "postSettingsSet",
        "summary": "Settings set",
        "tags": [
          "Settings"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/settings/storage": {
      "get": {
        "operationId": "getSettingsStorage",
        "summary": "Settings storage",
        "tags": [
          "Settings"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/store/account": {
      "get": {
        "operationId": "getStoreAccount",
        "summary": "Store account",
        "tags": [
          "Proxy store"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/store/catalog": {
      "get": {
        "operationId": "getStoreCatalog",
        "summary": "Store catalog",
        "tags": [
          "Proxy store"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/store/purchase": {
      "post": {
        "operationId": "postStorePurchase",
        "summary": "Store purchase",
        "tags": [
          "Proxy store"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/store/status": {
      "get": {
        "operationId": "getStoreStatus",
        "summary": "Store status",
        "tags": [
          "Proxy store"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/sync/broadcast": {
      "post": {
        "operationId": "postSyncBroadcast",
        "summary": "Sync broadcast",
        "tags": [
          "Window sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "steps": {
                    "description": "A field the handler reads."
                  },
                  "flowSchemaVersion": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/sync/live/follower": {
      "post": {
        "operationId": "postSyncLiveFollower",
        "summary": "Sync live follower",
        "tags": [
          "Window sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  },
                  "action": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/sync/live/probe": {
      "get": {
        "operationId": "getSyncLiveProbe",
        "summary": "Sync live probe",
        "tags": [
          "Window sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/sync/live/start": {
      "post": {
        "operationId": "postSyncLiveStart",
        "summary": "Sync live start",
        "tags": [
          "Window sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "leader": {
                    "description": "A field the handler reads."
                  },
                  "pacingMs": {
                    "description": "A field the handler reads."
                  },
                  "scriptedInput": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/sync/live/status": {
      "get": {
        "operationId": "getSyncLiveStatus",
        "summary": "Sync live status",
        "tags": [
          "Window sync"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/sync/live/stop": {
      "post": {
        "operationId": "postSyncLiveStop",
        "summary": "Sync live stop",
        "tags": [
          "Window sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/sync/tile": {
      "post": {
        "operationId": "postSyncTile",
        "summary": "Sync tile",
        "tags": [
          "Window sync"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "area": {
                    "description": "A field the handler reads."
                  },
                  "cols": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/archive": {
      "post": {
        "operationId": "postTemplatesArchive",
        "summary": "Templates archive",
        "tags": [
          "Templates"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/assign": {
      "post": {
        "operationId": "postTemplatesAssign",
        "summary": "Templates assign",
        "tags": [
          "Templates"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/assignment": {
      "get": {
        "operationId": "getTemplatesAssignment",
        "summary": "Templates assignment",
        "tags": [
          "Templates"
        ],
        "parameters": [
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/assignment/mode": {
      "post": {
        "operationId": "postTemplatesAssignmentMode",
        "summary": "Templates assignment mode",
        "tags": [
          "Templates"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/assignments": {
      "get": {
        "operationId": "getTemplatesAssignments",
        "summary": "Templates assignments",
        "tags": [
          "Templates"
        ],
        "parameters": [
          {
            "name": "templateId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/capabilities": {
      "get": {
        "operationId": "getTemplatesCapabilities",
        "summary": "Templates capabilities",
        "tags": [
          "Templates"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/clone": {
      "post": {
        "operationId": "postTemplatesClone",
        "summary": "Templates clone",
        "tags": [
          "Templates"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/create": {
      "post": {
        "operationId": "postTemplatesCreate",
        "summary": "Templates create",
        "tags": [
          "Templates"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/export": {
      "post": {
        "operationId": "postTemplatesExport",
        "summary": "Templates export",
        "tags": [
          "Templates"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/get": {
      "get": {
        "operationId": "getTemplatesGet",
        "summary": "Templates get",
        "tags": [
          "Templates"
        ],
        "parameters": [
          {
            "name": "revision",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/import": {
      "post": {
        "operationId": "postTemplatesImport",
        "summary": "Templates import",
        "tags": [
          "Templates"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/list": {
      "get": {
        "operationId": "getTemplatesList",
        "summary": "Templates list",
        "tags": [
          "Templates"
        ],
        "parameters": [
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/profile/create": {
      "post": {
        "operationId": "postTemplatesProfileCreate",
        "summary": "Templates profile create",
        "tags": [
          "Templates"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/profile/preview": {
      "post": {
        "operationId": "postTemplatesProfilePreview",
        "summary": "Templates profile preview",
        "tags": [
          "Templates"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/restore": {
      "post": {
        "operationId": "postTemplatesRestore",
        "summary": "Templates restore",
        "tags": [
          "Templates"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/revise": {
      "post": {
        "operationId": "postTemplatesRevise",
        "summary": "Templates revise",
        "tags": [
          "Templates"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/revisions": {
      "get": {
        "operationId": "getTemplatesRevisions",
        "summary": "Templates revisions",
        "tags": [
          "Templates"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/unassign": {
      "post": {
        "operationId": "postTemplatesUnassign",
        "summary": "Templates unassign",
        "tags": [
          "Templates"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/update/apply": {
      "post": {
        "operationId": "postTemplatesUpdateApply",
        "summary": "Templates update apply",
        "tags": [
          "Templates"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/templates/update/preview": {
      "post": {
        "operationId": "postTemplatesUpdatePreview",
        "summary": "Templates update preview",
        "tags": [
          "Templates"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/template_routes.rs templates_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/token": {
      "get": {
        "operationId": "getToken",
        "summary": "Get the API token and agent paths",
        "description": "Returns the current bearer token, the API port, the agent's data folder and where the MCP server binary is expected. Requires the token itself.",
        "tags": [
          "Token"
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/TokenInfo"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs route \"/api/v1/token\" (method not enforced)",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/token/rotate": {
      "post": {
        "operationId": "postTokenRotate",
        "summary": "Rotate the API token",
        "description": "Replaces the bearer token with a new random one and returns it; the old token stops working at once. The body must be exactly `{}` sent as `application/json` over HTTP/1.1, with no query string. When the agent runs under the desktop app, this route is not available over TCP and answers 404.",
        "tags": [
          "Token"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "additionalProperties": false,
                "maxProperties": 0
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "code"
                  ],
                  "additionalProperties": true,
                  "properties": {
                    "code": {
                      "const": 0,
                      "description": "0 on success."
                    },
                    "data": {
                      "$ref": "#/components/schemas/TokenRotateResult"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request is not exactly an HTTP/1.1 POST with `Content-Type: application/json`, one canonical `Content-Length: 2` and a `{}` body, or it has a query string",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "description": "The agent is supervised by the desktop app, so rotation is only available to the app",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "The new token could not be written to disk",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-browz-detail": "full",
        "x-browz-source": "server.rs Api::route_token_rotation, token_rotate_framing, tcp_route_available",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/verification-privacy/dismiss": {
      "post": {
        "operationId": "postVerificationPrivacyDismiss",
        "summary": "Verification privacy dismiss",
        "tags": [
          "Verification privacy"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/verification-privacy/new-session": {
      "post": {
        "operationId": "postVerificationPrivacyNewSession",
        "summary": "Verification privacy new session",
        "tags": [
          "Verification privacy"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/verification-privacy/pause": {
      "post": {
        "operationId": "postVerificationPrivacyPause",
        "summary": "Verification privacy pause",
        "tags": [
          "Verification privacy"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/verification-privacy/resume": {
      "post": {
        "operationId": "postVerificationPrivacyResume",
        "summary": "Verification privacy resume",
        "tags": [
          "Verification privacy"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/verification-privacy/status": {
      "get": {
        "operationId": "getVerificationPrivacyStatus",
        "summary": "Verification privacy status",
        "tags": [
          "Verification privacy"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/warmup/cancel": {
      "post": {
        "operationId": "postWarmupCancel",
        "summary": "Warmup cancel",
        "tags": [
          "Warm-up"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/warmup/capabilities": {
      "get": {
        "operationId": "getWarmupCapabilities",
        "summary": "Warmup capabilities",
        "tags": [
          "Warm-up"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/warmup/cookies/trust": {
      "post": {
        "operationId": "postWarmupCookiesTrust",
        "summary": "Warmup cookies trust",
        "tags": [
          "Warm-up"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/warmup_host.rs control_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/warmup/plan": {
      "post": {
        "operationId": "postWarmupPlan",
        "summary": "Warmup plan",
        "tags": [
          "Warm-up"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/warmup/preflight": {
      "post": {
        "operationId": "postWarmupPreflight",
        "summary": "Warmup preflight",
        "tags": [
          "Warm-up"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "profileRevision": {
                    "description": "A field the handler reads."
                  },
                  "proxyPolicyRef": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/warmup/profile-reference": {
      "get": {
        "operationId": "getWarmupProfileReference",
        "summary": "Warmup profile reference",
        "tags": [
          "Warm-up"
        ],
        "parameters": [
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/warmup/profiles/{profileId}/history": {
      "get": {
        "operationId": "getWarmupProfilesProfileIdHistory",
        "summary": "Warmup profiles by profileId history",
        "tags": [
          "Warm-up"
        ],
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/warmup_host.rs control_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/warmup/recipes": {
      "get": {
        "operationId": "getWarmupRecipes",
        "summary": "Warmup recipes",
        "tags": [
          "Warm-up"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/warmup_host.rs control_route",
        "x-browz-auth": "owner"
      },
      "post": {
        "operationId": "postWarmupRecipes",
        "summary": "Warmup recipes",
        "tags": [
          "Warm-up"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/warmup_host.rs control_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/warmup/recipes/preview": {
      "post": {
        "operationId": "postWarmupRecipesPreview",
        "summary": "Warmup recipes preview",
        "tags": [
          "Warm-up"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/warmup_host.rs control_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/warmup/runs": {
      "post": {
        "operationId": "postWarmupRuns",
        "summary": "Warmup runs",
        "tags": [
          "Warm-up"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/warmup_host.rs control_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/warmup/runs/{runId}/cancel": {
      "post": {
        "operationId": "postWarmupRunsRunIdCancel",
        "summary": "Warmup runs by runId cancel",
        "tags": [
          "Warm-up"
        ],
        "parameters": [
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/warmup_host.rs control_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/warmup/runs/{runId}/report": {
      "get": {
        "operationId": "getWarmupRunsRunIdReport",
        "summary": "Warmup runs by runId report",
        "tags": [
          "Warm-up"
        ],
        "parameters": [
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/warmup_host.rs control_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/warmup/scheduler/pass": {
      "post": {
        "operationId": "postWarmupSchedulerPass",
        "summary": "Warmup scheduler pass",
        "tags": [
          "Warm-up"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/warmup_host.rs control_route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/warmup/step": {
      "post": {
        "operationId": "postWarmupStep",
        "summary": "Warmup step",
        "tags": [
          "Warm-up"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/webhook/create": {
      "post": {
        "operationId": "postWebhookCreate",
        "summary": "Webhook create",
        "tags": [
          "Webhooks"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/webhook/delete": {
      "post": {
        "operationId": "postWebhookDelete",
        "summary": "Webhook delete",
        "tags": [
          "Webhooks"
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "id": {
                    "description": "A field the handler reads."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/webhook/deliveries": {
      "get": {
        "operationId": "getWebhookDeliveries",
        "summary": "Webhook deliveries",
        "tags": [
          "Webhooks"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A field the handler reads."
          }
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/api/v1/webhook/list": {
      "get": {
        "operationId": "getWebhookList",
        "summary": "Webhook list",
        "tags": [
          "Webhooks"
        ],
        "responses": {
          "200": {
            "description": "Success. The body is JSON; most routes answer `{\"code\":0,\"data\":…}`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "x-browz-detail": "basic",
        "x-browz-method-inferred": true,
        "x-browz-source": "agent-rs/src/server.rs Api::route",
        "x-browz-auth": "owner"
      }
    },
    "/status": {
      "get": {
        "operationId": "getStatus",
        "summary": "Check that the agent is running",
        "description": "Unauthenticated liveness check. It confirms a Browz agent is listening and that other routes need a bearer token.",
        "tags": [
          "Status"
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusInfo"
                }
              }
            }
          },
          "400": {
            "description": "The request could not be parsed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "The Host header is not a loopback address",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "security": [],
        "x-browz-detail": "full",
        "x-browz-source": "server.rs serve (answered before authentication; method not enforced)",
        "x-browz-auth": "none"
      }
    }
  },
  "components": {
    "responses": {
      "BadRequest": {
        "description": "The request was refused: a missing or invalid field, or a body the route does not accept.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Missing or wrong bearer token.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Forbidden": {
        "description": "The Host header is not loopback (anti-DNS-rebinding), or the account or team does not allow this.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "NotFound": {
        "description": "Unknown id, or no such endpoint.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "The Local API token from <data dir>/api-token (default ~/.browz/api-token). Rotate it with POST /api/v1/token/rotate."
      }
    },
    "schemas": {
      "Error": {
        "type": "object",
        "additionalProperties": true,
        "description": "A refusal. `msg` says what went wrong and what to do; `errorCode` is a stable machine code. A few account-sharing routes answer `{\"code\": \"<machine code>\"}` instead.",
        "properties": {
          "code": {
            "oneOf": [
              {
                "type": "integer",
                "const": -1
              },
              {
                "type": "string"
              }
            ]
          },
          "msg": {
            "type": "string"
          },
          "errorCode": {
            "type": "string",
            "description": "Stable machine code for the failure, for example a help-center anchor."
          },
          "helpUrl": {
            "type": "string",
            "format": "uri",
            "description": "Set by some refusals (for example a launch the agent refused): the help article for it."
          }
        }
      },
      "Success": {
        "type": "object",
        "additionalProperties": true,
        "description": "A success body. Most routes answer `{\"code\": 0, \"data\": …}`.",
        "properties": {
          "code": {
            "type": "integer",
            "const": 0
          },
          "data": {}
        }
      },
      "AgentAuditEntry": {
        "type": "object",
        "additionalProperties": true,
        "description": "One call an agent key made. Holds no page text, typed text, arguments, screenshots, cookie values, tokens or messages.",
        "required": [
          "id",
          "at",
          "agentId",
          "agentName",
          "tool",
          "route",
          "profileId",
          "page",
          "outcome",
          "reason",
          "status",
          "durationMs"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "Row id, increasing. Pass the last one as `before` for the next page."
          },
          "at": {
            "type": "string",
            "format": "date-time",
            "description": "UTC, RFC 3339 with milliseconds."
          },
          "agentId": {
            "type": "string"
          },
          "agentName": {
            "type": "string"
          },
          "tool": {
            "type": [
              "string",
              "null"
            ],
            "description": "The MCP tool, when the call came through browz-mcp."
          },
          "route": {
            "type": "string",
            "description": "Method and path, for example \"POST /api/v1/browser/act\"."
          },
          "profileId": {
            "type": [
              "string",
              "null"
            ]
          },
          "page": {
            "type": [
              "string",
              "null"
            ],
            "description": "Origin and path only, never the query or fragment."
          },
          "outcome": {
            "type": "string",
            "enum": [
              "ok",
              "error",
              "refused",
              "rate_limited",
              "revoked",
              "expired",
              "suspended"
            ]
          },
          "reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "A short machine code, for example off_list or insufficient_scope."
          },
          "status": {
            "type": [
              "integer",
              "null"
            ],
            "description": "The HTTP status answered."
          },
          "durationMs": {
            "type": "integer"
          },
          "credentialId": {
            "type": "string",
            "description": "Only on a credential fill: the credential used. Never its value."
          },
          "field": {
            "type": "string",
            "description": "Only on a credential fill: the field name (\"-\" when the request named no real field)."
          }
        }
      },
      "AgentKey": {
        "type": "object",
        "additionalProperties": true,
        "description": "An agent key as the owner sees it. Never the key itself or its hash.",
        "required": [
          "id",
          "name",
          "scopes",
          "profiles",
          "sites",
          "perMinute",
          "perDay",
          "createdAt",
          "expiresAt",
          "lastUsedAt",
          "revokedAt",
          "suspendedAt",
          "status"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^la_[0-9a-f]{18}$",
            "description": "The key's id, used to revoke or resume it. Not a secret and not the key."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          },
          "scopes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentScope"
            }
          },
          "profiles": {
            "$ref": "#/components/schemas/AgentProfileScope"
          },
          "sites": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The allowed sites, as normalised hosts (each also allows its subdomains), optionally with `:port`. Empty: no site restriction."
          },
          "perMinute": {
            "type": "integer",
            "minimum": 1,
            "maximum": 600
          },
          "perDay": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100000
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "UTC, RFC 3339 with milliseconds."
          },
          "expiresAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "null: the key never expires (created with noExpiry)."
          },
          "lastUsedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "UTC, RFC 3339 with milliseconds; null when it has not happened."
          },
          "revokedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "UTC, RFC 3339 with milliseconds; null when it has not happened."
          },
          "suspendedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Set by stop-all; cleared by resume."
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "expired",
              "suspended",
              "revoked"
            ],
            "description": "revoked wins over expired, and expired over suspended."
          }
        }
      },
      "AgentKeyCreate": {
        "type": "object",
        "additionalProperties": false,
        "description": "Any other field is refused (400).",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60,
            "description": "How you recognise the agent. Trimmed; no control characters."
          },
          "scopes": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/AgentScope"
            },
            "minItems": 1,
            "description": "Left out or null: browz:profiles:read, browz:profiles:write and browz:browser (or, with readOnly, browz:profiles:read and browz:browser:read). Stored in canonical order without duplicates."
          },
          "readOnly": {
            "type": [
              "boolean",
              "null"
            ],
            "default": false,
            "description": "Read-only defaults. With `scopes`, refused if any scope changes profiles or acts on pages."
          },
          "profiles": {
            "$ref": "#/components/schemas/AgentProfileScope",
            "description": "Left out or null: \"all\"."
          },
          "sites": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "description": "Hosts such as example.com (each also allows its subdomains), optionally with a port. Left out, null or empty: every site."
          },
          "days": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1,
            "maximum": 90,
            "description": "Lifetime in days; 30 when left out. Not with noExpiry."
          },
          "noExpiry": {
            "type": [
              "boolean",
              "null"
            ],
            "default": false,
            "description": "The key never expires. Not with days."
          },
          "perMinute": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1,
            "maximum": 600,
            "description": "Calls a minute; 60 when left out."
          },
          "perDay": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1,
            "maximum": 100000,
            "description": "Calls a UTC day; 10,000 when left out."
          }
        }
      },
      "AgentKeyError": {
        "type": "object",
        "additionalProperties": true,
        "description": "A refusal from a route an agent key can reach. The usual `{code: -1, msg}`, plus `agentRefusal` when the agent gate refused an agent key, and `retryAfterSec` on a rate limit.",
        "required": [
          "code",
          "msg"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "const": -1
          },
          "msg": {
            "type": "string",
            "description": "What went wrong and what to do. Never quotes a stored secret."
          },
          "agentRefusal": {
            "type": "string",
            "enum": [
              "unknown_token",
              "revoked",
              "expired",
              "suspended",
              "rate_limited",
              "not_available",
              "insufficient_scope",
              "profile_out_of_scope",
              "cannot_create",
              "off_list"
            ],
            "description": "Set only when the agent gate refused an agent key."
          },
          "retryAfterSec": {
            "type": "integer",
            "minimum": 0,
            "description": "With `agentRefusal: \"rate_limited\"`: seconds until the next call is allowed."
          }
        }
      },
      "AgentKeyLimits": {
        "type": "object",
        "additionalProperties": true,
        "description": "The limits the agent enforces on keys, and the scopes it knows.",
        "required": [
          "maxActiveTokens",
          "daysDefault",
          "daysMax",
          "maxSites",
          "maxScopedProfiles",
          "perMinuteDefault",
          "perMinuteMax",
          "perDayDefault",
          "perDayMax",
          "auditRetentionDays",
          "scopes",
          "defaultScopes"
        ],
        "properties": {
          "maxActiveTokens": {
            "type": "integer",
            "description": "Keys that are neither revoked nor expired (20)."
          },
          "daysDefault": {
            "type": "integer",
            "description": "Lifetime in days when `days` is left out (30)."
          },
          "daysMax": {
            "type": "integer",
            "description": "Longest lifetime in days (90), unless noExpiry."
          },
          "maxSites": {
            "type": "integer",
            "description": "Entries in `sites` (100)."
          },
          "maxScopedProfiles": {
            "type": "integer",
            "description": "Profile ids in a list scope (500)."
          },
          "perMinuteDefault": {
            "type": "integer"
          },
          "perMinuteMax": {
            "type": "integer"
          },
          "perDayDefault": {
            "type": "integer"
          },
          "perDayMax": {
            "type": "integer"
          },
          "auditRetentionDays": {
            "type": "integer",
            "description": "How long audit rows are kept (90)."
          },
          "scopes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentScope"
            },
            "description": "Every scope, in canonical order."
          },
          "defaultScopes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentScope"
            },
            "description": "What a key gets when `scopes` and `readOnly` are left out."
          }
        }
      },
      "AgentProfileScope": {
        "description": "Which profiles the key may touch: \"all\" (the default), \"own\" (only profiles this key created), a list of 1 to 500 profile ids, or {\"group\": \"<group id>\"} (profiles in that group, checked at each call).",
        "oneOf": [
          {
            "type": "string",
            "enum": [
              "all",
              "own"
            ]
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "maxItems": 500,
            "uniqueItems": true
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "group"
            ],
            "properties": {
              "group": {
                "type": "string"
              }
            }
          }
        ]
      },
      "AgentScope": {
        "type": "string",
        "enum": [
          "browz:profiles:read",
          "browz:profiles:write",
          "browz:browser:read",
          "browz:browser",
          "browz:browser:advanced",
          "browz:credentials:use"
        ],
        "description": "What an agent key may do. browz:profiles:read lists and reads profiles, groups, proxies (no credentials), running browsers and agent sessions. browz:profiles:write creates, clones, deletes, starts and stops profiles and opens, resumes and closes agent sessions. browz:browser:read looks at pages (snapshot, screenshot, wait, tabs). browz:browser drives pages (navigate, act, tabs, hand-off) and implies browz:browser:read. browz:browser:advanced runs script, reads and writes cookies and downloads, and receives DevTools endpoints. browz:credentials:use lists and fills stored credentials. The last two are never in the default set."
      },
      "AgentSession": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "sessionId",
          "task",
          "mode",
          "identity",
          "profileId",
          "proxyId",
          "state",
          "running",
          "createdAt",
          "updatedAt",
          "closedAt",
          "expiresAt",
          "lastError"
        ],
        "properties": {
          "sessionId": {
            "type": "string",
            "description": "Starts with as_."
          },
          "task": {
            "type": "string"
          },
          "mode": {
            "type": "string",
            "enum": [
              "ephemeral",
              "persistent"
            ]
          },
          "identity": {
            "type": [
              "string",
              "null"
            ]
          },
          "profileId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Use as the profile id with the page and browser routes."
          },
          "proxyId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Pool proxy the profile uses; null for a direct connection."
          },
          "state": {
            "type": "string",
            "enum": [
              "opening",
              "open",
              "stopped",
              "closed"
            ],
            "description": "stopped: still open but its browser is not running; resume relaunches it."
          },
          "running": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "integer",
            "description": "Unix time in milliseconds."
          },
          "updatedAt": {
            "type": "integer",
            "description": "Unix time in milliseconds."
          },
          "closedAt": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Unix time in milliseconds."
          },
          "expiresAt": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Ephemeral only: when the profile is wiped if the session was never closed (Unix ms)."
          },
          "lastError": {
            "type": [
              "string",
              "null"
            ],
            "description": "Why the session closed on its own, or why opening failed."
          }
        }
      },
      "AgentSessionLaunch": {
        "type": "object",
        "additionalProperties": true,
        "description": "Loose schema: the same data a browser start or attach returns (for example id, pid, debugPort, cdpReady, ws, cdpEndpoint, wsEndpoint, coherence)."
      },
      "AgentSessionLimit": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "plan",
          "max",
          "open",
          "known"
        ],
        "properties": {
          "plan": {
            "type": [
              "string",
              "null"
            ],
            "description": "Plan name from the last account sync."
          },
          "max": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Concurrent session cap; null means no cap."
          },
          "open": {
            "type": "integer",
            "description": "Sessions opening or open now (stopped sessions count)."
          },
          "known": {
            "type": "boolean",
            "description": "False before any sign-in: no plan stored, so no cap."
          }
        }
      },
      "AgentStopReport": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "handoffsCancelled",
          "browsersStopped",
          "browsersNotStopped"
        ],
        "properties": {
          "handoffsCancelled": {
            "type": "integer",
            "minimum": 0,
            "description": "Waiting hand-offs to a person that were cancelled."
          },
          "browsersStopped": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Profiles whose browser the agent(s) started and that were stopped now."
          },
          "browsersNotStopped": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Profiles whose browser could not be stopped."
          }
        }
      },
      "BrowserActiveEntry": {
        "type": "object",
        "description": "One running profile. Chromium-based entries carry `cdpEndpoint` and `ws` but no `wsEndpoint` (read it from `/api/v1/browser/status`); Firefox entries carry the BiDi `wsEndpoint`.",
        "required": [
          "id",
          "debugPort",
          "engine"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/BrowserEndpoints"
          }
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Profile id."
          },
          "debugPort": {
            "type": "integer"
          },
          "engine": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "BrowserEndpoints": {
        "type": "object",
        "description": "Attach endpoints of a running browser. Chromium-based engines report `cdpEndpoint`, `ws` and the real browser `wsEndpoint`; the Firefox engine reports a WebDriver BiDi `wsEndpoint`, `protocol: \"webdriver-bidi\"` and `cdpEndpoint: null`.",
        "properties": {
          "debugPort": {
            "type": "integer",
            "description": "Loopback debug port (CDP, or BiDi for Firefox)."
          },
          "cdpEndpoint": {
            "type": [
              "string",
              "null"
            ],
            "description": "`http://127.0.0.1:<port>`, for `chromium.connectOverCDP()` or `puppeteer.connect({ browserURL })`. `null` for Firefox."
          },
          "wsEndpoint": {
            "type": [
              "string",
              "null"
            ],
            "description": "Browser WebSocket URL (`ws://127.0.0.1:<port>/devtools/browser/<id>`, or the BiDi session URL for Firefox). `null` when it could not be read; see `wsEndpointError`."
          },
          "wsEndpointError": {
            "type": "string",
            "description": "Why `wsEndpoint` is `null`. Present only then."
          },
          "ws": {
            "type": "string",
            "description": "Legacy field: `http://127.0.0.1:<port>/json/version` (not a WebSocket URL). Absent for Firefox."
          },
          "protocol": {
            "type": "string",
            "enum": [
              "webdriver-bidi"
            ],
            "description": "Firefox engine only."
          }
        },
        "additionalProperties": true
      },
      "BrowserExitReport": {
        "type": "object",
        "description": "Network exit measured at launch.",
        "properties": {
          "ip": {
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "type": [
              "string",
              "null"
            ]
          },
          "tz": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "region": {
            "type": [
              "string",
              "null"
            ]
          },
          "org": {
            "type": [
              "string",
              "null"
            ]
          },
          "disputed": {
            "type": "boolean",
            "description": "Two checkers named different countries."
          },
          "tzDisputed": {
            "type": "boolean"
          },
          "verified": {
            "type": "boolean"
          },
          "readings": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": true
      },
      "BrowserSession": {
        "type": "object",
        "description": "Result of a start. A fresh launch reports the launch fields (`pid`, `cdpReady`, `exit`, `cookies`, `startup`, `identityDigest`, `widevine`, `coherence`); a `reuse: true` attach to an already-running browser reports `alreadyRunning: true`, `engine` and the endpoints instead.",
        "required": [
          "id",
          "debugPort"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/BrowserEndpoints"
          }
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Profile id."
          },
          "pid": {
            "type": "integer",
            "description": "Browser process id (fresh launch only)."
          },
          "debugPort": {
            "type": "integer"
          },
          "cdpReady": {
            "type": "boolean",
            "description": "Whether the debug port answered at start (fresh launch only)."
          },
          "bidiReady": {
            "type": "boolean",
            "description": "Firefox engine only: whether the BiDi port answered at start."
          },
          "headless": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "Whether the browser runs headless. On a reuse attach it is `null` when the mode is not known."
          },
          "alreadyRunning": {
            "type": "boolean",
            "enum": [
              true
            ],
            "description": "Present (true) only on a `reuse: true` attach."
          },
          "engine": {
            "type": "string",
            "description": "Engine of the running browser. Present only on a `reuse: true` attach."
          },
          "exit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BrowserExitReport"
              },
              {
                "type": "null"
              }
            ],
            "description": "The measured network exit at launch, or `null` when none was measured."
          },
          "cookies": {
            "type": [
              "object",
              "null"
            ],
            "description": "What happened to the profile's staged cookies, or `null` when it had none (fields such as `applied`, `staged`, `imported`, `error`).",
            "additionalProperties": true
          },
          "startup": {
            "type": [
              "object",
              "null"
            ],
            "description": "Startup pages opened and failed (`opened`, `failed`), or `null` when the profile has none.",
            "additionalProperties": true
          },
          "identityDigest": {
            "type": "string",
            "description": "Digest of the identity-bearing launch inputs."
          },
          "widevine": {
            "type": "object",
            "description": "Widevine availability for this launch: `ok` (boolean or null), `source`, `why`. Always present on a fresh launch.",
            "additionalProperties": true
          },
          "coherence": {
            "type": "array",
            "description": "Fingerprint coherence findings for this launch. An empty array means checked and coherent. These never refuse a launch.",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "browserPid": {
            "type": "integer",
            "description": "Windows Installed Chrome only."
          },
          "ownedProcessIds": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "Windows Installed Chrome only."
          }
        },
        "additionalProperties": true
      },
      "BrowserStartError": {
        "type": "object",
        "description": "Error body of a refused start. Usually `code: -1` with `msg` and `errorCode`. An Installed Chrome migration or volume refusal instead carries a string `code` (`signed_migration_required`, `signed_migration_recovery_required` or `signed_profile_volume_unsuitable`) with `profileId` and `message`.",
        "required": [
          "code",
          "msg"
        ],
        "properties": {
          "code": {
            "oneOf": [
              {
                "type": "integer",
                "enum": [
                  -1
                ]
              },
              {
                "type": "string"
              }
            ]
          },
          "msg": {
            "type": "string"
          },
          "message": {
            "type": "string",
            "description": "Same as `msg` (migration and volume refusals only)."
          },
          "profileId": {
            "type": "string",
            "description": "Migration and volume refusals only."
          },
          "errorCode": {
            "type": "string",
            "description": "Stable machine-readable error code."
          },
          "helpUrl": {
            "type": "string",
            "description": "A help link, for launches refused by the account server or team rules."
          }
        },
        "additionalProperties": true
      },
      "BrowserStatus": {
        "type": "object",
        "description": "Run state of one profile. A stopped profile has only `id` and `running: false`. While the verification privacy pause holds, `wsEndpoint` is withheld and `automationPaused` is set.",
        "required": [
          "id",
          "running"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/BrowserEndpoints"
          }
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Profile id."
          },
          "running": {
            "type": "boolean"
          },
          "engine": {
            "type": "string"
          },
          "automationPaused": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "automationPausedReason": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "BulkRequest": {
        "type": "object",
        "required": [
          "ids"
        ],
        "properties": {
          "ids": {
            "type": "array",
            "minItems": 1,
            "maxItems": 1000,
            "items": {
              "type": "string"
            },
            "description": "Profile ids. Non-string and empty entries are ignored and duplicates collapsed; at most 1000."
          }
        },
        "additionalProperties": true
      },
      "BulkResult": {
        "type": "object",
        "description": "Per-id report of a bulk start or stop. Ids run one after another.",
        "required": [
          "requested",
          "ok",
          "failed",
          "results"
        ],
        "properties": {
          "requested": {
            "type": "integer",
            "description": "Number of distinct ids processed."
          },
          "ok": {
            "type": "integer"
          },
          "failed": {
            "type": "integer"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BulkResultRow"
            }
          }
        },
        "additionalProperties": true
      },
      "BulkResultRow": {
        "type": "object",
        "description": "One id's outcome. A started row carries the launch fields of a single start (`pid`, `debugPort`, `cdpReady`, `exit`, `cookies`, `coherence`, `identityDigest`). A stop row carries `stopped` (false when it was not running, which is not a failure). A failed row carries `reason`, `error`, `errorCode` and usually `status`.",
        "required": [
          "id",
          "ok"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Profile id."
          },
          "ok": {
            "type": "boolean"
          },
          "stopped": {
            "type": "boolean"
          },
          "reason": {
            "type": "string",
            "description": "Stable failure token, e.g. `already-running`, `not-found`, `in-trash`, `locked`, `refused`, `engine-unverified`, `error`, `resource-reconciliation-failed`, or a migration code."
          },
          "error": {
            "type": "string",
            "description": "Human-readable failure message."
          },
          "errorCode": {
            "type": "string"
          },
          "status": {
            "type": "integer",
            "description": "The HTTP status the single-id endpoint would have answered with."
          },
          "pid": {
            "type": "integer"
          },
          "debugPort": {
            "type": "integer"
          },
          "cdpReady": {
            "type": "boolean"
          },
          "exit": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/BrowserExitReport"
              },
              {
                "type": "null"
              }
            ]
          },
          "cookies": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": true
          },
          "coherence": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "identityDigest": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "Cookie": {
        "type": "object",
        "description": "A cookie. Export returns the browser's own cookie objects (Chromium DevTools Protocol shape, or the same portable shape for the Firefox engine). Import accepts that shape and common extension exports: `expirationDate` as an alias of `expires` (seconds or milliseconds), `sameSite` as `None`/`Lax`/`Strict` or `no_restriction`/`lax`/`strict`/`unspecified`, and `session: true` to drop any expiry.",
        "required": [
          "name",
          "domain"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "value": {
            "type": "string",
            "default": ""
          },
          "domain": {
            "type": "string",
            "minLength": 1
          },
          "path": {
            "type": "string",
            "default": "/"
          },
          "expires": {
            "type": "number",
            "description": "Unix time in seconds. Zero or negative means a session cookie."
          },
          "expirationDate": {
            "type": "number",
            "description": "Import alias of `expires`."
          },
          "httpOnly": {
            "type": "boolean"
          },
          "secure": {
            "type": "boolean"
          },
          "session": {
            "type": "boolean"
          },
          "sameSite": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "description": "Import only: the URL to set the cookie on. Defaults to `https://<domain>/` (or `http://` when `secure` is false)."
          }
        },
        "additionalProperties": true
      },
      "CookieImportResult": {
        "type": "object",
        "required": [
          "imported",
          "rejected",
          "details"
        ],
        "properties": {
          "imported": {
            "type": "integer"
          },
          "rejected": {
            "type": "integer"
          },
          "details": {
            "type": "array",
            "description": "One entry per rejected cookie, with the likely reason.",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "domain": {
                  "type": "string"
                },
                "reason": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": true
      },
      "CredentialScope": {
        "description": "Which profiles may use the credential: any profile, one profile, or a group (folder) and the groups inside it.",
        "oneOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "kind"
            ],
            "properties": {
              "kind": {
                "const": "any"
              }
            }
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "kind",
              "id"
            ],
            "properties": {
              "kind": {
                "const": "profile"
              },
              "id": {
                "type": "string"
              }
            }
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "kind",
              "id"
            ],
            "properties": {
              "kind": {
                "const": "group"
              },
              "id": {
                "type": "string"
              }
            }
          }
        ]
      },
      "CredentialSite": {
        "type": "string",
        "description": "An origin with its scheme (`https://accounts.example.com`, `https://example.com:8443`), matched exactly; `http://` only for a loopback host. Or a bare domain (`example.com`; a leading `*.` means the same), which matches it and every subdomain over https on port 443. Unicode domains are stored as punycode."
      },
      "FingerprintOverrides": {
        "type": "object",
        "description": "Per-surface fingerprint overrides, keyed by surface name (timezone, geolocation, geolocationPermission, languages, platform, userAgent, hardwareConcurrency, deviceMemory, maxTouchPoints, screen, webglMetadata, webgpu, webgpuEnabled, fonts, mediaDevices, voices, canvasNoise, canvasMode, webglNoise, audioNoise, rectNoise, portScan, portScanAllow, and colorProfile for Installed Chrome). On update, surfaces merge one by one and `null` resets a surface to auto. Each surface's `value` format depends on the surface and is validated by the server.",
        "additionalProperties": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "object",
              "required": [
                "mode"
              ],
              "additionalProperties": true,
              "properties": {
                "mode": {
                  "type": "string",
                  "enum": [
                    "auto",
                    "custom",
                    "real"
                  ]
                },
                "value": {
                  "description": "Required with mode `custom`, and refused with any other mode. Shape depends on the surface."
                }
              }
            }
          ]
        }
      },
      "FingerprintPreview": {
        "type": "object",
        "description": "What the profile presents at its next launch. For Browz Chromium profiles the documented fields are listed below; for Installed Chrome profiles the object is a different, backend-specific preview that also carries `id`.",
        "required": [
          "id"
        ],
        "additionalProperties": true,
        "properties": {
          "id": {
            "type": "string"
          },
          "archetype": {
            "type": "string"
          },
          "seed": {
            "type": "string"
          },
          "surfaces": {
            "type": "object",
            "additionalProperties": true,
            "description": "Each surface's decoded value with where it came from (shape varies by surface)."
          },
          "experimentalRenderer": {
            "description": "Experimental rendering recipe, or null.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "recipe": {},
                  "requiredFrameworkSha256": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "pinManifest": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string"
                  }
                }
              }
            ]
          },
          "distinctHardware": {
            "description": "Hardware values assigned by the distinct policy, or null."
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "properties": {
                "level": {
                  "type": "string",
                  "enum": [
                    "fail",
                    "warn"
                  ]
                },
                "surfaces": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "detail": {
                  "type": "string"
                }
              }
            }
          },
          "engine": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "binary": {
                "type": "string"
              },
              "honoursBrowzSwitches": {
                "type": [
                  "boolean",
                  "null"
                ],
                "description": "null when the engine has not been checked in this run; pass verify=1 to check now."
              },
              "detail": {
                "type": "string"
              },
              "selectionError": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "verifiedVersion": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "realUnavailable": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "properties": {
                "surface": {
                  "type": "string"
                },
                "reason": {
                  "type": "string"
                }
              }
            }
          },
          "detectionPosture": {
            "description": "Summary of what this configuration costs and buys against rarity-based detection (shape not documented)."
          },
          "fingerprintAutoPolicy": {
            "type": "string"
          }
        }
      },
      "PageActResult": {
        "type": "object",
        "required": [
          "ok",
          "action"
        ],
        "properties": {
          "ok": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "action": {
            "type": "string"
          },
          "ref": {
            "type": [
              "string",
              "null"
            ]
          },
          "files": {
            "type": "integer",
            "description": "`upload` only: number of files set."
          }
        },
        "additionalProperties": true
      },
      "PageChallenge": {
        "type": "object",
        "description": "Present when the page looks like a sign-in, verification code or CAPTCHA page that a person should complete.",
        "required": [
          "kind",
          "signals",
          "hint"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "login",
              "two_factor",
              "captcha",
              "other"
            ]
          },
          "signals": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hint": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "PageEvaluateResult": {
        "type": "object",
        "description": "A thrown page exception is reported as `ok: false` with `error`, not as an HTTP error.",
        "required": [
          "ok"
        ],
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "value": {
            "description": "The expression's value (by value; promises are awaited). Present when `ok` is true; may be null."
          },
          "error": {
            "type": "string",
            "description": "The exception message, when `ok` is false."
          }
        },
        "additionalProperties": true
      },
      "PageNavigateResult": {
        "type": "object",
        "required": [
          "url",
          "loaded"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "loaded": {
            "type": "boolean",
            "description": "Whether the load event fired before the timeout."
          },
          "frameId": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      },
      "PageScreenshot": {
        "type": "object",
        "required": [
          "format",
          "base64"
        ],
        "properties": {
          "format": {
            "type": "string",
            "enum": [
              "png"
            ]
          },
          "base64": {
            "type": "string",
            "contentEncoding": "base64",
            "description": "PNG image data."
          }
        },
        "additionalProperties": true
      },
      "PageSnapshot": {
        "type": "object",
        "description": "An outline of the tab's accessibility tree, one line per node, with `[eN]` refs to pass to `act`. If the requested mode does not fit `maxTokens` the next smaller mode is used, and only then is the outline cut.",
        "required": [
          "url",
          "title",
          "snapshot",
          "truncated",
          "mode",
          "tokens",
          "refs"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "snapshot": {
            "type": "string"
          },
          "truncated": {
            "type": "boolean"
          },
          "mode": {
            "type": "string",
            "enum": [
              "full",
              "compact",
              "interactive"
            ],
            "description": "The mode actually rendered."
          },
          "tokens": {
            "type": "integer",
            "description": "Estimated tokens (four characters a token)."
          },
          "refs": {
            "type": "integer",
            "description": "Number of element refs in the outline."
          },
          "challenge": {
            "$ref": "#/components/schemas/PageChallenge"
          }
        },
        "additionalProperties": true
      },
      "PageTab": {
        "type": "object",
        "properties": {
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          },
          "targetId": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": true
      },
      "PageWaitResult": {
        "type": "object",
        "description": "A timeout is `matched: false`, not an error.",
        "required": [
          "matched",
          "waitedMs",
          "url"
        ],
        "properties": {
          "matched": {
            "type": "boolean"
          },
          "waitedMs": {
            "type": "integer"
          },
          "url": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "Profile": {
        "type": "object",
        "description": "A browser profile. Which optional fields appear depends on the route: `running`, `serial`, `shortId` and `shared` are added by list and get; `proxy` and `fingerprintSource` are only on single-profile reads (get, create, update, duplicate), while list carries `hasProxy` only. Trash listings carry the stored fields plus `fingerprintAutoPolicy`, without the organization, lock and proxy fields.",
        "required": [
          "id",
          "name",
          "engine",
          "archetype",
          "seed",
          "timezone",
          "languages",
          "randomFingerprint",
          "isLocal",
          "isRemoved",
          "origin",
          "createdAt",
          "updatedAt",
          "fingerprintAutoPolicy"
        ],
        "additionalProperties": true,
        "properties": {
          "id": {
            "type": "string",
            "description": "Letters, digits, dash and underscore only."
          },
          "name": {
            "type": "string"
          },
          "engine": {
            "type": "string",
            "description": "Browser engine: chromium, signed-chrome (Installed Chrome, macOS and Windows) or firefox (only where the verified Firefox engine is installed)."
          },
          "archetype": {
            "type": [
              "string",
              "null"
            ],
            "description": "Device archetype: macos, windows or linux."
          },
          "seed": {
            "type": "string",
            "description": "The fingerprint is derived deterministically from this value."
          },
          "timezone": {
            "type": [
              "string",
              "null"
            ],
            "description": "IANA timezone. Null means it follows the proxy exit."
          },
          "languages": {
            "type": [
              "string",
              "null"
            ],
            "description": "Null means it follows the proxy exit."
          },
          "webrtcMode": {
            "type": "string",
            "description": "real, replace or disable. Omitted means it is derived automatically."
          },
          "tags": {
            "type": "string",
            "description": "Comma-separated tags."
          },
          "notes": {
            "type": "string"
          },
          "fingerprint_overrides": {
            "type": "string",
            "description": "The stored override document as a JSON-encoded string (see FingerprintOverrides). Note the snake_case key."
          },
          "fingerprintSource": {
            "type": "string",
            "description": "The recorded fingerprint source record, as a JSON-encoded string. Format not documented."
          },
          "randomFingerprint": {
            "type": "boolean",
            "description": "When true a fresh fingerprint is derived on every launch."
          },
          "lastUsedAt": {
            "type": "string",
            "format": "date-time"
          },
          "groupId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Older name for `folderId`, kept for compatibility. Responses that include organization fields set it equal to `folderId`."
          },
          "extensionIds": {
            "type": "string",
            "description": "The exact extension assignment, comma-separated."
          },
          "isLocal": {
            "type": "boolean"
          },
          "isRemoved": {
            "type": "boolean",
            "description": "True for a profile in the trash."
          },
          "origin": {
            "type": [
              "string",
              "null"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "proxy": {
            "$ref": "#/components/schemas/ProfileProxy"
          },
          "fingerprintAutoPolicy": {
            "type": "string",
            "enum": [
              "legacy",
              "population-safe",
              "distinct"
            ]
          },
          "organizationSchemaVersion": {
            "type": "integer"
          },
          "operatorStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "primarySite": {
            "type": [
              "string",
              "null"
            ]
          },
          "pinnedRank": {
            "type": [
              "integer",
              "null"
            ]
          },
          "folderId": {
            "type": [
              "string",
              "null"
            ]
          },
          "lock": {
            "$ref": "#/components/schemas/ProfileLock"
          },
          "hasProxy": {
            "type": "boolean"
          },
          "running": {
            "type": "boolean"
          },
          "serial": {
            "type": "integer",
            "description": "The profile number, once one has been assigned."
          },
          "shortId": {
            "type": "string",
            "description": "Six-character profile ID, once one has been assigned."
          },
          "shared": {
            "$ref": "#/components/schemas/ProfileSharing"
          }
        }
      },
      "ProfileBulkResult": {
        "type": "object",
        "required": [
          "id",
          "ok"
        ],
        "additionalProperties": true,
        "properties": {
          "id": {
            "type": "string"
          },
          "ok": {
            "type": "boolean"
          },
          "deleted": {
            "type": "boolean",
            "description": "Present when ok."
          },
          "reason": {
            "type": "string",
            "description": "Failure reason token, e.g. not-found, in-trash or error."
          },
          "status": {
            "type": "integer",
            "description": "The HTTP status the single-profile route would have returned."
          },
          "error": {
            "type": "string"
          },
          "errorCode": {
            "type": "string"
          }
        }
      },
      "ProfileCreateRequest": {
        "type": "object",
        "description": "Every field is optional. Unknown fields are ignored. Settings defaults fill the archetype, engine, WebRTC mode, folder and extensions when they are omitted.",
        "additionalProperties": true,
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]+$",
            "description": "Defaults to a generated id."
          },
          "name": {
            "type": "string",
            "description": "Defaults to the id."
          },
          "engine": {
            "type": "string",
            "description": "chromium (default), signed-chrome (Installed Chrome, macOS and Windows) or firefox (only where the verified Firefox engine is installed)."
          },
          "archetype": {
            "type": "string",
            "description": "macos, windows or linux. Empty or omitted picks the archetype that matches this machine."
          },
          "seed": {
            "type": "string",
            "description": "Defaults to a random seed."
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone name. Omit to follow the proxy exit."
          },
          "languages": {
            "type": "string",
            "description": "Omit to follow the proxy exit."
          },
          "webrtcMode": {
            "type": "string",
            "enum": [
              "real",
              "replace",
              "disable"
            ],
            "description": "`real` exposes the real public IP behind a proxy."
          },
          "tags": {
            "type": "string",
            "description": "Comma-separated."
          },
          "notes": {
            "type": "string"
          },
          "groupId": {
            "type": "string",
            "description": "Folder id."
          },
          "extensionIds": {
            "type": "string",
            "description": "Extension selectors, comma-separated; resolved to exact catalogue identities."
          },
          "origin": {
            "type": "string"
          },
          "randomFingerprint": {
            "type": "boolean",
            "default": false
          },
          "fingerprint": {
            "$ref": "#/components/schemas/FingerprintOverrides"
          },
          "proxy": {
            "$ref": "#/components/schemas/ProfileProxyInput"
          },
          "proxyId": {
            "type": "string",
            "description": "A saved proxy's id. Cannot be combined with `proxy`. An unknown id is refused rather than creating a profile without a proxy."
          },
          "fingerprintAutoPolicy": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "population-safe",
              "distinct",
              null
            ],
            "description": "Omitted or null picks `distinct` when this machine can grant one (Browz Chromium, macOS archetype, capacity left), else `population-safe`."
          },
          "fingerprintSeparation": {
            "type": "string",
            "enum": [
              "experimental-native-settings-v1",
              "experimental-native-settings-win-v1"
            ],
            "description": "Experimental per-host separation for Installed Chrome profiles. Only the value for the current operating system is accepted."
          }
        }
      },
      "ProfileCreateResponse": {
        "type": "object",
        "required": [
          "code",
          "data",
          "coherenceWarnings",
          "assurance"
        ],
        "additionalProperties": true,
        "properties": {
          "code": {
            "const": 0
          },
          "data": {
            "$ref": "#/components/schemas/Profile"
          },
          "coherenceWarnings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Settings that contradict each other or the proxy exit. Always empty for Installed Chrome profiles."
          },
          "assurance": {
            "type": "object",
            "required": [
              "tier"
            ],
            "additionalProperties": true,
            "properties": {
              "tier": {
                "type": "string",
                "description": "high or reduced for Browz Chromium (whether this machine's GPU can back the one presented); limited for Installed Chrome."
              },
              "hostClass": {
                "type": "string",
                "description": "Browz Chromium only."
              },
              "presenting": {
                "type": "string",
                "description": "The WebGL renderer string presented. Browz Chromium only."
              },
              "note": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "distinct": {
            "description": "Browz Chromium only: what a distinct policy assigned, or null.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "object",
                "additionalProperties": true,
                "properties": {
                  "policy": {
                    "const": "distinct"
                  },
                  "hardware": {
                    "description": "The assigned CPU and memory values (object; shape not documented)."
                  },
                  "rendererRecipe": {
                    "description": "The assigned rendering recipe, or null (shape not documented)."
                  },
                  "capacity": {
                    "type": "object",
                    "additionalProperties": true,
                    "properties": {
                      "total": {
                        "type": "integer"
                      },
                      "remaining": {
                        "type": "integer"
                      }
                    }
                  },
                  "note": {
                    "type": "string"
                  }
                }
              }
            ]
          },
          "fingerprintSeparation": {
            "type": [
              "string",
              "null"
            ],
            "description": "Installed Chrome only: the separation policy applied, or null."
          }
        }
      },
      "ProfileLock": {
        "type": "object",
        "description": "The profile's lock state.",
        "required": [
          "enabled",
          "schemaVersion",
          "unlocked",
          "failedAttempts"
        ],
        "additionalProperties": true,
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "schemaVersion": {
            "type": "integer"
          },
          "unlocked": {
            "type": "boolean"
          },
          "failedAttempts": {
            "type": "integer"
          },
          "unlockedUntil": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Unix seconds; present when a lock is set."
          },
          "rateLimitedUntil": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Unix seconds; present when a lock is set."
          },
          "retryAfterSeconds": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Present when a lock is set."
          }
        }
      },
      "ProfileProxy": {
        "type": "object",
        "description": "A profile's proxy as the API returns it. The password is never returned; `hasPassword` says whether one is stored.",
        "required": [
          "host",
          "port",
          "hasPassword",
          "dnsMode"
        ],
        "additionalProperties": true,
        "properties": {
          "host": {
            "type": "string"
          },
          "port": {
            "type": "integer",
            "minimum": 0,
            "maximum": 65535
          },
          "scheme": {
            "type": "string",
            "description": "Proxy protocol: http, https, socks4, socks5 or ssh. Omitted means http."
          },
          "dnsMode": {
            "type": "string",
            "enum": [
              "remote-at-proxy",
              "local-at-client"
            ],
            "description": "Where destination hostnames are resolved. Always present in responses."
          },
          "user": {
            "type": "string"
          },
          "hasPassword": {
            "type": "boolean"
          },
          "geo": {
            "description": "Location metadata recorded for the exit (free-form; the keys `tz` and `languages` are read when present)."
          }
        }
      },
      "ProfileProxyInput": {
        "type": "object",
        "description": "An inline proxy for a new profile. Use `proxyId` instead to reference a saved proxy without handling its credentials.",
        "required": [
          "host",
          "port"
        ],
        "additionalProperties": true,
        "properties": {
          "host": {
            "type": "string",
            "minLength": 1
          },
          "port": {
            "type": "integer",
            "minimum": 1,
            "maximum": 65535
          },
          "scheme": {
            "type": "string",
            "enum": [
              "http",
              "https",
              "socks4",
              "socks5",
              "ssh"
            ],
            "description": "Defaults to http."
          },
          "dnsMode": {
            "type": "string",
            "enum": [
              "remote-at-proxy",
              "local-at-client"
            ],
            "description": "Defaults to remote-at-proxy."
          },
          "user": {
            "type": "string"
          },
          "pass": {
            "type": "string"
          },
          "geo": {
            "description": "Optional location metadata (free-form object)."
          }
        }
      },
      "ProfileSharing": {
        "type": "object",
        "description": "Present only on a profile a teammate shared with this account, or one this account sees as a workspace owner or admin.",
        "additionalProperties": true,
        "properties": {
          "ownerUserId": {
            "type": "string"
          },
          "ownerEmail": {
            "type": [
              "string",
              "null"
            ]
          },
          "access": {
            "type": "string",
            "description": "Access level granted, e.g. view, launch, edit or manage."
          },
          "workspaceName": {
            "type": [
              "string",
              "null"
            ]
          },
          "viaOwnership": {
            "type": "boolean"
          },
          "canLaunch": {
            "type": "boolean"
          },
          "canEdit": {
            "type": "boolean"
          },
          "canDelete": {
            "type": "boolean"
          }
        }
      },
      "ProfileUpdateRequest": {
        "type": "object",
        "description": "Only fields present are changed; omitted fields keep their value. Unknown fields are ignored. The seed cannot be changed here (use reseed), and a full `proxy` object is refused.",
        "required": [
          "id"
        ],
        "additionalProperties": true,
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "tags": {
            "type": [
              "string",
              "null"
            ]
          },
          "notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "timezone": {
            "type": [
              "string",
              "null"
            ],
            "description": "IANA timezone name; null follows the proxy exit."
          },
          "languages": {
            "type": [
              "string",
              "null"
            ]
          },
          "webrtcMode": {
            "type": [
              "string",
              "null"
            ]
          },
          "archetype": {
            "type": [
              "string",
              "null"
            ],
            "description": "macos, windows or linux; null picks the archetype that matches this machine."
          },
          "engine": {
            "type": "string",
            "description": "Accepted only when it equals the current engine; a profile cannot change engine in place."
          },
          "extensionIds": {
            "type": "string",
            "description": "Exact extension assignment. The profile must be stopped."
          },
          "randomFingerprint": {
            "type": "boolean"
          },
          "fingerprint": {
            "$ref": "#/components/schemas/FingerprintOverrides"
          },
          "fingerprintAutoPolicy": {
            "type": "string",
            "enum": [
              "legacy",
              "population-safe",
              "distinct"
            ],
            "description": "The profile must be stopped."
          },
          "proxyId": {
            "type": "string",
            "description": "A saved proxy's id; an empty string removes the proxy. The profile must be stopped."
          },
          "folderId": {
            "type": [
              "string",
              "null"
            ]
          },
          "groupId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Older name for `folderId`."
          },
          "operatorStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "primarySite": {
            "type": [
              "string",
              "null"
            ]
          },
          "pinnedRank": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          }
        }
      },
      "Proxy": {
        "type": "object",
        "additionalProperties": true,
        "description": "A proxy in the pool, as listed. The password is never returned: only `hasPassword` says whether one is stored. The username is returned.",
        "required": [
          "id",
          "name",
          "type",
          "scheme",
          "host",
          "port",
          "dnsMode",
          "geo",
          "hasPassword",
          "user",
          "vendor",
          "stability"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": "string",
            "description": "Same value as `scheme`, kept for older clients."
          },
          "scheme": {
            "$ref": "#/components/schemas/ProxyScheme"
          },
          "host": {
            "type": "string"
          },
          "port": {
            "type": "integer",
            "minimum": 1,
            "maximum": 65535
          },
          "dnsMode": {
            "$ref": "#/components/schemas/ProxyDnsMode"
          },
          "geo": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": true,
            "description": "Free-form location data: the country the proxy was sold as, plus what the last check measured (for example exitIp, country, city, region, org, tz)."
          },
          "hasPassword": {
            "type": "boolean"
          },
          "user": {
            "type": [
              "string",
              "null"
            ]
          },
          "vendor": {
            "type": [
              "string",
              "null"
            ],
            "description": "Who sold the proxy, as recorded by you."
          },
          "stability": {
            "type": [
              "string",
              "null"
            ],
            "description": "What the proxy was sold as (for example static or rotating), as recorded by you."
          },
          "shared": {
            "$ref": "#/components/schemas/ProxySharing"
          }
        }
      },
      "ProxyChangeIpResult": {
        "type": "object",
        "additionalProperties": true,
        "description": "Loose schema: the shape depends on the mode. A rotation-url result carries proxyId, provider, a redacted endpoint, outcome, verified, acceptanceRequired, exitBefore, exitIp, exitChanged, newCountry, polls, affectedProfiles and possibly retryAfterSeconds, reason or warning. A profile plan (apply false) carries profileId, profileName, currentProxyId, country, previousExitIp, description, affectedProfiles and candidates; an applied new-session or swap adds toProxyId, exitIp, newCountry and attempts.",
        "required": [
          "mode",
          "applied"
        ],
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "rotation-url",
              "new-session",
              "swap"
            ]
          },
          "applied": {
            "type": "boolean",
            "description": "False when nothing was changed."
          },
          "outcome": {
            "type": "string",
            "description": "Rotation-url only.",
            "enum": [
              "verified",
              "same-ip",
              "unreachable",
              "disputed-country",
              "country-changed",
              "reputation-regressed",
              "cooldown",
              "rate-limited",
              "provider-refused",
              "provider-unreachable",
              "cancelled",
              "timezone-changed"
            ]
          },
          "verified": {
            "type": "boolean"
          },
          "acceptanceRequired": {
            "type": "boolean",
            "description": "Every profile on the proxy must accept the new exit before its next launch."
          },
          "proxyId": {
            "type": "string"
          },
          "profileId": {
            "type": "string"
          },
          "toProxyId": {
            "type": "string"
          },
          "exitIp": {
            "type": [
              "string",
              "null"
            ]
          },
          "newCountry": {
            "type": [
              "string",
              "null"
            ]
          },
          "affectedProfiles": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          }
        }
      },
      "ProxyCheckResult": {
        "type": "object",
        "additionalProperties": true,
        "description": "What a live check through the proxy found. A failed check is still a 200 with `reachable: false` and the reasons in `errors`.",
        "required": [
          "host",
          "port",
          "scheme",
          "reachable",
          "exitIp",
          "latencyMs",
          "geo",
          "geoDisputed",
          "geoTzDisputed",
          "webrtcMode",
          "errors",
          "errorCodes"
        ],
        "properties": {
          "host": {
            "type": "string"
          },
          "port": {
            "type": "integer"
          },
          "scheme": {
            "type": [
              "string",
              "null"
            ]
          },
          "destinationDnsMode": {
            "$ref": "#/components/schemas/ProxyDnsMode"
          },
          "reachable": {
            "type": "boolean",
            "description": "True when an exit IP was read through the proxy."
          },
          "http": {
            "type": "boolean"
          },
          "https": {
            "type": "boolean"
          },
          "socks4": {
            "type": "boolean"
          },
          "socks5": {
            "type": "boolean"
          },
          "udpAssociate": {
            "type": "boolean",
            "description": "Whether the proxy relays UDP (SOCKS5 only)."
          },
          "exitIp": {
            "type": [
              "string",
              "null"
            ]
          },
          "latencyMs": {
            "type": [
              "integer",
              "null"
            ]
          },
          "geo": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "tz": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "city": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "country": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "region": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "org": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "exit": {
            "type": "object",
            "additionalProperties": true,
            "description": "The evidence: which IP checkers were asked and what each one read."
          },
          "geoDisputed": {
            "type": "boolean",
            "description": "The IP checkers disagree about the country."
          },
          "geoTzDisputed": {
            "type": "boolean",
            "description": "The sources agree on the country but not the timezone."
          },
          "webrtcMode": {
            "type": "string",
            "enum": [
              "disable",
              "proxy",
              "replace"
            ],
            "description": "The WebRTC handling this proxy supports."
          },
          "errors": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Failure text keyed by what failed (protocol, a scheme, udp, ssh)."
          },
          "errorCodes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "A stable code for each failure in `errors` that has one."
          },
          "transportCapabilities": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": true,
            "description": "What the protocol supports (TLS to the proxy, DNS modes, UDP, auth)."
          },
          "networkReputation": {
            "type": "object",
            "additionalProperties": true,
            "description": "Only when a pool proxy was checked by id and a reputation provider is configured."
          }
        }
      },
      "ProxyDnsMode": {
        "type": "string",
        "enum": [
          "remote-at-proxy",
          "local-at-client"
        ],
        "description": "Where destination host names are resolved. remote-at-proxy (the default) sends the name to the proxy; local-at-client resolves it on this device first. Matched exactly."
      },
      "ProxyPage": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "items",
          "total",
          "counts",
          "nextCursor",
          "pageLimit",
          "snapshotId"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProxyPageItem"
            }
          },
          "total": {
            "type": "integer",
            "description": "Rows matching the filters."
          },
          "counts": {
            "type": "object",
            "additionalProperties": true,
            "required": [
              "proxies",
              "inUse"
            ],
            "properties": {
              "proxies": {
                "type": "integer",
                "description": "All proxies, ignoring filters."
              },
              "inUse": {
                "type": "integer",
                "description": "Proxies used by at least one profile, ignoring filters."
              }
            }
          },
          "nextCursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "Pass as `cursor` for the next page; null on the last page."
          },
          "pageLimit": {
            "type": "integer"
          },
          "snapshotId": {
            "type": "string",
            "description": "The snapshot this page and its cursor read from, so pages stay consistent while you walk them."
          }
        }
      },
      "ProxyPageItem": {
        "type": "object",
        "additionalProperties": true,
        "description": "A proxy row in a paged list. Same fields as Proxy, plus usage. Credential-like keys inside `geo` are redacted, and an oversized `geo` is dropped (`geoTruncated: true`).",
        "required": [
          "id",
          "name",
          "type",
          "scheme",
          "host",
          "port",
          "dnsMode",
          "geo",
          "geoTruncated",
          "user",
          "hasPassword",
          "vendor",
          "stability",
          "usageCount",
          "usedBy"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": "string",
            "description": "Same value as `scheme`."
          },
          "scheme": {
            "$ref": "#/components/schemas/ProxyScheme"
          },
          "host": {
            "type": "string"
          },
          "port": {
            "type": "integer"
          },
          "dnsMode": {
            "$ref": "#/components/schemas/ProxyDnsMode"
          },
          "geo": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": true
          },
          "geoTruncated": {
            "type": "boolean"
          },
          "user": {
            "type": [
              "string",
              "null"
            ]
          },
          "hasPassword": {
            "type": "boolean"
          },
          "vendor": {
            "type": [
              "string",
              "null"
            ]
          },
          "stability": {
            "type": [
              "string",
              "null"
            ]
          },
          "usageCount": {
            "type": "integer",
            "description": "How many profiles use this proxy."
          },
          "usedBy": {
            "type": "array",
            "maxItems": 2,
            "description": "Up to two of the profiles that use it, by name.",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "required": [
                "profileId",
                "profileName"
              ],
              "properties": {
                "profileId": {
                  "type": "string"
                },
                "profileName": {
                  "type": "string"
                }
              }
            }
          },
          "shared": {
            "$ref": "#/components/schemas/ProxySharing"
          }
        }
      },
      "ProxyRotationLink": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "url"
        ],
        "description": "A provider's change-IP request. Stored sealed and never returned in full. Unknown fields are refused.",
        "properties": {
          "url": {
            "type": "string"
          },
          "method": {
            "type": "string",
            "default": "GET"
          },
          "headers": {
            "type": "array",
            "default": [],
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "minItems": 2,
              "maxItems": 2
            },
            "description": "Header name and value pairs."
          },
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "expectStatus": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Exact status that means accepted; when omitted any 2xx is accepted."
          },
          "expectBodyContains": {
            "type": [
              "string",
              "null"
            ],
            "description": "Text the reply must contain to count as accepted."
          },
          "cooldownSeconds": {
            "type": "integer",
            "minimum": 0,
            "default": 60
          },
          "provider": {
            "type": [
              "string",
              "null"
            ],
            "description": "Label: proxies with the same label share one rate limit in bulk rotation."
          },
          "providerMinIntervalMs": {
            "type": "integer",
            "minimum": 0,
            "default": 0,
            "description": "Least time between two calls to this provider, across all its proxies."
          }
        }
      },
      "ProxyScheme": {
        "type": "string",
        "enum": [
          "http",
          "https",
          "socks4",
          "socks5",
          "ssh"
        ],
        "description": "Proxy protocol. Only these canonical values are accepted when saving; for ssh, `user` names a stored SSH authority rather than a login."
      },
      "ProxySharing": {
        "type": "object",
        "additionalProperties": true,
        "description": "Present only on a proxy shared with you by a teammate, or one you can see through workspace ownership.",
        "properties": {
          "ownerUserId": {
            "type": "string"
          },
          "ownerEmail": {
            "type": [
              "string",
              "null"
            ]
          },
          "access": {
            "type": "string",
            "description": "Access level granted, for example launch, edit or manage."
          },
          "workspaceName": {
            "type": [
              "string",
              "null"
            ]
          },
          "viaOwnership": {
            "type": "boolean"
          },
          "canLaunch": {
            "type": "boolean"
          },
          "canEdit": {
            "type": "boolean"
          },
          "canDelete": {
            "type": "boolean"
          }
        }
      },
      "StatusInfo": {
        "type": "object",
        "required": [
          "code",
          "product",
          "version",
          "runtime",
          "authRequired"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "enum": [
              0
            ]
          },
          "product": {
            "type": "string",
            "enum": [
              "browz-agent"
            ]
          },
          "version": {
            "type": "string"
          },
          "runtime": {
            "type": "string",
            "enum": [
              "rust"
            ]
          },
          "authRequired": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "additionalProperties": true
      },
      "StoredCredential": {
        "type": "object",
        "additionalProperties": true,
        "description": "A stored credential's shareable side. It never carries a secret: no password, TOTP seed or code, and no field value; the username only masked.",
        "required": [
          "id",
          "label",
          "scope",
          "sites",
          "usernameHint",
          "hasTotp",
          "fields",
          "createdAt",
          "updatedAt",
          "lastUsedAt",
          "custody"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^cred_[0-9a-f]{16}$"
          },
          "label": {
            "type": "string",
            "maxLength": 200
          },
          "scope": {
            "$ref": "#/components/schemas/CredentialScope"
          },
          "sites": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CredentialSite"
            },
            "minItems": 1,
            "maxItems": 20,
            "description": "In canonical form."
          },
          "usernameHint": {
            "type": "string",
            "description": "The username masked: \"j•••@example.com\" for an e-mail address, \"a•••z\" for five or more characters, \"•••\" otherwise."
          },
          "hasTotp": {
            "type": "boolean",
            "description": "Whether a TOTP seed is stored (the seed is never returned)."
          },
          "fields": {
            "type": "array",
            "description": "Extra fields by name only; their values are never returned.",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "name",
                "secret"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "secret": {
                  "type": "boolean"
                }
              }
            }
          },
          "createdAt": {
            "type": "string",
            "description": "UTC timestamp."
          },
          "updatedAt": {
            "type": "string",
            "description": "UTC timestamp."
          },
          "lastUsedAt": {
            "type": [
              "string",
              "null"
            ],
            "description": "When it was last filled."
          },
          "custody": {
            "type": "string",
            "enum": [
              "keychain",
              "dpapi",
              "install-key",
              "missing"
            ],
            "description": "What seals the values on this device: the macOS Keychain, Windows DPAPI, or the install key alone. missing: the sealed values are gone."
          }
        }
      },
      "TokenInfo": {
        "type": "object",
        "required": [
          "token",
          "port",
          "dataDir"
        ],
        "properties": {
          "token": {
            "type": "string",
            "description": "The current bearer token."
          },
          "port": {
            "type": "integer",
            "description": "The port the Local API listens on."
          },
          "dataDir": {
            "type": "string",
            "description": "The agent's data folder."
          },
          "mcpBinary": {
            "type": [
              "string",
              "null"
            ],
            "description": "Path where the `browz-mcp` binary is expected, next to the agent executable. Not checked for existence."
          }
        },
        "additionalProperties": true
      },
      "TokenRotateResult": {
        "type": "object",
        "required": [
          "token"
        ],
        "properties": {
          "token": {
            "type": "string",
            "description": "The new bearer token (48 hex characters). The old one stops working at once."
          }
        },
        "additionalProperties": true
      }
    }
  }
}
