openapi: "3.1.0"
info:
  title: "PlatPhorm BrowserOps"
  version: "0.1.0"
  description: "BrowserOps is the PlatPhormNews network-wide proof layer for real browser journeys, screenshots, artifacts, route compliance, discovery compliance, UI compliance, trace propagation, and Vercel metadata."
servers:
  - 
    url: "https://browserops.platphormnews.com"
    description: "Production"
paths:
  "/api/health":
    get:
      summary: "GET /api/health"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/health":
    get:
      summary: "GET /api/v1/health"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/docs":
    get:
      summary: "GET /api/docs"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/openapi.json":
    get:
      summary: "GET /openapi.json"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/openapi.yaml":
    get:
      summary: "GET /openapi.yaml"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/asyncapi.yaml":
    get:
      summary: "GET /asyncapi.yaml"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/mcp":
    get:
      summary: "GET /api/mcp"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
    post:
      summary: "POST /api/mcp"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/status":
    get:
      summary: "GET /api/browserops/status"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/journeys":
    get:
      summary: "GET /api/browserops/journeys"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Journeys"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/journeys/{id}":
    get:
      summary: "GET /api/browserops/journeys/{id}"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Journeys"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/runs":
    get:
      summary: "GET /api/browserops/runs"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Runs"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/runs/{id}":
    get:
      summary: "GET /api/browserops/runs/{id}"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Runs"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/runs/{id}/timeline":
    get:
      summary: "GET /api/browserops/runs/{id}/timeline"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Runs"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/runs/{id}/artifacts":
    get:
      summary: "GET /api/browserops/runs/{id}/artifacts"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Runs"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/runs/{id}/handoffs":
    get:
      summary: "GET /api/browserops/runs/{id}/handoffs"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Runs"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/runs/{id}/events":
    get:
      summary: "GET /api/browserops/runs/{id}/events"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Runs"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/run":
    post:
      summary: "POST /api/browserops/run"
      description: "BrowserOps run endpoint. dryRun=true is public-safe and returns a non-persistent plan preview; browser execution uses a request PLATPHORM_API_KEY or the server-side Vercel PLATPHORM_API_KEY for trusted-domain UI runs."
      tags:
        - "Platform"
      security:
        - 
{}
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      requestBody:
        required: true
        content:
          "application/json":
            schema:
              type: "object"
              properties:
                dryRun:
                  type: "boolean"
                  description: "When true, return public preview_ready without launching a browser or storing a run."
                journeyId:
                  type: "string"
                targetUrl:
                  type: "string"
                  format: "uri"
                source:
                  type: "string"
                artifactPolicy:
                  type: "object"
            examples:
              publicPreview:
                value:
                  dryRun: true
                  journeyId: "browserops-homepage-smoke"
                  targetUrl: "https://browserops.platphormnews.com"
              protectedRun:
                value:
                  dryRun: false
                  journeyId: "browserops-homepage-smoke"
                  targetUrl: "https://browserops.platphormnews.com"
                  source: "manual"
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/browserops/validate-url":
    get:
      summary: "GET /api/browserops/validate-url"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
    post:
      summary: "POST /api/browserops/validate-url"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/receive-handoff":
    post:
      summary: "POST /api/browserops/receive-handoff"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/send-handoff":
    post:
      summary: "POST /api/browserops/send-handoff"
      description: "Protected BrowserOps handoff action. dryRun previews without remote dispatch; dispatch=true attempts trusted HTTPS downstream delivery and marks sent or accepted only after a confirmed response."
      tags:
        - "Platform"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      requestBody:
        required: true
        content:
          "application/json":
            schema:
              type: "object"
              required:
                - "to"
                - "capability"
              properties:
                dryRun:
                  type: "boolean"
                  description: "Preview the handoff envelope without remote dispatch."
                dispatch:
                  type: "boolean"
                  description: "Attempt protected downstream delivery after URL safety validation."
                to:
                  type: "string"
                  description: "Target PlatPhorm service id."
                capability:
                  type: "string"
                intent:
                  type: "string"
                endpointUrl:
                  type: "string"
                  format: "uri"
                  description: "Optional trusted HTTPS endpoint override."
                input:
                  type: "object"
                expectedOutput:
                  type: "object"
            example:
              to: "docs"
              capability: "publish_public_safe_browser_report"
              dryRun: false
              dispatch: true
              input:
                artifacts: []
                payload:
                  runId: "run_abc123"
                redaction: "public_safe"
              expectedOutput:
                type: "handoff.acceptance"
                required: false
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/browserops/suite":
    get:
      summary: "GET /api/browserops/suite"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/integrations":
    get:
      summary: "GET /api/browserops/integrations"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/integrations/{service}/events":
    get:
      summary: "GET /api/browserops/integrations/{service}/events"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/coverage":
    get:
      summary: "GET /api/browserops/coverage"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/evidence":
    get:
      summary: "GET /api/browserops/evidence"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/handoffs":
    get:
      summary: "GET /api/browserops/handoffs"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/handoffs/{id}":
    get:
      summary: "GET /api/browserops/handoffs/{id}"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/handoffs/{id}/events":
    get:
      summary: "GET /api/browserops/handoffs/{id}/events"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/browserops/events":
    get:
      summary: "GET /api/browserops/events"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/web4/status":
    get:
      summary: "GET /api/web4/status"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/web4/manifest":
    get:
      summary: "GET /api/web4/manifest"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/web4/scorecard":
    get:
      summary: "GET /api/web4/scorecard"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/web4/fingerprints":
    get:
      summary: "GET /api/web4/fingerprints"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/provenance/lookup":
    get:
      summary: "GET /api/provenance/lookup"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/provenance/verify":
    get:
      summary: "GET /api/provenance/verify"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/journeys":
    get:
      summary: "GET /api/v1/journeys"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Journeys"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
    post:
      summary: "POST /api/v1/journeys"
      description: "Protected BrowserOps action. Requires PLATPHORM_API_KEY."
      tags:
        - "Journeys"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/v1/journeys/{id}":
    get:
      summary: "GET /api/v1/journeys/{id}"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Journeys"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
    put:
      summary: "PUT /api/v1/journeys/{id}"
      description: "Protected BrowserOps action. Requires PLATPHORM_API_KEY."
      tags:
        - "Journeys"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
    delete:
      summary: "DELETE /api/v1/journeys/{id}"
      description: "Protected BrowserOps action. Requires PLATPHORM_API_KEY."
      tags:
        - "Journeys"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/v1/journeys/{id}/run":
    get:
      summary: "GET /api/v1/journeys/{id}/run"
      description: "POST-only BrowserOps run action. GET returns structured method_not_allowed JSON for browser navigation safety."
      tags:
        - "Journeys"
      security: []
      responses:
        405:
          description: "Structured JSON response for opening a POST-only BrowserOps action with GET."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "method_not_allowed"
                  message: "This journey run endpoint requires POST."
                  details:
                    allowedMethods:
                      - "POST"
                    endpoint: "/api/v1/journeys/404-homepage-smoke/run"
                    authPolicy: "protected"
                    requires: "PLATPHORM_API_KEY through request headers or the server-side Vercel environment."
    post:
      summary: "POST /api/v1/journeys/{id}/run"
      description: "Protected BrowserOps journey execution. BrowserOps accepts a request PLATPHORM_API_KEY, or uses the server-side Vercel PLATPHORM_API_KEY for trusted-domain UI-triggered runs."
      tags:
        - "Journeys"
      security:
        - 
{}
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/v1/journeys/{id}/dry-run":
    post:
      summary: "POST /api/v1/journeys/{id}/dry-run"
      description: "Protected BrowserOps action. Requires PLATPHORM_API_KEY."
      tags:
        - "Journeys"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/v1/runs":
    get:
      summary: "GET /api/v1/runs"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Runs"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
    post:
      summary: "POST /api/v1/runs"
      description: "Protected BrowserOps action. Requires PLATPHORM_API_KEY."
      tags:
        - "Runs"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/v1/runs/{id}":
    get:
      summary: "GET /api/v1/runs/{id}"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Runs"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/runs/{id}/steps":
    get:
      summary: "GET /api/v1/runs/{id}/steps"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Runs"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/runs/{id}/artifacts":
    get:
      summary: "GET /api/v1/runs/{id}/artifacts"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Runs"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/runs/{id}/screenshots":
    get:
      summary: "GET /api/v1/runs/{id}/screenshots"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Runs"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/runs/{id}/trace":
    get:
      summary: "GET /api/v1/runs/{id}/trace"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Runs"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/runs/{id}/report":
    get:
      summary: "GET /api/v1/runs/{id}/report"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Runs"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/runs/{id}/cancel":
    post:
      summary: "POST /api/v1/runs/{id}/cancel"
      description: "Protected BrowserOps action. Requires PLATPHORM_API_KEY."
      tags:
        - "Runs"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/v1/runs/{id}/publish-docs":
    post:
      summary: "POST /api/v1/runs/{id}/publish-docs"
      description: "Protected BrowserOps action. Requires PLATPHORM_API_KEY."
      tags:
        - "Runs"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/v1/runs/{id}/export-sheets":
    post:
      summary: "POST /api/v1/runs/{id}/export-sheets"
      description: "Protected BrowserOps action. Requires PLATPHORM_API_KEY."
      tags:
        - "Runs"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/v1/runs/{id}/generate-deck":
    post:
      summary: "POST /api/v1/runs/{id}/generate-deck"
      description: "Protected BrowserOps action. Requires PLATPHORM_API_KEY."
      tags:
        - "Runs"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/v1/network/run-smoke":
    post:
      summary: "POST /api/v1/network/run-smoke"
      description: "Protected BrowserOps action. Requires PLATPHORM_API_KEY."
      tags:
        - "Network"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/v1/network/graph":
    get:
      summary: "GET /api/v1/network/graph"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Network"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/network/graph/sync":
    get:
      summary: "GET /api/v1/network/graph/sync"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Network"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
    post:
      summary: "POST /api/v1/network/graph/sync"
      description: "Protected BrowserOps action. Requires PLATPHORM_API_KEY."
      tags:
        - "Network"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/v1/network/sites":
    get:
      summary: "GET /api/v1/network/sites"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Network"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/network/domains":
    get:
      summary: "GET /api/v1/network/domains"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Network"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/network/trusted-domains":
    get:
      summary: "GET /api/v1/network/trusted-domains"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Network"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/network/route-compliance":
    get:
      summary: "GET /api/v1/network/route-compliance"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Network"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/network/discovery-compliance":
    get:
      summary: "GET /api/v1/network/discovery-compliance"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Network"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/network/ui-compliance":
    get:
      summary: "GET /api/v1/network/ui-compliance"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Network"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/network/trace-propagation":
    get:
      summary: "GET /api/v1/network/trace-propagation"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Network"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/sites/{slug}/ui":
    get:
      summary: "GET /api/v1/sites/{slug}/ui"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/sites/{slug}/journeys":
    get:
      summary: "GET /api/v1/sites/{slug}/journeys"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Journeys"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/sites/{slug}/vercel":
    get:
      summary: "GET /api/v1/sites/{slug}/vercel"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/sitemaps/coverage":
    get:
      summary: "GET /api/v1/sitemaps/coverage"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/sitemaps/sync":
    post:
      summary: "POST /api/v1/sitemaps/sync"
      description: "Protected BrowserOps action. Requires PLATPHORM_API_KEY."
      tags:
        - "Platform"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/v1/feeds":
    get:
      summary: "GET /api/v1/feeds"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/feeds/sync":
    post:
      summary: "POST /api/v1/feeds/sync"
      description: "Protected BrowserOps action. Requires PLATPHORM_API_KEY."
      tags:
        - "Platform"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/v1/integrations":
    get:
      summary: "GET /api/v1/integrations"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/integrations/status":
    get:
      summary: "GET /api/v1/integrations/status"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/integrations/{service}":
    get:
      summary: "GET /api/v1/integrations/{service}"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/agent-policy":
    get:
      summary: "GET /api/v1/agent-policy"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/agent-policy/platforms":
    get:
      summary: "GET /api/v1/agent-policy/platforms"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/agent-policy/platforms/{id}":
    get:
      summary: "GET /api/v1/agent-policy/platforms/{id}"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/agent-policy/robots":
    get:
      summary: "GET /api/v1/agent-policy/robots"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/agent-policy/summary":
    get:
      summary: "GET /api/v1/agent-policy/summary"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/protected-actions":
    get:
      summary: "GET /api/v1/protected-actions"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/protected-actions/{id}":
    get:
      summary: "GET /api/v1/protected-actions/{id}"
      description: "Public-safe BrowserOps read endpoint."
      tags:
        - "Platform"
      security: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
  "/api/v1/protected-actions/{id}/confirm":
    post:
      summary: "POST /api/v1/protected-actions/{id}/confirm"
      description: "Protected BrowserOps action. Requires PLATPHORM_API_KEY."
      tags:
        - "Platform"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
  "/api/v1/protected-actions/{id}/execute":
    post:
      summary: "POST /api/v1/protected-actions/{id}/execute"
      description: "Protected BrowserOps action. Requires PLATPHORM_API_KEY."
      tags:
        - "Platform"
      security:
        - 
          bearerPlatformKey: []
        - 
          platphormApiKey: []
      responses:
        200:
          description: "BrowserOps REST response envelope."
          content:
            "application/json":
              schema:
                oneOf:
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "data"
                    properties:
                      ok:
                        const: true
                      data:
                        type: "object"
                  - 
                    type: "object"
                    required:
                      - "ok"
                      - "error"
                    properties:
                      ok:
                        const: false
                      error:
                        type: "object"
                        required:
                          - "code"
                          - "message"
                          - "details"
                        properties:
                          code:
                            type: "string"
                          message:
                            type: "string"
                          details:
                            type: "object"
        401:
          description: "Protected BrowserOps action rejected when no valid request or server-side PLATPHORM_API_KEY is available."
          content:
            "application/json":
              example:
                ok: false
                error:
                  code: "auth_required"
                  message: "Running this BrowserOps journey requires PLATPHORM_API_KEY."
                  details:
                    authSchemes:
                      - "Authorization: Bearer $PLATPHORM_API_KEY"
                      - "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"
components:
  securitySchemes:
    bearerPlatformKey:
      type: "http"
      scheme: "bearer"
      description: "Use Authorization: Bearer $PLATPHORM_API_KEY for protected BrowserOps actions."
    platphormApiKey:
      type: "apiKey"
      in: "header"
      name: "X-PlatPhorm-API-Key"
      description: "Shared PlatPhorm platform API key for protected actions."
x-browserops-endpoints:
  - "/api/health"
  - "/api/v1/health"
  - "/api/docs"
  - "/openapi.yaml"
  - "/openapi.json"
  - "/asyncapi.yaml"
  - "/api/mcp"
  - "/api/browserops/status"
  - "/api/browserops/journeys"
  - "/api/browserops/runs"
  - "/api/browserops/validate-url"
  - "/api/browserops/suite"
  - "/api/browserops/integrations"
  - "/api/browserops/integrations/{service}/events"
  - "/api/browserops/coverage"
  - "/api/browserops/evidence"
  - "/api/browserops/handoffs"
  - "/api/browserops/handoffs/{id}/events"
  - "/api/browserops/events"
  - "/api/web4/status"
  - "/api/web4/manifest"
  - "/api/web4/scorecard"
  - "/api/web4/fingerprints"
  - "/api/provenance/lookup"
  - "/api/provenance/verify"
  - "/api/v1/journeys"
  - "/api/v1/runs"
  - "/api/v1/network/sites"
  - "/api/v1/network/domains"
  - "/api/v1/network/trusted-domains"
  - "/api/v1/network/route-compliance"
  - "/api/v1/network/discovery-compliance"
  - "/api/v1/network/ui-compliance"
  - "/api/v1/network/trace-propagation"
  - "/api/v1/sitemaps/coverage"
  - "/api/v1/feeds"
  - "/api/v1/integrations"
  - "/api/v1/integrations/status"
  - "/api/v1/agent-policy"
  - "/api/v1/agent-policy/platforms"
  - "/api/v1/agent-policy/robots"
  - "/api/v1/agent-policy/summary"
  - "/api/v1/protected-actions"
  - "/llms.txt"
  - "/llms-full.txt"
  - "/llms-index.json"
  - "/rss.xml"
  - "/feed.xml"
  - "/sitemap.xml"
  - "/sitemap-index.xml"
  - "/robots.txt"
  - "/manifest.webmanifest"
  - "/.well-known/mcp.json"
  - "/.well-known/web4.json"
  - "/.well-known/provenance.json"
  - "/.well-known/agents.json"
  - "/.well-known/agent-policy.json"
  - "/.well-known/ai-policy.json"
  - "/.well-known/security.txt"
  - "/.well-known/trust.json"
  - "POST /api/browserops/run"
  - "POST /api/browserops/send-handoff"
  - "POST /api/v1/journeys"
  - "PUT /api/v1/journeys/{id}"
  - "DELETE /api/v1/journeys/{id}"
  - "POST /api/v1/journeys/{id}/run"
  - "POST /api/v1/journeys/{id}/dry-run"
  - "POST /api/v1/runs"
  - "POST /api/v1/runs/{id}/cancel"
  - "POST /api/v1/runs/{id}/publish-docs"
  - "POST /api/v1/runs/{id}/export-sheets"
  - "POST /api/v1/runs/{id}/generate-deck"
  - "POST /api/v1/network/run-smoke"
  - "POST /api/v1/network/graph/sync"
  - "POST /api/v1/sitemaps/sync"
  - "POST /api/v1/feeds/sync"
  - "POST /api/v1/protected-actions/{id}/confirm"
  - "POST /api/v1/protected-actions/{id}/execute"