{
  "openapi": "3.1.0",
  "info": {
    "title": "FastAPI",
    "version": "0.1.0"
  },
  "paths": {
    "/v1/health": {
      "get": {
        "summary": "Health",
        "operationId": "health_v1_health_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    },
    "/v1/scouting/updates": {
      "get": {
        "summary": "Get All Updates Api",
        "description": "Get all updates across the user's scouts within a time range.",
        "operationId": "get_all_updates_api_v1_scouting_updates_get",
        "parameters": [
          {
            "name": "start_time",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Start Time"
            }
          },
          {
            "name": "end_time",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "title": "End Time"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "default": 50,
              "title": "Page Size"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAllUpdatesPublicResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/scouting/tasks/{scout_id}/updates": {
      "get": {
        "summary": "Get Updates Api",
        "operationId": "get_updates_api_v1_scouting_tasks__scout_id__updates_get",
        "parameters": [
          {
            "name": "scout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Scout Id"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetScoutUpdatesPublicResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/usage": {
      "get": {
        "tags": [
          "Scouting"
        ],
        "summary": "Get Usage",
        "description": "Get usage statistics over different time periods, active scouts, and rate limits.",
        "operationId": "get_usage_v1_usage_get",
        "parameters": [
          {
            "name": "period",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/TimeRange",
              "default": "24h"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsageResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/scouting/tasks": {
      "post": {
        "tags": [
          "Scouting"
        ],
        "summary": "Create Scout Task",
        "operationId": "create_scout_task_v1_scouting_tasks_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScoutRequestAPI"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateScoutResponsePublic"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Scouting"
        ],
        "summary": "Get Scouts",
        "description": "List scouting tasks for this user.",
        "operationId": "get_scouts_v1_scouting_tasks_get",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "active",
                    "paused",
                    "done"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by scout status",
              "title": "Status"
            },
            "description": "Filter by scout status"
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScoutListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/scouting/tasks/{scout_id}": {
      "put": {
        "tags": [
          "Scouting"
        ],
        "summary": "Edit Scout",
        "operationId": "edit_scout_v1_scouting_tasks__scout_id__put",
        "parameters": [
          {
            "name": "scout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Scout Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditScoutRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Scout"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Scouting"
        ],
        "summary": "Partially update a Scout",
        "description": "Update specific fields of an existing Scout. Only provided fields will be updated; omitted fields remain unchanged.",
        "operationId": "patch_scout_v1_scouting_tasks__scout_id__patch",
        "parameters": [
          {
            "name": "scout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Scout Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchScoutRequestAPI"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateScoutResponsePublic"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Scouting"
        ],
        "summary": "Get Scout Detail",
        "description": "Get detailed information about a specific scout owned by this user.",
        "operationId": "get_scout_detail_v1_scouting_tasks__scout_id__get",
        "parameters": [
          {
            "name": "scout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Scout Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScoutDetailResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Scouting"
        ],
        "summary": "Delete Scout",
        "operationId": "delete_scout_v1_scouting_tasks__scout_id__delete",
        "parameters": [
          {
            "name": "scout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Scout Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/scouting/tasks/{scout_id}/done": {
      "post": {
        "tags": [
          "Scouting"
        ],
        "summary": "Mark Scout As Done",
        "description": "Mark a scout as done. The scout will be archived and stop running.",
        "operationId": "mark_scout_as_done_v1_scouting_tasks__scout_id__done_post",
        "parameters": [
          {
            "name": "scout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Scout Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/scouting/tasks/{scout_id}/complete": {
      "post": {
        "tags": [
          "Scouting"
        ],
        "summary": "Mark Scout As Complete",
        "description": "\u26a0\ufe0f DEPRECATED: Use POST /scouting/tasks/{scout_id}/done instead.",
        "operationId": "mark_scout_as_complete_v1_scouting_tasks__scout_id__complete_post",
        "deprecated": true,
        "parameters": [
          {
            "name": "scout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Scout Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/scouting/tasks/{scout_id}/subscribe": {
      "post": {
        "tags": [
          "Scouting"
        ],
        "summary": "Subscribe",
        "description": "\u26a0\ufe0f DEPRECATED: Use PUT /scouting/tasks/{scout_id}/email-settings with subscribers_to_add instead",
        "operationId": "subscribe_v1_scouting_tasks__scout_id__subscribe_post",
        "deprecated": true,
        "parameters": [
          {
            "name": "scout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Scout Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/scouting/tasks/{scout_id}/unsubscribe": {
      "post": {
        "tags": [
          "Scouting"
        ],
        "summary": "Unsubscribe",
        "description": "\u26a0\ufe0f DEPRECATED: Use PUT /scouting/tasks/{scout_id}/email-settings with subscribers_to_remove instead",
        "operationId": "unsubscribe_v1_scouting_tasks__scout_id__unsubscribe_post",
        "deprecated": true,
        "parameters": [
          {
            "name": "scout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Scout Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteSubscriptionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/scouting/tasks/{scout_id}/subscriptions": {
      "get": {
        "tags": [
          "Scouting"
        ],
        "summary": "Get Subscriptions",
        "operationId": "get_subscriptions_v1_scouting_tasks__scout_id__subscriptions_get",
        "parameters": [
          {
            "name": "scout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Scout Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/scouting/tasks/{scout_id}/subscribe/bulk": {
      "post": {
        "tags": [
          "Scouting"
        ],
        "summary": "Bulk Subscribe",
        "description": "\u26a0\ufe0f DEPRECATED: Use PUT /scouting/tasks/{scout_id}/email-settings with subscribers_to_add instead",
        "operationId": "bulk_subscribe_v1_scouting_tasks__scout_id__subscribe_bulk_post",
        "deprecated": true,
        "parameters": [
          {
            "name": "scout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Scout Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkAddSubscribersRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/scouting/tasks/{scout_id}/pause": {
      "post": {
        "tags": [
          "Scouting"
        ],
        "summary": "Pause Scout Endpoint",
        "operationId": "pause_scout_endpoint_v1_scouting_tasks__scout_id__pause_post",
        "parameters": [
          {
            "name": "scout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Scout Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/scouting/tasks/{scout_id}/resume": {
      "post": {
        "tags": [
          "Scouting"
        ],
        "summary": "Resume Scout Endpoint",
        "operationId": "resume_scout_endpoint_v1_scouting_tasks__scout_id__resume_post",
        "parameters": [
          {
            "name": "scout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Scout Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/scouting/tasks/{scout_id}/restart": {
      "post": {
        "tags": [
          "Scouting"
        ],
        "summary": "Restart Scout Endpoint",
        "operationId": "restart_scout_endpoint_v1_scouting_tasks__scout_id__restart_post",
        "parameters": [
          {
            "name": "scout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Scout Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/scouting/tasks/{scout_id}/email-settings": {
      "put": {
        "tags": [
          "Scouting"
        ],
        "summary": "Update Email Settings",
        "description": "Update email notification settings and manage subscribers for a scout.",
        "operationId": "update_email_settings_v1_scouting_tasks__scout_id__email_settings_put",
        "parameters": [
          {
            "name": "scout_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Scout Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEmailSettingsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateEmailSettingsResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/scouting/webhooks/test": {
      "post": {
        "tags": [
          "Scouting"
        ],
        "summary": "Test Webhook",
        "operationId": "test_webhook_v1_scouting_webhooks_test_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TestWebhookFormatRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/browsing/tasks": {
      "post": {
        "tags": [
          "Browsing"
        ],
        "summary": "Create A Task",
        "description": "Launches a website navigation agent to execute the task on a cloud browser.",
        "operationId": "agent_run_endpoint_v1_browsing_tasks_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentRunRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentRunResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Browsing"
        ],
        "summary": "List Tasks",
        "description": "List browsing tasks for the authenticated user.",
        "operationId": "list_browsing_tasks_v1_browsing_tasks_get",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "running",
                    "succeeded",
                    "failed"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by task status: running, succeeded, or failed.",
              "title": "Status"
            },
            "description": "Filter by task status: running, succeeded, or failed."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/browsing/tasks/{id}": {
      "get": {
        "tags": [
          "Browsing"
        ],
        "summary": "Get Agent Run Status",
        "description": "Returns the current status (queued, running, succeeded, failed) and any results if completed.",
        "operationId": "get_agent_run_status_v1_browsing_tasks__id__get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentRunResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/browsing/tasks/{id}/trajectory": {
      "get": {
        "tags": [
          "Browsing"
        ],
        "summary": "Download Task Trajectory",
        "description": "Downloads the trajectory for a completed browsing task.",
        "operationId": "get_task_trajectory_v1_browsing_tasks__id__trajectory_get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Id"
            }
          },
          {
            "name": "output_type",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "json",
                "zip"
              ],
              "type": "string",
              "description": "Output format: 'json' or 'zip'",
              "default": "json",
              "title": "Output Type"
            },
            "description": "Output format: 'json' or 'zip'"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/research/tasks": {
      "post": {
        "tags": [
          "Research"
        ],
        "summary": "Create A Task",
        "description": "Launches a one-time research task on the web.",
        "operationId": "create_research_task_v1_research_tasks_post",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateResearchTaskRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateResearchTaskResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Research"
        ],
        "summary": "List Tasks",
        "description": "List research tasks for the authenticated user.",
        "operationId": "list_research_tasks_v1_research_tasks_get",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "running",
                    "succeeded",
                    "failed"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by task status: running, succeeded, or failed.",
              "title": "Status"
            },
            "description": "Filter by task status: running, succeeded, or failed."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Page Size"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskListResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/research/tasks/{task_id}": {
      "get": {
        "tags": [
          "Research"
        ],
        "summary": "Get Status And Results",
        "description": "Returns the current status (queued, running, succeeded, failed) and any results if completed.",
        "operationId": "get_research_task_status_v1_research_tasks__task_id__get",
        "parameters": [
          {
            "name": "task_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Task Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResearchTaskStatusResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/v1/chat/completions": {
      "post": {
        "tags": [
          "Chat Completions"
        ],
        "summary": "Create Chat Completion",
        "operationId": "create_chat_completion_v1_chat_completions_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatCompletionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AccessRequestItem": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "requester_email": {
            "type": "string",
            "title": "Requester Email"
          },
          "requester_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Requester Name"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "approved",
              "denied"
            ],
            "title": "Status"
          },
          "created_at": {
            "type": "string",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "requester_email",
          "requester_name",
          "status",
          "created_at"
        ],
        "title": "AccessRequestItem"
      },
      "AccessRequestListResponse": {
        "properties": {
          "access_requests": {
            "items": {
              "$ref": "#/components/schemas/AccessRequestItem"
            },
            "type": "array",
            "title": "Access Requests"
          }
        },
        "type": "object",
        "required": [
          "access_requests"
        ],
        "title": "AccessRequestListResponse"
      },
      "AccessRequestStatusResponse": {
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "none",
              "pending",
              "approved",
              "denied"
            ],
            "title": "Status"
          }
        },
        "type": "object",
        "required": [
          "status"
        ],
        "title": "AccessRequestStatusResponse"
      },
      "AccountMetadataResponse": {
        "properties": {
          "metadata": {
            "additionalProperties": true,
            "type": "object",
            "title": "Metadata"
          }
        },
        "type": "object",
        "required": [
          "metadata"
        ],
        "title": "AccountMetadataResponse"
      },
      "ActivityCounts": {
        "properties": {
          "period": {
            "type": "string",
            "enum": [
              "24h",
              "7d",
              "30d",
              "90d"
            ],
            "title": "Period"
          },
          "scout_runs": {
            "type": "integer",
            "title": "Scout Runs"
          },
          "browsing_tasks": {
            "type": "integer",
            "title": "Browsing Tasks"
          },
          "research_tasks": {
            "type": "integer",
            "title": "Research Tasks"
          },
          "navigator_calls": {
            "type": "integer",
            "title": "Navigator Calls",
            "description": "Navigator (chat completions) calls in period"
          },
          "n1_calls": {
            "type": "integer",
            "title": "N1 Calls",
            "description": "Deprecated alias of navigator_calls; prefer navigator_calls",
            "deprecated": true,
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "period",
          "scout_runs",
          "browsing_tasks",
          "research_tasks",
          "navigator_calls",
          "n1_calls"
        ],
        "title": "ActivityCounts"
      },
      "AddFeedbackRequest": {
        "properties": {
          "content": {
            "type": "string",
            "title": "Content",
            "description": "Content of the feedback the user provides"
          },
          "feedback_type": {
            "type": "string",
            "enum": [
              "inline",
              "report",
              "scout"
            ],
            "title": "Feedback Type",
            "description": "The type of feedback: inline, report, or scout"
          },
          "context": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Context",
            "description": "The content of the report used as context for the feedback"
          },
          "report_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Report Id",
            "description": "The ID of the specific report this feedback relates to"
          },
          "source": {
            "type": "string",
            "enum": [
              "ui",
              "email",
              "chat"
            ],
            "title": "Source",
            "description": "The source of the feedback: ui or email"
          }
        },
        "type": "object",
        "required": [
          "content",
          "feedback_type",
          "source"
        ],
        "title": "AddFeedbackRequest"
      },
      "AgentRunRequest": {
        "properties": {
          "output_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Output Schema",
            "description": "JSON Schema for structured output. Takes precedence over task_spec if both provided.",
            "examples": [
              {
                "items": {
                  "properties": {
                    "name": {
                      "description": "Full name of the employee",
                      "type": "string"
                    },
                    "title": {
                      "description": "Job title of the employee",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              }
            ]
          },
          "task_spec": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaskSpec"
              },
              {
                "type": "null"
              }
            ],
            "description": "Deprecated but still supported. Use output_schema instead.",
            "deprecated": true
          },
          "used_deprecated_task_spec": {
            "type": "boolean",
            "title": "Used Deprecated Task Spec",
            "default": false,
            "hidden": true
          },
          "task": {
            "type": "string",
            "title": "Task",
            "description": "String describing the browsing task in natural language.",
            "examples": [
              "Give me a list of all employees (names and titles) of Yutori."
            ]
          },
          "start_url": {
            "type": "string",
            "title": "Start Url",
            "description": "URL to open before running the task",
            "examples": [
              "https://yutori.com"
            ]
          },
          "max_steps": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 100.0,
                "minimum": 2.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps",
            "description": "Maximum number of steps the agent can take",
            "examples": [
              50
            ]
          },
          "agent": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "enum": [
              "navigator-n1.5-latest",
              "claude-sonnet-4-5-computer-use-2025-01-24",
              null
            ],
            "title": "Agent",
            "description": "Which agent to use for the browsing task. Defaults to navigator-n1.5-latest.",
            "examples": [
              "navigator-n1.5-latest"
            ]
          },
          "require_auth": {
            "type": "boolean",
            "title": "Require Auth",
            "description": "Hint that this task is likely to involve authentication (e.g. logging in or entering passwords). When true, the system will prefer an auth-optimized browser provider when available.",
            "default": false
          },
          "browser": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "cloud",
                  "local"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser",
            "description": "Where to run the browser. 'cloud' (default) uses Yutori's cloud browser. 'local' uses the user's desktop app (Yutori Local) with their existing logged-in sessions. Requires the desktop app to be running."
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Url",
            "description": "Optional webhook URL to receive the agent.run result for the calling user using webhook_format.",
            "examples": [
              "https://example.com/webhook"
            ]
          },
          "webhook_format": {
            "type": "string",
            "enum": [
              "scout",
              "slack",
              "zapier"
            ],
            "title": "Webhook Format",
            "description": "Webhook payload format to use when webhook_url is provided. Slack incoming webhook URLs require 'slack'.",
            "default": "scout",
            "examples": [
              "scout"
            ]
          }
        },
        "type": "object",
        "required": [
          "task",
          "start_url"
        ],
        "title": "AgentRunRequest"
      },
      "AgentRunResponse": {
        "properties": {
          "task_id": {
            "type": "string",
            "title": "Task Id",
            "description": "Unique identifier for this browsing task"
          },
          "view_url": {
            "type": "string",
            "title": "View Url"
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "running",
              "succeeded",
              "failed"
            ],
            "title": "Status"
          },
          "result": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Result"
          },
          "paused": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Paused"
          },
          "structured_result": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Structured Result",
            "description": "If an output schema was provided, the result formatted as JSON matching that schema"
          },
          "structured_output_status": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "not_requested",
                  "pending",
                  "succeeded",
                  "failed"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Structured Output Status",
            "description": "Whether structured output was requested, is still pending, succeeded, or failed"
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Url",
            "description": "Echoes the webhook URL configured for this agent.run request, if provided."
          },
          "rejection_reason": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectionReason"
              },
              {
                "type": "null"
              }
            ],
            "description": "If status is 'failed', the specific billing reason for rejection"
          }
        },
        "type": "object",
        "required": [
          "task_id",
          "view_url",
          "status"
        ],
        "title": "AgentRunResponse"
      },
      "ApiKeyCreateResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "key": {
            "type": "string",
            "title": "Key",
            "description": "The plaintext API key (returned once; store securely)"
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "User-friendly name for the API key"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          }
        },
        "type": "object",
        "required": [
          "id",
          "key",
          "name"
        ],
        "title": "ApiKeyCreateResponse"
      },
      "ApiKeyDeleteResponse": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "ApiKeyDeleteResponse"
      },
      "ApiKeyListResponse": {
        "properties": {
          "keys": {
            "items": {
              "$ref": "#/components/schemas/ApiKeyMetadata"
            },
            "type": "array",
            "title": "Keys"
          }
        },
        "type": "object",
        "required": [
          "keys"
        ],
        "title": "ApiKeyListResponse"
      },
      "ApiKeyMetadata": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "last_used_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Used At"
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "is_active": {
            "type": "boolean",
            "title": "Is Active"
          },
          "is_hackathon_key": {
            "type": "boolean",
            "title": "Is Hackathon Key",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "id",
          "is_active"
        ],
        "title": "ApiKeyMetadata"
      },
      "ApiKeyVerifyResponse": {
        "properties": {
          "valid": {
            "type": "boolean",
            "title": "Valid"
          },
          "user_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Id"
          }
        },
        "type": "object",
        "required": [
          "valid"
        ],
        "title": "ApiKeyVerifyResponse"
      },
      "ArtifactShareResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "artifact_id": {
            "type": "string",
            "format": "uuid",
            "title": "Artifact Id"
          },
          "grantee_type": {
            "type": "string",
            "enum": [
              "email",
              "domain"
            ],
            "title": "Grantee Type"
          },
          "target": {
            "type": "string",
            "title": "Target"
          },
          "email": {
            "anyOf": [
              {
                "type": "string",
                "format": "email"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Domain"
          },
          "grantee_user_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Grantee User Id"
          },
          "permission_level": {
            "type": "string",
            "enum": [
              "read",
              "write"
            ],
            "title": "Permission Level"
          },
          "created_by_user_id": {
            "type": "string",
            "format": "uuid",
            "title": "Created By User Id"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "artifact_id",
          "grantee_type",
          "target",
          "email",
          "domain",
          "grantee_user_id",
          "permission_level",
          "created_by_user_id",
          "created_at",
          "updated_at"
        ],
        "title": "ArtifactShareResponse"
      },
      "ArtifactShareUpdateRequest": {
        "properties": {
          "permission_level": {
            "type": "string",
            "enum": [
              "read",
              "write"
            ],
            "title": "Permission Level"
          }
        },
        "type": "object",
        "required": [
          "permission_level"
        ],
        "title": "ArtifactShareUpdateRequest"
      },
      "ArtifactShareUpsertRequest": {
        "properties": {
          "grantee_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "email",
                  "domain"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Grantee Type"
          },
          "email": {
            "anyOf": [
              {
                "type": "string",
                "format": "email"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "domain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Domain"
          },
          "permission_level": {
            "type": "string",
            "enum": [
              "read",
              "write"
            ],
            "title": "Permission Level"
          }
        },
        "type": "object",
        "required": [
          "permission_level"
        ],
        "title": "ArtifactShareUpsertRequest"
      },
      "ArtifactStateWriteRequest": {
        "properties": {
          "path": {
            "type": "string",
            "title": "Path"
          },
          "state_json": {
            "additionalProperties": true,
            "type": "object",
            "title": "State Json"
          },
          "state_schema_version": {
            "type": "integer",
            "title": "State Schema Version",
            "default": 1
          },
          "artifact_revision": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Artifact Revision"
          }
        },
        "type": "object",
        "required": [
          "path"
        ],
        "title": "ArtifactStateWriteRequest"
      },
      "Audio": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "id"
        ],
        "title": "Audio"
      },
      "AutoTopupSettingsResponse": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "default": false
          },
          "threshold_cents": {
            "type": "integer",
            "title": "Threshold Cents",
            "default": 5000
          },
          "topup_amount_cents": {
            "type": "integer",
            "title": "Topup Amount Cents",
            "default": 5000
          },
          "stripe_payment_method_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Stripe Payment Method Id"
          },
          "last_topup_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Topup At"
          },
          "topup_dispatched": {
            "type": "boolean",
            "title": "Topup Dispatched",
            "default": false
          }
        },
        "type": "object",
        "title": "AutoTopupSettingsResponse"
      },
      "BillingCycle": {
        "type": "string",
        "enum": [
          "monthly",
          "annual"
        ],
        "title": "BillingCycle"
      },
      "Body_agent_ask_v1_client_agent_ask_post": {
        "properties": {
          "token": {
            "type": "string",
            "title": "Token"
          },
          "user_id": {
            "type": "string",
            "title": "User Id"
          },
          "command": {
            "type": "string",
            "title": "Command"
          },
          "text": {
            "type": "string",
            "title": "Text"
          },
          "response_url": {
            "type": "string",
            "title": "Response Url"
          },
          "team_id": {
            "type": "string",
            "title": "Team Id"
          },
          "team_domain": {
            "type": "string",
            "title": "Team Domain"
          },
          "channel_id": {
            "type": "string",
            "title": "Channel Id"
          },
          "channel_name": {
            "type": "string",
            "title": "Channel Name"
          },
          "user_name": {
            "type": "string",
            "title": "User Name"
          },
          "trigger_id": {
            "type": "string",
            "title": "Trigger Id"
          }
        },
        "type": "object",
        "required": [
          "token",
          "user_id",
          "command",
          "text",
          "response_url"
        ],
        "title": "Body_agent_ask_v1_client_agent_ask_post"
      },
      "Body_webhook_v1_client_mailgun_webhook_post": {
        "properties": {
          "timestamp": {
            "type": "string",
            "title": "Timestamp"
          },
          "token": {
            "type": "string",
            "title": "Token"
          },
          "signature": {
            "type": "string",
            "title": "Signature"
          },
          "recipient": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recipient"
          },
          "sender": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sender"
          },
          "body-html": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body-Html"
          },
          "stripped-html": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Stripped-Html"
          },
          "body-plain": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body-Plain"
          },
          "stripped-text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Stripped-Text"
          },
          "Message-Id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Message-Id"
          },
          "References": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "References"
          },
          "In-Reply-To": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "In-Reply-To"
          },
          "subject": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Subject"
          },
          "Date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Date"
          },
          "From": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "From"
          },
          "Auto-Submitted": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Auto-Submitted"
          },
          "X-Auto-Response-Suppress": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "X-Auto-Response-Suppress"
          },
          "X-Autoreply": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "X-Autoreply"
          },
          "X-Autorespond": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "X-Autorespond"
          },
          "Precedence": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Precedence"
          }
        },
        "type": "object",
        "required": [
          "timestamp",
          "token",
          "signature"
        ],
        "title": "Body_webhook_v1_client_mailgun_webhook_post"
      },
      "BrowsingUsageTimelinePoint": {
        "properties": {
          "date": {
            "type": "string",
            "title": "Date"
          },
          "task_count": {
            "type": "integer",
            "title": "Task Count"
          },
          "total_steps": {
            "type": "integer",
            "title": "Total Steps"
          },
          "amount_cents": {
            "type": "integer",
            "title": "Amount Cents"
          }
        },
        "type": "object",
        "required": [
          "date",
          "task_count",
          "total_steps",
          "amount_cents"
        ],
        "title": "BrowsingUsageTimelinePoint"
      },
      "BudgetSettingsResponse": {
        "properties": {
          "monthly_budget_cents": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Monthly Budget Cents"
          },
          "budget_type": {
            "type": "string",
            "enum": [
              "hard",
              "soft"
            ],
            "title": "Budget Type",
            "default": "soft"
          },
          "period_spend_cents": {
            "type": "integer",
            "title": "Period Spend Cents",
            "default": 0
          },
          "utilization_pct": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Utilization Pct"
          },
          "period_start": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Period Start"
          },
          "alert_thresholds_sent": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "title": "Alert Thresholds Sent"
          }
        },
        "type": "object",
        "title": "BudgetSettingsResponse"
      },
      "BulkAddSubscribersRequest": {
        "properties": {
          "emails": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Emails",
            "description": "List of user emails to subscribe to the scout"
          }
        },
        "type": "object",
        "required": [
          "emails"
        ],
        "title": "BulkAddSubscribersRequest"
      },
      "ChatCompletionAssistantMessageParam": {
        "properties": {
          "role": {
            "type": "string",
            "const": "assistant",
            "title": "Role"
          },
          "audio": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Audio"
              },
              {
                "type": "null"
              }
            ]
          },
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartTextParam"
                    },
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartRefusalParam"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Content"
          },
          "function_call": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/FunctionCall"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "refusal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Refusal"
          },
          "tool_calls": {
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ChatCompletionMessageFunctionToolCallParam"
                },
                {
                  "$ref": "#/components/schemas/ChatCompletionMessageCustomToolCallParam"
                }
              ]
            },
            "type": "array",
            "title": "Tool Calls"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "role"
        ],
        "title": "ChatCompletionAssistantMessageParam"
      },
      "ChatCompletionContentPartImageParam": {
        "properties": {
          "image_url": {
            "$ref": "#/components/schemas/ImageURL"
          },
          "type": {
            "type": "string",
            "const": "image_url",
            "title": "Type"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "image_url",
          "type"
        ],
        "title": "ChatCompletionContentPartImageParam"
      },
      "ChatCompletionContentPartInputAudioParam": {
        "properties": {
          "input_audio": {
            "$ref": "#/components/schemas/InputAudio"
          },
          "type": {
            "type": "string",
            "const": "input_audio",
            "title": "Type"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "input_audio",
          "type"
        ],
        "title": "ChatCompletionContentPartInputAudioParam"
      },
      "ChatCompletionContentPartRefusalParam": {
        "properties": {
          "refusal": {
            "type": "string",
            "title": "Refusal"
          },
          "type": {
            "type": "string",
            "const": "refusal",
            "title": "Type"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "refusal",
          "type"
        ],
        "title": "ChatCompletionContentPartRefusalParam"
      },
      "ChatCompletionContentPartTextParam": {
        "properties": {
          "text": {
            "type": "string",
            "title": "Text"
          },
          "type": {
            "type": "string",
            "const": "text",
            "title": "Type"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "text",
          "type"
        ],
        "title": "ChatCompletionContentPartTextParam"
      },
      "ChatCompletionDeveloperMessageParam": {
        "properties": {
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/components/schemas/ChatCompletionContentPartTextParam"
                },
                "type": "array"
              }
            ],
            "title": "Content"
          },
          "role": {
            "type": "string",
            "const": "developer",
            "title": "Role"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "content",
          "role"
        ],
        "title": "ChatCompletionDeveloperMessageParam"
      },
      "ChatCompletionFunctionMessageParam": {
        "properties": {
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Content"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "role": {
            "type": "string",
            "const": "function",
            "title": "Role"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "content",
          "name",
          "role"
        ],
        "title": "ChatCompletionFunctionMessageParam"
      },
      "ChatCompletionMessageCustomToolCallParam": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "custom": {
            "$ref": "#/components/schemas/Custom"
          },
          "type": {
            "type": "string",
            "const": "custom",
            "title": "Type"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "id",
          "custom",
          "type"
        ],
        "title": "ChatCompletionMessageCustomToolCallParam"
      },
      "ChatCompletionMessageFunctionToolCallParam": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "function": {
            "$ref": "#/components/schemas/Function"
          },
          "type": {
            "type": "string",
            "const": "function",
            "title": "Type"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "id",
          "function",
          "type"
        ],
        "title": "ChatCompletionMessageFunctionToolCallParam"
      },
      "ChatCompletionObservationMessageParam": {
        "properties": {
          "role": {
            "type": "string",
            "const": "observation",
            "title": "Role"
          },
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartTextParam"
                    },
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartImageParam"
                    }
                  ]
                },
                "type": "array"
              }
            ],
            "title": "Content"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "role",
          "content"
        ],
        "title": "ChatCompletionObservationMessageParam"
      },
      "ChatCompletionRequest": {
        "properties": {
          "messages": {
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ChatCompletionDeveloperMessageParam"
                },
                {
                  "$ref": "#/components/schemas/ChatCompletionSystemMessageParam"
                },
                {
                  "$ref": "#/components/schemas/ChatCompletionUserMessageParam"
                },
                {
                  "$ref": "#/components/schemas/ChatCompletionAssistantMessageParam"
                },
                {
                  "$ref": "#/components/schemas/ChatCompletionToolMessageParam"
                },
                {
                  "$ref": "#/components/schemas/ChatCompletionFunctionMessageParam"
                },
                {
                  "$ref": "#/components/schemas/ChatCompletionToolImageMessageParam"
                },
                {
                  "$ref": "#/components/schemas/ChatCompletionObservationMessageParam"
                }
              ]
            },
            "type": "array",
            "title": "Messages"
          },
          "model": {
            "type": "string",
            "enum": [
              "n1.5-latest",
              "n1.5-20260428"
            ],
            "title": "Model"
          },
          "max_completion_tokens": {
            "type": "integer",
            "title": "Max Completion Tokens",
            "default": 1572
          },
          "temperature": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Temperature",
            "default": 0.3
          },
          "top_p": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Top P"
          },
          "repetition_penalty": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Repetition Penalty",
            "description": "Penalizes token repetition. 1.0 = no penalty, >1.0 = less repetition. Only supported by vLLM-backed models."
          },
          "presence_penalty": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Presence Penalty"
          },
          "frequency_penalty": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Frequency Penalty"
          },
          "tools": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tools",
            "description": "Additional tools to extend the default browser action tools. Tools are merged with the built-in browser actions (left_click, scroll, type, etc.)."
          },
          "tool_choice": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tool Choice",
            "description": "Controls whether tool calls are parsed from the response. Model always decides whether to call a tool. 'none' treats the response as text-only, but tool calls may be present inside `<tool_call>` tags, 'auto' (default) parses tool calls automatically as `tool_calls` list in response.",
            "default": "auto"
          },
          "response_format": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Response Format",
            "description": "An object specifying the format that the model must output."
          },
          "tool_set": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tool Set",
            "description": "Named tool set (n1.5+ models only). 'browser_tools_core-20260403' (default): coordinate-based tools. 'browser_tools_expanded-20260403': adds extract_elements, find, set_element_value, execute_js."
          },
          "disable_tools": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disable Tools",
            "description": "List of tool names to remove from the selected tool set (n1.5+ models only)."
          },
          "json_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Json Schema",
            "description": "JSON Schema for structured output (n1.5+ models only). Appended to your task message. Model returns JSON in ```json fences, parsed and returned as 'parsed_json' in the response."
          },
          "prev_request_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prev Request Id",
            "description": "The `request_id` returned by the previous Navigator call in this conversation. Echo it back on each subsequent call to link the calls into one conversation for usage reporting."
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "ChatCompletionRequest"
      },
      "ChatCompletionSystemMessageParam": {
        "properties": {
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/components/schemas/ChatCompletionContentPartTextParam"
                },
                "type": "array"
              }
            ],
            "title": "Content"
          },
          "role": {
            "type": "string",
            "const": "system",
            "title": "Role"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "content",
          "role"
        ],
        "title": "ChatCompletionSystemMessageParam"
      },
      "ChatCompletionToolImageMessageParam": {
        "properties": {
          "role": {
            "type": "string",
            "const": "tool",
            "title": "Role"
          },
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartTextParam"
                    },
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartImageParam"
                    }
                  ]
                },
                "type": "array"
              }
            ],
            "title": "Content"
          },
          "tool_call_id": {
            "type": "string",
            "title": "Tool Call Id"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "role",
          "content",
          "tool_call_id"
        ],
        "title": "ChatCompletionToolImageMessageParam"
      },
      "ChatCompletionToolMessageParam": {
        "properties": {
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/components/schemas/ChatCompletionContentPartTextParam"
                },
                "type": "array"
              }
            ],
            "title": "Content"
          },
          "role": {
            "type": "string",
            "const": "tool",
            "title": "Role"
          },
          "tool_call_id": {
            "type": "string",
            "title": "Tool Call Id"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "content",
          "role",
          "tool_call_id"
        ],
        "title": "ChatCompletionToolMessageParam"
      },
      "ChatCompletionUserMessageParam": {
        "properties": {
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartTextParam"
                    },
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartImageParam"
                    },
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartInputAudioParam"
                    },
                    {
                      "$ref": "#/components/schemas/File"
                    }
                  ]
                },
                "type": "array"
              }
            ],
            "title": "Content"
          },
          "role": {
            "type": "string",
            "const": "user",
            "title": "Role"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "content",
          "role"
        ],
        "title": "ChatCompletionUserMessageParam"
      },
      "Citation": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "url": {
            "type": "string",
            "title": "Url"
          },
          "preview_data": {
            "additionalProperties": true,
            "type": "object",
            "title": "Preview Data"
          }
        },
        "type": "object",
        "required": [
          "id",
          "url"
        ],
        "title": "Citation"
      },
      "ConfirmTopupRequest": {
        "properties": {
          "payment_intent_id": {
            "type": "string",
            "pattern": "^pi_",
            "title": "Payment Intent Id"
          },
          "return_url": {
            "type": "string",
            "title": "Return Url"
          }
        },
        "type": "object",
        "required": [
          "payment_intent_id",
          "return_url"
        ],
        "title": "ConfirmTopupRequest"
      },
      "ConnectRequest": {
        "properties": {
          "app_name": {
            "type": "string",
            "title": "App Name"
          }
        },
        "type": "object",
        "required": [
          "app_name"
        ],
        "title": "ConnectRequest"
      },
      "ConnectedAccount": {
        "properties": {
          "service": {
            "type": "string",
            "enum": [
              "linkedin",
              "x",
              "amex-travel"
            ],
            "title": "Service"
          }
        },
        "type": "object",
        "required": [
          "service"
        ],
        "title": "ConnectedAccount"
      },
      "ConnectionResponse": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "service": {
            "type": "string",
            "title": "Service"
          },
          "status": {
            "type": "string",
            "title": "Status"
          }
        },
        "type": "object",
        "required": [
          "id",
          "service",
          "status"
        ],
        "title": "ConnectionResponse"
      },
      "ConnectorsConfig": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Whether connectors are enabled for this scout"
          }
        },
        "type": "object",
        "required": [
          "enabled"
        ],
        "title": "ConnectorsConfig"
      },
      "ConnectorsConfigPayload": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "description": "Whether connectors are enabled for this scout"
          }
        },
        "type": "object",
        "required": [
          "enabled"
        ],
        "title": "ConnectorsConfigPayload"
      },
      "CreateApiKeyRequest": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ],
            "title": "Name",
            "description": "User-friendly name for the API key"
          },
          "is_hackathon_key": {
            "type": "boolean",
            "title": "Is Hackathon Key",
            "description": "Whether this key was created during hackathon mode",
            "default": false
          }
        },
        "type": "object",
        "title": "CreateApiKeyRequest"
      },
      "CreateMessageRequest": {
        "properties": {
          "message": {
            "type": "string",
            "title": "Message",
            "description": "Message content"
          },
          "scout_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scout Id",
            "description": "Scout ID this message belongs to. If not provided, a new scout will be created."
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Type",
            "description": "Type of message (praxis, auth, demo). Defaults to praxis.",
            "default": "praxis"
          },
          "enabled_services": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Enabled Services",
            "description": "List of enabled services for authentication."
          },
          "stripe_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Stripe Token",
            "description": "Stripe payment token for purchases during agent run. If provided, payment is enabled."
          }
        },
        "type": "object",
        "required": [
          "message"
        ],
        "title": "CreateMessageRequest"
      },
      "CreateResearchTaskRequest": {
        "properties": {
          "output_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Output Schema",
            "description": "JSON Schema for structured output. Takes precedence over task_spec if both provided.",
            "examples": [
              {
                "items": {
                  "properties": {
                    "title": {
                      "description": "Title of the development",
                      "type": "string"
                    },
                    "summary": {
                      "description": "Brief summary",
                      "type": "string"
                    },
                    "source_url": {
                      "description": "URL for more details",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              }
            ]
          },
          "task_spec": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaskSpec"
              },
              {
                "type": "null"
              }
            ],
            "description": "Deprecated but still supported. Use output_schema instead.",
            "deprecated": true
          },
          "used_deprecated_task_spec": {
            "type": "boolean",
            "title": "Used Deprecated Task Spec",
            "default": false,
            "hidden": true
          },
          "query": {
            "type": "string",
            "title": "Query",
            "description": "\n        String describing the research task in natural language.\n        ",
            "examples": [
              "What are the latest developments in quantum computing from the past week?"
            ]
          },
          "user_timezone": {
            "type": "string",
            "title": "User Timezone",
            "description": "User's timezone for contextual awareness (e.g. 'America/Los_Angeles')",
            "default": "America/Los_Angeles",
            "examples": [
              "America/Los_Angeles"
            ]
          },
          "user_location": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Location",
            "description": "User's coarse location in the format: city, region_code, country_name",
            "default": "San Francisco, CA, US",
            "examples": [
              "San Francisco, CA, US"
            ]
          },
          "skip_email": {
            "type": "boolean",
            "title": "Skip Email",
            "description": "\n        If true, email notifications will be skipped and only webhook notifications will be sent.\n        Default: true (sends webhooks only).\n        ",
            "default": true,
            "examples": [
              true
            ]
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Url",
            "description": "Optional webhook URL to receive results when the research task completes",
            "examples": [
              "https://example.com/webhook"
            ]
          },
          "webhook_format": {
            "type": "string",
            "enum": [
              "scout",
              "slack",
              "zapier"
            ],
            "title": "Webhook Format",
            "description": "Webhook payload format. Slack incoming webhook URLs require 'slack'.",
            "default": "scout",
            "examples": [
              "scout"
            ]
          }
        },
        "type": "object",
        "required": [
          "query"
        ],
        "title": "CreateResearchTaskRequest"
      },
      "CreateResearchTaskResponse": {
        "properties": {
          "task_id": {
            "type": "string",
            "title": "Task Id",
            "description": "Unique identifier for this research task"
          },
          "view_url": {
            "type": "string",
            "title": "View Url",
            "description": "URL to view task progress and results"
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "running",
              "succeeded",
              "failed"
            ],
            "title": "Status",
            "description": "Current status of the research task"
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Url",
            "description": "Echoes the webhook URL configured for this task, if provided"
          }
        },
        "type": "object",
        "required": [
          "task_id",
          "view_url",
          "status"
        ],
        "title": "CreateResearchTaskResponse",
        "description": "Response for creating a research task."
      },
      "CreateScoutRequest": {
        "properties": {
          "query": {
            "type": "string",
            "title": "Query",
            "description": "\n        The query string includes any notification preferences in natural language.\n        This is typically what the user types into the UI.\n        e.g. \"Posts on r/sanfrancisco about new offices opening in downtown sf, daily at 9am\"\n        Based on the user's query, we LLM-suggest 3 'when to notify' options, and the user's selection is\n        translated to next_output_timestamp and output_interval.\n        "
          },
          "query_object": {
            "additionalProperties": true,
            "type": "object",
            "title": "Query Object",
            "description": "Query metadata"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name",
            "default": ""
          },
          "user_timezone": {
            "type": "string",
            "title": "User Timezone",
            "description": "\n        Automatically inferred from the client.\n        E.g. \"America/Los_Angeles\"\n        "
          },
          "llm_output": {
            "additionalProperties": true,
            "type": "object",
            "title": "Llm Output",
            "description": "Legacy attribute that might be removed in the future."
          },
          "output_interval": {
            "type": "integer",
            "title": "Output Interval",
            "description": "\n        Interval in seconds of how often to run the task.\n        For 'whenever there's an update' style Scouts, this'll be 3600 (= 1 hour).\n        ",
            "default": 7200
          },
          "next_output_timestamp": {
            "type": "integer",
            "title": "Next Output Timestamp",
            "description": "\n        Unix timestamp of when the next output is expected for periodic Scouts.\n        For 'whenever there's an update' style Scouts, this should be 0.\n        ",
            "default": 0
          },
          "user_location": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Location",
            "description": "\n        The user's coarse location in the format: city, region_code, country_name.\n        E.g. \"San Francisco, CA, US\"\n        "
          },
          "is_public": {
            "type": "boolean",
            "title": "Is Public",
            "description": "\n        Whether the scout is publicly accessible (true) or private (false).\n        Public scouts can be accessed by anyone via the UUID link.\n        Private scouts can only be accessed by the creator.\n        ",
            "default": true
          },
          "connectors_config": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConnectorsConfigPayload"
              },
              {
                "type": "null"
              }
            ],
            "description": "\n        Per-scout connector configuration. Controls which Composio OAuth connectors are enabled.\n        - null: connectors disabled (default, opt-in model)\n        - {\"enabled\": true}: all user's connectors enabled\n        - {\"enabled\": false}: connectors disabled\n        "
          }
        },
        "type": "object",
        "required": [
          "query",
          "query_object",
          "user_timezone",
          "llm_output"
        ],
        "title": "CreateScoutRequest"
      },
      "CreateScoutRequestAPI": {
        "properties": {
          "output_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Output Schema",
            "description": "JSON Schema for structured output. Takes precedence over task_spec if both provided.",
            "examples": [
              {
                "items": {
                  "properties": {
                    "headline": {
                      "description": "News headline",
                      "type": "string"
                    },
                    "summary": {
                      "description": "Brief summary",
                      "type": "string"
                    },
                    "source_url": {
                      "description": "URL for more details",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              }
            ]
          },
          "task_spec": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaskSpec"
              },
              {
                "type": "null"
              }
            ],
            "description": "Deprecated but still supported. Use output_schema instead.",
            "deprecated": true
          },
          "used_deprecated_task_spec": {
            "type": "boolean",
            "title": "Used Deprecated Task Spec",
            "default": false,
            "hidden": true
          },
          "query": {
            "type": "string",
            "title": "Query",
            "description": "\n        String describing what to monitor in natural language.\n        This is typically what a user types into the Scouts web UI (without any frequency preferences).\n        ",
            "examples": [
              "Tell me about the latest news, product updates, press releases, social media announcements, investments into, or other relevant information about Yutori, the AI company."
            ]
          },
          "output_interval": {
            "type": "integer",
            "title": "Output Interval",
            "description": "\n        Interval in seconds of how often to run the task. This must be >= 1800 (= 30 minutes).\n        On the web UI, this is inferred from what the user types into the new scout input (e.g. \"daily at 9am\").\n        Recommended: 86400 (daily) or 3600 (hourly).\n        ",
            "default": 86400,
            "examples": [
              3600
            ]
          },
          "start_timestamp": {
            "type": "integer",
            "title": "Start Timestamp",
            "description": "\n        Unix timestamp (past, present, or future) of when the scout should start running.\n        If past, present, or up to 30 min in the future, the scout will start running immediately.\n        Else, the scout will start running at the specified timestamp.\n        ",
            "default": 0,
            "examples": [
              0
            ]
          },
          "user_timezone": {
            "type": "string",
            "title": "User Timezone",
            "description": "\n        String indicating the user's timezone (e.g. \"America/Los_Angeles\")\n        On the web UI, this is inferred from the browser's timezone.\n        Default: \"America/Los_Angeles\".\n        ",
            "default": "America/Los_Angeles",
            "examples": [
              "America/Los_Angeles"
            ]
          },
          "user_location": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Location",
            "description": "\n        String indicating the user's coarse location in the format: city, region_code, country_name.\n        On the web UI, this is inferred from the browser's location.\n        Default: \"San Francisco, CA, US\".\n        ",
            "default": "San Francisco, CA, US",
            "examples": [
              "San Francisco, CA, US"
            ]
          },
          "skip_email": {
            "type": "boolean",
            "title": "Skip Email",
            "description": "\n        If true, email notifications will be skipped and only webhook notifications will be sent.\n        Email subscriptions will still be stored but no emails will be sent.\n        Default: true (sends webhooks only).\n        ",
            "default": true,
            "examples": [
              true
            ]
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Url",
            "description": "Optional webhook URL to receive updates for this scout. Creates a webhook subscription for the calling user using webhook_format.",
            "examples": [
              null
            ]
          },
          "webhook_format": {
            "type": "string",
            "enum": [
              "scout",
              "slack",
              "zapier"
            ],
            "title": "Webhook Format",
            "description": "Webhook payload format to use when webhook_url is provided. Slack incoming webhook URLs require 'slack'.",
            "default": "scout",
            "examples": [
              "scout"
            ]
          },
          "is_public": {
            "type": "boolean",
            "title": "Is Public",
            "description": "\n        Whether the scout is publicly accessible (true) or private (false).\n        Public scouts can be accessed by anyone via the UUID link.\n        Private scouts can only be accessed by the creator.\n        Default: false (private).\n        ",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "query"
        ],
        "title": "CreateScoutRequestAPI"
      },
      "CreateScoutResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "query": {
            "type": "string",
            "title": "Query"
          },
          "query_object": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Query Object"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "next_run_timestamp": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Run Timestamp"
          },
          "user_timezone": {
            "type": "string",
            "title": "User Timezone"
          },
          "next_output_timestamp": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Output Timestamp"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "completed_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Completed At"
          },
          "paused_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Paused At"
          },
          "rejection_reason": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectionReason"
              },
              {
                "type": "null"
              }
            ]
          },
          "llm_output": {
            "additionalProperties": true,
            "type": "object",
            "title": "Llm Output"
          },
          "is_public": {
            "type": "boolean",
            "title": "Is Public",
            "default": true
          },
          "connectors_config": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConnectorsConfig"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "id",
          "query",
          "display_name",
          "next_run_timestamp",
          "user_timezone",
          "next_output_timestamp",
          "created_at",
          "completed_at",
          "paused_at",
          "llm_output"
        ],
        "title": "CreateScoutResponse"
      },
      "CreateScoutResponsePublic": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "query": {
            "type": "string",
            "title": "Query"
          },
          "query_object": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Query Object"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "next_run_timestamp": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Run Timestamp"
          },
          "user_timezone": {
            "type": "string",
            "title": "User Timezone"
          },
          "next_output_timestamp": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Output Timestamp"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "completed_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Completed At"
          },
          "paused_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Paused At"
          },
          "rejection_reason": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectionReason"
              },
              {
                "type": "null"
              }
            ]
          },
          "is_public": {
            "type": "boolean",
            "title": "Is Public",
            "default": false
          },
          "view_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "View Url",
            "description": "URL to view this scout's details in the API platform dashboard."
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Url",
            "description": "Optional webhook URL configured for this scout, if provided at creation time."
          },
          "output_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Output Schema",
            "description": "JSON Schema for structured output, if configured",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "id",
          "query",
          "display_name",
          "next_run_timestamp",
          "user_timezone",
          "next_output_timestamp",
          "created_at",
          "completed_at",
          "paused_at",
          "output_schema"
        ],
        "title": "CreateScoutResponsePublic",
        "description": "Public API response for scout creation. Excludes internal fields like llm_output."
      },
      "CreateSubscriptionRequest": {
        "properties": {
          "method": {
            "type": "string",
            "enum": [
              "email",
              "scout_webhook",
              "slack_webhook",
              "zapier_webhook",
              "rss"
            ],
            "title": "Method"
          },
          "address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Address",
            "description": "Webhook URL (required for webhook method)"
          }
        },
        "type": "object",
        "required": [
          "method"
        ],
        "title": "CreateSubscriptionRequest"
      },
      "CreditBalanceResponse": {
        "properties": {
          "billing_mode": {
            "type": "string",
            "enum": [
              "prepaid",
              "postpaid"
            ],
            "title": "Billing Mode",
            "default": "prepaid"
          },
          "balance_cents": {
            "type": "integer",
            "title": "Balance Cents"
          },
          "pending_holds_cents": {
            "type": "integer",
            "title": "Pending Holds Cents"
          },
          "available_balance_cents": {
            "type": "integer",
            "title": "Available Balance Cents"
          },
          "has_positive_balance": {
            "type": "boolean",
            "title": "Has Positive Balance"
          }
        },
        "type": "object",
        "required": [
          "balance_cents",
          "pending_holds_cents",
          "available_balance_cents",
          "has_positive_balance"
        ],
        "title": "CreditBalanceResponse"
      },
      "CreditGrantLineItemResponse": {
        "properties": {
          "source": {
            "type": "string",
            "title": "Source"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "amount": {
            "type": "integer",
            "title": "Amount"
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          }
        },
        "type": "object",
        "required": [
          "source",
          "display_name",
          "amount"
        ],
        "title": "CreditGrantLineItemResponse"
      },
      "CreditTransaction": {
        "properties": {
          "description": {
            "type": "string",
            "title": "Description"
          },
          "amount_cents": {
            "type": "integer",
            "title": "Amount Cents"
          },
          "created": {
            "type": "integer",
            "title": "Created"
          }
        },
        "type": "object",
        "required": [
          "description",
          "amount_cents",
          "created"
        ],
        "title": "CreditTransaction"
      },
      "Custom": {
        "properties": {
          "input": {
            "type": "string",
            "title": "Input"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "input",
          "name"
        ],
        "title": "Custom"
      },
      "CustomerSessionResponse": {
        "properties": {
          "client_secret": {
            "type": "string",
            "title": "Client Secret"
          }
        },
        "type": "object",
        "required": [
          "client_secret"
        ],
        "title": "CustomerSessionResponse"
      },
      "DashboardOnboardingResponse": {
        "properties": {
          "completed": {
            "type": "boolean",
            "title": "Completed"
          }
        },
        "type": "object",
        "required": [
          "completed"
        ],
        "title": "DashboardOnboardingResponse"
      },
      "DeleteDeviceTokenRequest": {
        "properties": {
          "device_token": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1,
            "title": "Device Token"
          }
        },
        "type": "object",
        "required": [
          "device_token"
        ],
        "title": "DeleteDeviceTokenRequest"
      },
      "DeleteDeviceTokenResponse": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "DeleteDeviceTokenResponse"
      },
      "DeleteSubscriptionRequest": {
        "properties": {
          "method": {
            "type": "string",
            "enum": [
              "email",
              "scout_webhook",
              "slack_webhook",
              "zapier_webhook",
              "rss"
            ],
            "title": "Method"
          },
          "address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Address",
            "description": "Webhook URL (required for webhook method)"
          }
        },
        "type": "object",
        "required": [
          "method"
        ],
        "title": "DeleteSubscriptionRequest"
      },
      "DesktopLoginRequest": {
        "properties": {
          "url": {
            "type": "string",
            "title": "Url"
          },
          "site_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Site Name"
          }
        },
        "type": "object",
        "required": [
          "url"
        ],
        "title": "DesktopLoginRequest"
      },
      "DeveloperReplayStats": {
        "properties": {
          "num_tool_calls": {
            "type": "integer",
            "title": "Num Tool Calls",
            "default": 0
          },
          "num_mcp_tool_calls": {
            "type": "integer",
            "title": "Num Mcp Tool Calls",
            "default": 0
          },
          "num_webpages_read": {
            "type": "integer",
            "title": "Num Webpages Read",
            "default": 0
          },
          "num_navigator_steps": {
            "type": "integer",
            "title": "Num Navigator Steps",
            "default": 0
          },
          "num_websites_visited": {
            "type": "integer",
            "title": "Num Websites Visited",
            "default": 0
          },
          "sec_saved": {
            "type": "integer",
            "title": "Sec Saved",
            "default": 0
          }
        },
        "type": "object",
        "title": "DeveloperReplayStats"
      },
      "DeveloperUpdate": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "timestamp": {
            "type": "integer",
            "title": "Timestamp"
          },
          "content": {
            "type": "string",
            "title": "Content"
          },
          "citations": {
            "items": {
              "$ref": "#/components/schemas/Citation"
            },
            "type": "array",
            "title": "Citations"
          },
          "stats": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DeveloperReplayStats"
              },
              {
                "type": "null"
              }
            ]
          },
          "structured_result": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Structured Result"
          },
          "structured_output_status": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "not_requested",
                  "pending",
                  "succeeded",
                  "failed"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Structured Output Status"
          },
          "header_image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Header Image Url"
          }
        },
        "type": "object",
        "required": [
          "id",
          "timestamp",
          "content"
        ],
        "title": "DeveloperUpdate"
      },
      "DeveloperUpdateWithScout": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "scout_id": {
            "type": "string",
            "title": "Scout Id"
          },
          "scout_display_name": {
            "type": "string",
            "title": "Scout Display Name"
          },
          "timestamp": {
            "type": "integer",
            "title": "Timestamp",
            "description": "Milliseconds since epoch"
          },
          "content": {
            "type": "string",
            "title": "Content"
          },
          "citations": {
            "items": {
              "$ref": "#/components/schemas/Citation"
            },
            "type": "array",
            "title": "Citations"
          },
          "stats": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/DeveloperReplayStats"
              },
              {
                "type": "null"
              }
            ]
          },
          "structured_result": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Structured Result"
          },
          "structured_output_status": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "not_requested",
                  "pending",
                  "succeeded",
                  "failed"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Structured Output Status"
          },
          "header_image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Header Image Url"
          }
        },
        "type": "object",
        "required": [
          "id",
          "scout_id",
          "scout_display_name",
          "timestamp",
          "content"
        ],
        "title": "DeveloperUpdateWithScout"
      },
      "DiscoverScoutItem": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "query": {
            "type": "string",
            "title": "Query"
          },
          "creator_username": {
            "type": "string",
            "title": "Creator Username",
            "description": "Username derived from creator's email"
          },
          "subscriber_count": {
            "type": "integer",
            "title": "Subscriber Count",
            "description": "Number of subscribers",
            "default": 0
          },
          "subscriber_names": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Subscriber Names",
            "description": "Display names of up to 3 confirmed subscribers (for avatar rendering)"
          },
          "subscriber_avatars": {
            "items": {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            "type": "array",
            "title": "Subscriber Avatars",
            "description": "Avatar info for up to 3 confirmed subscribers [{name, image_url}]"
          },
          "report_count": {
            "type": "integer",
            "title": "Report Count",
            "description": "Number of reports produced",
            "default": 0
          },
          "cadence": {
            "type": "string",
            "enum": [
              "Daily",
              "Weekly",
              "Realtime"
            ],
            "title": "Cadence",
            "description": "How often the scout runs"
          },
          "last_update_timestamp": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Update Timestamp",
            "description": "When the scout last produced an update"
          },
          "category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category",
            "description": "Auto-detected category based on keywords"
          },
          "header_image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Header Image Url",
            "description": "Most recent header image URL from scout outputs"
          }
        },
        "type": "object",
        "required": [
          "id",
          "display_name",
          "query",
          "creator_username",
          "cadence"
        ],
        "title": "DiscoverScoutItem",
        "description": "Scout item for the Discover page."
      },
      "DiscoverScoutsResponse": {
        "properties": {
          "scouts": {
            "items": {
              "$ref": "#/components/schemas/DiscoverScoutItem"
            },
            "type": "array",
            "title": "Scouts"
          },
          "total_count": {
            "type": "integer",
            "title": "Total Count",
            "description": "Total number of matching scouts"
          },
          "categories": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Categories",
            "description": "Available category filters"
          }
        },
        "type": "object",
        "required": [
          "scouts",
          "total_count"
        ],
        "title": "DiscoverScoutsResponse",
        "description": "Response for the Discover page scouts list."
      },
      "EditScoutRequest": {
        "properties": {
          "query": {
            "type": "string",
            "title": "Query",
            "description": "\n        The query string includes any notification preferences in natural language.\n        This is typically what the user types into the UI.\n        e.g. \"Posts on r/sanfrancisco about new offices opening in downtown sf, daily at 9am\"\n        Based on the user's query, we LLM-suggest 3 'when to notify' options, and the user's selection is\n        translated to next_output_timestamp and output_interval.\n        "
          },
          "query_object": {
            "additionalProperties": true,
            "type": "object",
            "title": "Query Object",
            "description": "Query metadata"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name",
            "default": ""
          },
          "user_timezone": {
            "type": "string",
            "title": "User Timezone",
            "description": "\n        Automatically inferred from the client.\n        E.g. \"America/Los_Angeles\"\n        "
          },
          "llm_output": {
            "additionalProperties": true,
            "type": "object",
            "title": "Llm Output",
            "description": "Legacy attribute that might be removed in the future."
          },
          "output_interval": {
            "type": "integer",
            "title": "Output Interval",
            "description": "\n        Interval in seconds of how often to run the task.\n        For 'whenever there's an update' style Scouts, this'll be 3600 (= 1 hour).\n        ",
            "default": 7200
          },
          "next_output_timestamp": {
            "type": "integer",
            "title": "Next Output Timestamp",
            "description": "\n        Unix timestamp of when the next output is expected for periodic Scouts.\n        For 'whenever there's an update' style Scouts, this should be 0.\n        ",
            "default": 0
          },
          "user_location": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Location",
            "description": "\n        The user's coarse location in the format: city, region_code, country_name.\n        E.g. \"San Francisco, CA, US\"\n        "
          },
          "is_public": {
            "type": "boolean",
            "title": "Is Public",
            "description": "\n        Whether the scout is publicly accessible (true) or private (false).\n        Public scouts can be accessed by anyone via the UUID link.\n        Private scouts can only be accessed by the creator.\n        ",
            "default": true
          },
          "connectors_config": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConnectorsConfigPayload"
              },
              {
                "type": "null"
              }
            ],
            "description": "\n        Per-scout connector configuration. Controls which Composio OAuth connectors are enabled.\n        - null: connectors disabled (default, opt-in model)\n        - {\"enabled\": true}: all user's connectors enabled\n        - {\"enabled\": false}: connectors disabled\n        "
          }
        },
        "type": "object",
        "required": [
          "query",
          "query_object",
          "user_timezone",
          "llm_output"
        ],
        "title": "EditScoutRequest"
      },
      "File": {
        "properties": {
          "file": {
            "$ref": "#/components/schemas/FileFile"
          },
          "type": {
            "type": "string",
            "const": "file",
            "title": "Type"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "file",
          "type"
        ],
        "title": "File"
      },
      "FileFile": {
        "properties": {
          "file_data": {
            "type": "string",
            "title": "File Data"
          },
          "file_id": {
            "type": "string",
            "title": "File Id"
          },
          "filename": {
            "type": "string",
            "title": "Filename"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "FileFile"
      },
      "Frequency": {
        "type": "string",
        "enum": [
          "DAILY",
          "WHENEVER"
        ],
        "title": "Frequency"
      },
      "Function": {
        "properties": {
          "arguments": {
            "type": "string",
            "title": "Arguments"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "arguments",
          "name"
        ],
        "title": "Function"
      },
      "FunctionCall": {
        "properties": {
          "arguments": {
            "type": "string",
            "title": "Arguments"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "arguments",
          "name"
        ],
        "title": "FunctionCall"
      },
      "GetAllUpdatesPublicResponse": {
        "properties": {
          "updates": {
            "items": {
              "$ref": "#/components/schemas/DeveloperUpdateWithScout"
            },
            "type": "array",
            "title": "Updates"
          },
          "prev_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prev Cursor",
            "description": "Cursor for previous page"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "Cursor for next page"
          }
        },
        "type": "object",
        "required": [
          "updates"
        ],
        "title": "GetAllUpdatesPublicResponse",
        "description": "Public API response for fetching updates across API-created scouts."
      },
      "GetAllUpdatesResponse": {
        "properties": {
          "updates": {
            "items": {
              "$ref": "#/components/schemas/UpdateWithScout"
            },
            "type": "array",
            "title": "Updates"
          },
          "prev_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prev Cursor",
            "description": "Cursor for previous page"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "Cursor for next page"
          }
        },
        "type": "object",
        "required": [
          "updates"
        ],
        "title": "GetAllUpdatesResponse",
        "description": "Response for fetching all updates across a user's scouts within a time range."
      },
      "GetConnectedAccountsResponse": {
        "properties": {
          "connected_accounts": {
            "items": {
              "$ref": "#/components/schemas/ConnectedAccount"
            },
            "type": "array",
            "title": "Connected Accounts"
          }
        },
        "type": "object",
        "required": [
          "connected_accounts"
        ],
        "title": "GetConnectedAccountsResponse"
      },
      "GetLastUpdateDatesRequest": {
        "properties": {
          "scout_ids": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "title": "Scout Ids",
            "description": "List of scout IDs to retrieve last update dates for"
          }
        },
        "type": "object",
        "required": [
          "scout_ids"
        ],
        "title": "GetLastUpdateDatesRequest"
      },
      "GetLastUpdateDatesResponse": {
        "properties": {
          "updates": {
            "items": {
              "$ref": "#/components/schemas/ScoutLastUpdateDate"
            },
            "type": "array",
            "title": "Updates"
          }
        },
        "type": "object",
        "required": [
          "updates"
        ],
        "title": "GetLastUpdateDatesResponse"
      },
      "GetNonUpdatesResponse": {
        "properties": {
          "non_updates": {
            "items": {
              "$ref": "#/components/schemas/NonUpdate"
            },
            "type": "array",
            "title": "Non Updates",
            "description": "List of runs that produced no updates"
          }
        },
        "type": "object",
        "required": [
          "non_updates"
        ],
        "title": "GetNonUpdatesResponse",
        "description": "Response containing non-update runs for a scout."
      },
      "GetScoutUpdatesPublicResponse": {
        "properties": {
          "updates": {
            "items": {
              "$ref": "#/components/schemas/DeveloperUpdate"
            },
            "type": "array",
            "title": "Updates"
          },
          "prev_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prev Cursor",
            "description": "Cursor for previous page"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "Cursor for next page"
          }
        },
        "type": "object",
        "required": [
          "updates"
        ],
        "title": "GetScoutUpdatesPublicResponse",
        "description": "Public API response for scout updates. Excludes internal fields."
      },
      "GetScoutUpdatesResponse": {
        "properties": {
          "scout": {
            "$ref": "#/components/schemas/Scout"
          },
          "updates": {
            "items": {
              "$ref": "#/components/schemas/Update"
            },
            "type": "array",
            "title": "Updates"
          },
          "diffs": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Diffs"
          },
          "is_creator": {
            "type": "boolean",
            "title": "Is Creator"
          },
          "is_subscribed": {
            "type": "boolean",
            "title": "Is Subscribed"
          },
          "prev_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prev Cursor",
            "description": "Cursor for previous page"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "Cursor for next page"
          }
        },
        "type": "object",
        "required": [
          "scout",
          "updates",
          "diffs",
          "is_creator",
          "is_subscribed"
        ],
        "title": "GetScoutUpdatesResponse"
      },
      "GetSubscriberCountsBatchRequest": {
        "properties": {
          "scout_ids": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "title": "Scout Ids",
            "description": "List of scout IDs to retrieve subscriber counts for"
          }
        },
        "type": "object",
        "required": [
          "scout_ids"
        ],
        "title": "GetSubscriberCountsBatchRequest"
      },
      "GoogleCalendarEvent": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "summary": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Summary"
          },
          "start": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Start"
          },
          "end": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "End"
          },
          "location": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Location"
          },
          "is_all_day": {
            "type": "boolean",
            "title": "Is All Day",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "GoogleCalendarEvent"
      },
      "GrantProsumerCreditsRequest": {
        "properties": {
          "target_user_email": {
            "type": "string",
            "title": "Target User Email"
          },
          "amount": {
            "type": "integer",
            "exclusiveMinimum": 0.0,
            "title": "Amount"
          }
        },
        "type": "object",
        "required": [
          "target_user_email",
          "amount"
        ],
        "title": "GrantProsumerCreditsRequest"
      },
      "GrantProsumerCreditsResponse": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "new_balance": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "New Balance"
          },
          "target_user_email": {
            "type": "string",
            "title": "Target User Email"
          }
        },
        "type": "object",
        "required": [
          "success",
          "new_balance",
          "target_user_email"
        ],
        "title": "GrantProsumerCreditsResponse"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "HackathonRegisterRequest": {
        "properties": {
          "password": {
            "type": "string",
            "title": "Password"
          }
        },
        "type": "object",
        "required": [
          "password"
        ],
        "title": "HackathonRegisterRequest"
      },
      "HackathonRegisterResponse": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "HackathonRegisterResponse"
      },
      "HackathonStatusResponse": {
        "properties": {
          "is_hackathon_user": {
            "type": "boolean",
            "title": "Is Hackathon User"
          }
        },
        "type": "object",
        "required": [
          "is_hackathon_user"
        ],
        "title": "HackathonStatusResponse"
      },
      "ImageURL": {
        "properties": {
          "url": {
            "type": "string",
            "title": "Url"
          },
          "detail": {
            "type": "string",
            "enum": [
              "auto",
              "low",
              "high"
            ],
            "title": "Detail"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "url"
        ],
        "title": "ImageURL"
      },
      "InputAudio": {
        "properties": {
          "data": {
            "type": "string",
            "title": "Data"
          },
          "format": {
            "type": "string",
            "enum": [
              "wav",
              "mp3"
            ],
            "title": "Format"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "data",
          "format"
        ],
        "title": "InputAudio"
      },
      "InvitationResult": {
        "properties": {
          "email": {
            "type": "string",
            "title": "Email"
          },
          "status": {
            "type": "string",
            "enum": [
              "invited",
              "already_subscribed",
              "already_invited",
              "invalid",
              "email_failed"
            ],
            "title": "Status"
          },
          "invitation_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Invitation Token"
          }
        },
        "type": "object",
        "required": [
          "email",
          "status"
        ],
        "title": "InvitationResult"
      },
      "JsonSchemaSpec": {
        "properties": {
          "type": {
            "type": "string",
            "const": "json",
            "title": "Type",
            "default": "json"
          },
          "json_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Json Schema",
            "description": "A JSON Schema object defining the structure"
          }
        },
        "type": "object",
        "title": "JsonSchemaSpec"
      },
      "LineItem": {
        "properties": {
          "description": {
            "type": "string",
            "title": "Description"
          },
          "quantity": {
            "type": "integer",
            "title": "Quantity"
          },
          "unit_price": {
            "type": "number",
            "title": "Unit Price"
          },
          "total": {
            "type": "number",
            "title": "Total"
          }
        },
        "type": "object",
        "required": [
          "description",
          "quantity",
          "unit_price",
          "total"
        ],
        "title": "LineItem"
      },
      "MailgunWebhookSuccessResponse": {
        "properties": {
          "status": {
            "type": "string",
            "const": "success",
            "title": "Status",
            "description": "The status of the webhook"
          }
        },
        "type": "object",
        "required": [
          "status"
        ],
        "title": "MailgunWebhookSuccessResponse"
      },
      "MarkReadResponse": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "count": {
            "type": "integer",
            "title": "Count",
            "default": 1
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "MarkReadResponse",
        "description": "Response for marking notifications as read."
      },
      "MarkScoutReadRequest": {
        "properties": {
          "last_read_output_timestamp": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Read Output Timestamp"
          }
        },
        "type": "object",
        "title": "MarkScoutReadRequest"
      },
      "MembershipStatusResponse": {
        "properties": {
          "tier": {
            "$ref": "#/components/schemas/Tier"
          },
          "active_scouts": {
            "type": "integer",
            "title": "Active Scouts"
          },
          "remaining_scouts": {
            "type": "integer",
            "title": "Remaining Scouts"
          },
          "max_frequency": {
            "$ref": "#/components/schemas/Frequency"
          },
          "trial_remaining_seconds": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Trial Remaining Seconds"
          },
          "billing_managed_externally": {
            "type": "boolean",
            "title": "Billing Managed Externally",
            "default": false
          },
          "remaining_credits": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remaining Credits"
          },
          "remaining_user_agent_credits": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remaining User Agent Credits"
          },
          "billing_cycle": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BillingCycle"
              },
              {
                "type": "null"
              }
            ]
          },
          "credit_refresh_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credit Refresh Date"
          }
        },
        "type": "object",
        "required": [
          "tier",
          "active_scouts",
          "remaining_scouts",
          "max_frequency",
          "trial_remaining_seconds"
        ],
        "title": "MembershipStatusResponse"
      },
      "MessageResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "message": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              }
            ],
            "title": "Message"
          },
          "sender": {
            "type": "string",
            "title": "Sender"
          },
          "status": {
            "$ref": "#/components/schemas/MessageStatus"
          },
          "scout_id": {
            "type": "string",
            "format": "uuid",
            "title": "Scout Id"
          },
          "created_at": {
            "type": "string",
            "title": "Created At"
          },
          "updated_at": {
            "type": "string",
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "message",
          "sender",
          "status",
          "scout_id",
          "created_at",
          "updated_at"
        ],
        "title": "MessageResponse"
      },
      "MessageStatus": {
        "type": "string",
        "enum": [
          "PENDING",
          "CONSUMED"
        ],
        "title": "MessageStatus"
      },
      "ModelTokenUsage": {
        "properties": {
          "model": {
            "type": "string",
            "title": "Model"
          },
          "input_tokens": {
            "type": "integer",
            "title": "Input Tokens",
            "default": 0
          },
          "output_tokens": {
            "type": "integer",
            "title": "Output Tokens",
            "default": 0
          },
          "cache_creation_input_tokens": {
            "type": "integer",
            "title": "Cache Creation Input Tokens",
            "default": 0
          },
          "cache_read_input_tokens": {
            "type": "integer",
            "title": "Cache Read Input Tokens",
            "default": 0
          },
          "cost": {
            "type": "number",
            "title": "Cost",
            "default": 0.0
          }
        },
        "type": "object",
        "required": [
          "model"
        ],
        "title": "ModelTokenUsage",
        "description": "Token usage for a single model."
      },
      "ModelUsageDataPoint": {
        "properties": {
          "model": {
            "type": "string",
            "title": "Model"
          },
          "count": {
            "type": "integer",
            "title": "Count"
          },
          "percentage": {
            "type": "number",
            "title": "Percentage"
          }
        },
        "type": "object",
        "required": [
          "model",
          "count",
          "percentage"
        ],
        "title": "ModelUsageDataPoint"
      },
      "ModelUsageResponse": {
        "properties": {
          "time_range": {
            "type": "string",
            "title": "Time Range"
          },
          "data": {
            "items": {
              "$ref": "#/components/schemas/ModelUsageDataPoint"
            },
            "type": "array",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "time_range",
          "data"
        ],
        "title": "ModelUsageResponse"
      },
      "NavigatorChatDetailResponse": {
        "properties": {
          "chat_id": {
            "type": "string",
            "title": "Chat Id"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/NavigatorChatStep"
            },
            "type": "array",
            "title": "Steps"
          },
          "request_count": {
            "type": "integer",
            "title": "Request Count"
          },
          "total_input_tokens": {
            "type": "integer",
            "title": "Total Input Tokens"
          },
          "total_output_tokens": {
            "type": "integer",
            "title": "Total Output Tokens"
          },
          "total_tokens": {
            "type": "integer",
            "title": "Total Tokens"
          },
          "started_at": {
            "type": "string",
            "format": "date-time",
            "title": "Started At"
          },
          "last_activity_at": {
            "type": "string",
            "format": "date-time",
            "title": "Last Activity At"
          }
        },
        "type": "object",
        "required": [
          "chat_id",
          "steps",
          "request_count",
          "total_input_tokens",
          "total_output_tokens",
          "total_tokens",
          "started_at",
          "last_activity_at"
        ],
        "title": "NavigatorChatDetailResponse"
      },
      "NavigatorChatResponse": {
        "properties": {
          "chat_id": {
            "type": "string",
            "title": "Chat Id"
          },
          "request_count": {
            "type": "integer",
            "title": "Request Count"
          },
          "total_input_tokens": {
            "type": "integer",
            "title": "Total Input Tokens"
          },
          "total_output_tokens": {
            "type": "integer",
            "title": "Total Output Tokens"
          },
          "total_tokens": {
            "type": "integer",
            "title": "Total Tokens"
          },
          "request_models": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Request Models"
          },
          "query": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Query"
          },
          "started_at": {
            "type": "string",
            "format": "date-time",
            "title": "Started At"
          },
          "last_activity_at": {
            "type": "string",
            "format": "date-time",
            "title": "Last Activity At"
          }
        },
        "type": "object",
        "required": [
          "chat_id",
          "request_count",
          "total_input_tokens",
          "total_output_tokens",
          "total_tokens",
          "request_models",
          "started_at",
          "last_activity_at"
        ],
        "title": "NavigatorChatResponse"
      },
      "NavigatorChatStep": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "request_id": {
            "type": "string",
            "title": "Request Id"
          },
          "request_model": {
            "type": "string",
            "title": "Request Model"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "query": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Query"
          },
          "input_tokens": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Input Tokens"
          },
          "output_tokens": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Output Tokens"
          }
        },
        "type": "object",
        "required": [
          "id",
          "request_id",
          "request_model",
          "created_at"
        ],
        "title": "NavigatorChatStep"
      },
      "NavigatorRateLimits": {
        "properties": {
          "requests_today": {
            "type": "integer",
            "title": "Requests Today",
            "description": "Navigator API requests used today (since midnight UTC)"
          },
          "daily_limit": {
            "type": "integer",
            "title": "Daily Limit",
            "description": "Daily Navigator request limit (resets at midnight UTC)"
          },
          "remaining_requests": {
            "type": "integer",
            "title": "Remaining Requests",
            "description": "Remaining Navigator requests for today (daily_limit - requests_today)"
          },
          "reset_at": {
            "type": "string",
            "title": "Reset At",
            "description": "ISO 8601 timestamp for next midnight UTC"
          },
          "per_second_limit": {
            "type": "integer",
            "title": "Per Second Limit",
            "description": "Configured per-second Navigator request limit"
          }
        },
        "type": "object",
        "required": [
          "requests_today",
          "daily_limit",
          "remaining_requests",
          "reset_at",
          "per_second_limit"
        ],
        "title": "NavigatorRateLimits",
        "description": "Rate limits for the Navigator (chat completions) endpoint."
      },
      "NavigatorRequestDetailResponse": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "request_id": {
            "type": "string",
            "title": "Request Id"
          },
          "prev_request_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prev Request Id"
          },
          "request_model": {
            "type": "string",
            "title": "Request Model"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "from_browser_extension": {
            "type": "boolean",
            "title": "From Browser Extension"
          },
          "query": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Query"
          },
          "input_tokens": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Input Tokens"
          },
          "output_tokens": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Output Tokens"
          },
          "request_payload": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Request Payload"
          },
          "response_payload": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Response Payload"
          },
          "image_count": {
            "type": "integer",
            "title": "Image Count",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "id",
          "request_id",
          "request_model",
          "created_at",
          "from_browser_extension"
        ],
        "title": "NavigatorRequestDetailResponse"
      },
      "NavigatorStats": {
        "properties": {
          "total_calls": {
            "type": "integer",
            "title": "Total Calls"
          },
          "calls_by_model": {
            "additionalProperties": {
              "type": "integer"
            },
            "type": "object",
            "title": "Calls By Model"
          }
        },
        "type": "object",
        "required": [
          "total_calls",
          "calls_by_model"
        ],
        "title": "NavigatorStats"
      },
      "NavigatorTokensByDayEntry": {
        "properties": {
          "date": {
            "type": "string",
            "title": "Date"
          },
          "input_tokens": {
            "type": "integer",
            "title": "Input Tokens"
          },
          "output_tokens": {
            "type": "integer",
            "title": "Output Tokens"
          }
        },
        "type": "object",
        "required": [
          "date",
          "input_tokens",
          "output_tokens"
        ],
        "title": "NavigatorTokensByDayEntry"
      },
      "NavigatorTokensByDayResponse": {
        "properties": {
          "tokens_by_day": {
            "items": {
              "$ref": "#/components/schemas/NavigatorTokensByDayEntry"
            },
            "type": "array",
            "title": "Tokens By Day"
          }
        },
        "type": "object",
        "required": [
          "tokens_by_day"
        ],
        "title": "NavigatorTokensByDayResponse"
      },
      "NavigatorUsageResponse": {
        "properties": {
          "chats": {
            "items": {
              "$ref": "#/components/schemas/NavigatorChatResponse"
            },
            "type": "array",
            "title": "Chats"
          },
          "total_chats": {
            "type": "integer",
            "title": "Total Chats"
          },
          "total_tokens": {
            "type": "integer",
            "title": "Total Tokens"
          },
          "total_input_tokens": {
            "type": "integer",
            "title": "Total Input Tokens"
          },
          "total_output_tokens": {
            "type": "integer",
            "title": "Total Output Tokens"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More",
            "default": false
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor"
          }
        },
        "type": "object",
        "required": [
          "chats",
          "total_chats",
          "total_tokens",
          "total_input_tokens",
          "total_output_tokens"
        ],
        "title": "NavigatorUsageResponse"
      },
      "NavigatorUsageTimelinePoint": {
        "properties": {
          "date": {
            "type": "string",
            "title": "Date"
          },
          "request_count": {
            "type": "integer",
            "title": "Request Count"
          },
          "input_tokens": {
            "type": "integer",
            "title": "Input Tokens"
          },
          "output_tokens": {
            "type": "integer",
            "title": "Output Tokens"
          },
          "amount_cents": {
            "type": "integer",
            "title": "Amount Cents"
          }
        },
        "type": "object",
        "required": [
          "date",
          "request_count",
          "input_tokens",
          "output_tokens",
          "amount_cents"
        ],
        "title": "NavigatorUsageTimelinePoint"
      },
      "NonUpdate": {
        "properties": {
          "timestamp": {
            "type": "integer",
            "title": "Timestamp",
            "description": "The run timestamp in milliseconds since epoch"
          },
          "stats": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ReplayStats"
              },
              {
                "type": "null"
              }
            ],
            "description": "Stats from the run if available"
          }
        },
        "type": "object",
        "required": [
          "timestamp"
        ],
        "title": "NonUpdate",
        "description": "Represents a scout run that produced no notable findings."
      },
      "Notification": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "title": "User Id"
          },
          "notification_type": {
            "$ref": "#/components/schemas/NotificationType"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "body": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body"
          },
          "data": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data"
          },
          "scout_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scout Id"
          },
          "read_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Read At"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "user_id",
          "notification_type",
          "title",
          "created_at"
        ],
        "title": "Notification",
        "description": "A notification record from the database."
      },
      "NotificationChannel": {
        "type": "string",
        "enum": [
          "webapp",
          "sms",
          "email",
          "push",
          "slack"
        ],
        "title": "NotificationChannel",
        "description": "Channels through which notifications can be delivered."
      },
      "NotificationPreference": {
        "properties": {
          "notification_type": {
            "$ref": "#/components/schemas/NotificationType"
          },
          "channel": {
            "$ref": "#/components/schemas/NotificationChannel"
          },
          "enabled": {
            "type": "boolean",
            "title": "Enabled",
            "default": true
          }
        },
        "type": "object",
        "required": [
          "notification_type",
          "channel"
        ],
        "title": "NotificationPreference",
        "description": "A single notification preference."
      },
      "NotificationType": {
        "type": "string",
        "enum": [
          "scout_update",
          "scout_invitation",
          "connector_disconnected",
          "agent_notification",
          "system",
          "access_request",
          "access_request_approved"
        ],
        "title": "NotificationType",
        "description": "Types of notifications that can be sent."
      },
      "NotificationsListResponse": {
        "properties": {
          "notifications": {
            "items": {
              "$ref": "#/components/schemas/Notification"
            },
            "type": "array",
            "title": "Notifications"
          },
          "total_unread": {
            "type": "integer",
            "title": "Total Unread"
          }
        },
        "type": "object",
        "required": [
          "notifications",
          "total_unread"
        ],
        "title": "NotificationsListResponse",
        "description": "Response for listing notifications."
      },
      "OverviewMetrics": {
        "properties": {
          "time_range": {
            "type": "string",
            "title": "Time Range"
          },
          "scout_stats": {
            "$ref": "#/components/schemas/ScoutStats"
          },
          "scout_runs_in_period": {
            "type": "integer",
            "title": "Scout Runs In Period"
          },
          "browsing_tasks_in_period": {
            "type": "integer",
            "title": "Browsing Tasks In Period"
          },
          "research_tasks_in_period": {
            "type": "integer",
            "title": "Research Tasks In Period"
          },
          "reports_in_period": {
            "type": "integer",
            "title": "Reports In Period"
          },
          "navigator_stats": {
            "$ref": "#/components/schemas/NavigatorStats"
          },
          "n1_stats": {
            "$ref": "#/components/schemas/NavigatorStats",
            "description": "Deprecated alias of navigator_stats; prefer navigator_stats",
            "deprecated": true,
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "time_range",
          "scout_stats",
          "scout_runs_in_period",
          "browsing_tasks_in_period",
          "research_tasks_in_period",
          "reports_in_period",
          "navigator_stats",
          "n1_stats"
        ],
        "title": "OverviewMetrics"
      },
      "PaginatedScoutsResponse": {
        "properties": {
          "scouts": {
            "items": {
              "$ref": "#/components/schemas/Scout"
            },
            "type": "array",
            "title": "Scouts"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More",
            "description": "Whether more results exist after this page",
            "default": false
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "Cursor for the next page (null on last page)"
          }
        },
        "type": "object",
        "required": [
          "scouts"
        ],
        "title": "PaginatedScoutsResponse",
        "description": "Keyset-paginated envelope of fully enriched scouts for the internal client list endpoint.\n\nOnly returned when the caller opts into pagination (passes ``limit`` and/or ``cursor``);\notherwise the endpoint returns a bare ``list[Scout]`` for backwards compatibility."
      },
      "PatchScoutRequest": {
        "properties": {
          "query": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Query",
            "description": "The query string for the scout"
          },
          "query_object": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Query Object",
            "description": "Query metadata"
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Display Name",
            "description": "Display name for the scout"
          },
          "user_timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Timezone",
            "description": "User's timezone (e.g. 'America/Los_Angeles')"
          },
          "llm_output": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Llm Output",
            "description": "LLM output configuration"
          },
          "output_interval": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1800.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Output Interval",
            "description": "Interval in seconds between outputs (must be >= 1800)"
          },
          "next_output_timestamp": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Output Timestamp",
            "description": "Unix timestamp for the next output"
          },
          "user_location": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Location",
            "description": "User's coarse location (e.g. 'San Francisco, CA, US')"
          },
          "is_public": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Public",
            "description": "Whether the scout is publicly accessible"
          },
          "connectors_config": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConnectorsConfigPayload"
              },
              {
                "type": "null"
              }
            ],
            "description": "Per-scout connector configuration (null=disabled, {enabled:true}=all)"
          },
          "feedback_guidelines": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Feedback Guidelines",
            "description": "Task guidelines for this scout"
          }
        },
        "type": "object",
        "title": "PatchScoutRequest",
        "description": "Experimental: Partial update for a Scout.\nOnly provided fields will be updated; omitted fields remain unchanged."
      },
      "PatchScoutRequestAPI": {
        "properties": {
          "query": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Query",
            "description": "String describing what to monitor in natural language"
          },
          "output_interval": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1800.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Output Interval",
            "description": "Interval in seconds between outputs (must be >= 1800)"
          },
          "user_timezone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Timezone",
            "description": "User's timezone (e.g. 'America/Los_Angeles')"
          },
          "user_location": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Location",
            "description": "User's coarse location (e.g. 'San Francisco, CA, US')"
          },
          "is_public": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Public",
            "description": "Whether the scout is publicly accessible"
          },
          "skip_email": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Skip Email",
            "description": "If true, email notifications will be skipped"
          },
          "output_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Output Schema",
            "description": "JSON Schema for structured output (replaces the scout's existing output schema)",
            "examples": [
              {
                "items": {
                  "properties": {
                    "headline": {
                      "description": "News headline",
                      "type": "string"
                    },
                    "summary": {
                      "description": "Brief summary",
                      "type": "string"
                    },
                    "source_url": {
                      "description": "URL for more details",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              }
            ]
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Url",
            "description": "Webhook URL to receive updates (set to empty string to remove)"
          },
          "webhook_format": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "scout",
                  "slack",
                  "zapier"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Format",
            "description": "Webhook payload format to use when updating webhook_url. Defaults to 'scout' when omitted. Slack incoming webhook URLs require 'slack'. Only takes effect when webhook_url is also provided in the same request.",
            "examples": [
              "scout"
            ]
          }
        },
        "type": "object",
        "title": "PatchScoutRequestAPI",
        "description": "Experimental: Partial update for a Scout via the Developer API.\nOnly provided fields will be updated; omitted fields remain unchanged."
      },
      "PaymentMethodInfo": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "type": {
            "type": "string",
            "title": "Type",
            "default": "card"
          },
          "brand": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Brand"
          },
          "last4": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last4"
          },
          "exp_month": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exp Month"
          },
          "exp_year": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Exp Year"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          },
          "is_default": {
            "type": "boolean",
            "title": "Is Default",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "PaymentMethodInfo"
      },
      "PaymentMethodsResponse": {
        "properties": {
          "payment_methods": {
            "items": {
              "$ref": "#/components/schemas/PaymentMethodInfo"
            },
            "type": "array",
            "title": "Payment Methods"
          },
          "default_payment_method_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Payment Method Id"
          },
          "has_payment_method": {
            "type": "boolean",
            "title": "Has Payment Method"
          }
        },
        "type": "object",
        "required": [
          "payment_methods",
          "has_payment_method"
        ],
        "title": "PaymentMethodsResponse"
      },
      "PortalSessionRequest": {
        "properties": {
          "return_url": {
            "type": "string",
            "title": "Return Url"
          }
        },
        "type": "object",
        "required": [
          "return_url"
        ],
        "title": "PortalSessionRequest"
      },
      "PortalSessionResponse": {
        "properties": {
          "url": {
            "type": "string",
            "title": "Url"
          }
        },
        "type": "object",
        "required": [
          "url"
        ],
        "title": "PortalSessionResponse"
      },
      "PreferencesResponse": {
        "properties": {
          "preferences": {
            "items": {
              "$ref": "#/components/schemas/NotificationPreference"
            },
            "type": "array",
            "title": "Preferences"
          }
        },
        "type": "object",
        "required": [
          "preferences"
        ],
        "title": "PreferencesResponse",
        "description": "Response for notification preferences."
      },
      "ProsumerPurchaseCreditsRequest": {
        "properties": {
          "amount_cents": {
            "type": "integer",
            "maximum": 50000.0,
            "exclusiveMinimum": 0.0,
            "title": "Amount Cents"
          },
          "payment_method_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Method Id"
          },
          "return_url": {
            "type": "string",
            "title": "Return Url"
          }
        },
        "type": "object",
        "required": [
          "amount_cents",
          "return_url"
        ],
        "title": "ProsumerPurchaseCreditsRequest"
      },
      "ProsumerUsageItemResponse": {
        "properties": {
          "source": {
            "type": "string",
            "title": "Source"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "total_credits": {
            "type": "integer",
            "title": "Total Credits"
          },
          "count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Count"
          }
        },
        "type": "object",
        "required": [
          "source",
          "display_name",
          "total_credits"
        ],
        "title": "ProsumerUsageItemResponse"
      },
      "ProsumerUsageResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ProsumerUsageItemResponse"
            },
            "type": "array",
            "title": "Items"
          },
          "credits_used": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credits Used"
          },
          "credit_allowance": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credit Allowance"
          },
          "balance": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Balance"
          },
          "period_start": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Period Start"
          },
          "credit_grants": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/CreditGrantLineItemResponse"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credit Grants"
          }
        },
        "type": "object",
        "required": [
          "items",
          "credits_used",
          "credit_allowance",
          "balance"
        ],
        "title": "ProsumerUsageResponse"
      },
      "PurchaseCreditResponse": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "new_balance_cents": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "New Balance Cents"
          },
          "checkout_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Checkout Url"
          },
          "client_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Client Secret"
          },
          "payment_intent_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Intent Id"
          },
          "requires_action": {
            "type": "boolean",
            "title": "Requires Action",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "PurchaseCreditResponse"
      },
      "PurchaseCreditsRequest": {
        "properties": {
          "amount_cents": {
            "type": "integer",
            "maximum": 50000.0,
            "exclusiveMinimum": 0.0,
            "title": "Amount Cents"
          },
          "payment_method_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payment Method Id"
          },
          "return_url": {
            "type": "string",
            "title": "Return Url"
          }
        },
        "type": "object",
        "required": [
          "amount_cents",
          "return_url"
        ],
        "title": "PurchaseCreditsRequest"
      },
      "RateLimits": {
        "properties": {
          "requests_today": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Requests Today",
            "description": "API requests used today (None if unavailable)"
          },
          "daily_limit": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Daily Limit",
            "description": "Daily request limit from AWS API Gateway usage plan (None if unavailable)"
          },
          "remaining_requests": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Remaining Requests",
            "description": "Remaining requests for today (None if unavailable)"
          },
          "reset_at": {
            "type": "string",
            "title": "Reset At",
            "description": "ISO 8601 timestamp for next midnight UTC"
          },
          "status": {
            "type": "string",
            "enum": [
              "available",
              "unavailable"
            ],
            "title": "Status",
            "description": "Rate limit availability status"
          }
        },
        "type": "object",
        "required": [
          "requests_today",
          "daily_limit",
          "remaining_requests",
          "reset_at",
          "status"
        ],
        "title": "RateLimits"
      },
      "RecordVisitRequest": {
        "properties": {
          "country_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country Code"
          }
        },
        "type": "object",
        "title": "RecordVisitRequest"
      },
      "RegisterBody": {
        "properties": {
          "signup_source": {
            "type": "string",
            "title": "Signup Source",
            "default": "cli"
          }
        },
        "type": "object",
        "title": "RegisterBody"
      },
      "RegisterDeviceTokenRequest": {
        "properties": {
          "device_token": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1,
            "title": "Device Token"
          },
          "is_sandbox": {
            "type": "boolean",
            "title": "Is Sandbox",
            "description": "Whether this token is from a sandbox/debug build (Xcode) vs production (TestFlight/App Store)",
            "default": false
          }
        },
        "type": "object",
        "required": [
          "device_token"
        ],
        "title": "RegisterDeviceTokenRequest"
      },
      "RegisterDeviceTokenResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "device_token": {
            "type": "string",
            "title": "Device Token"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "device_token",
          "created_at"
        ],
        "title": "RegisterDeviceTokenResponse"
      },
      "RejectionReason": {
        "type": "string",
        "enum": [
          "insufficient_prepaid_balance",
          "budget_exceeded",
          "subscription_inactive"
        ],
        "title": "RejectionReason"
      },
      "ReplayStats": {
        "properties": {
          "num_tool_calls": {
            "type": "integer",
            "title": "Num Tool Calls",
            "default": 0
          },
          "num_mcp_tool_calls": {
            "type": "integer",
            "title": "Num Mcp Tool Calls",
            "default": 0
          },
          "num_crawler_calls": {
            "type": "integer",
            "title": "Num Crawler Calls",
            "default": 0
          },
          "num_navigator_steps": {
            "type": "integer",
            "title": "Num Navigator Steps",
            "default": 0
          },
          "num_websites_visited": {
            "type": "integer",
            "title": "Num Websites Visited",
            "default": 0
          },
          "sec_saved": {
            "type": "integer",
            "title": "Sec Saved",
            "default": 0
          },
          "credit_cost": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credit Cost"
          }
        },
        "type": "object",
        "title": "ReplayStats"
      },
      "ResearchTaskStatusResponse": {
        "properties": {
          "task_id": {
            "type": "string",
            "title": "Task Id",
            "description": "Unique identifier for this research task"
          },
          "view_url": {
            "type": "string",
            "title": "View Url",
            "description": "URL to view task progress and results"
          },
          "status": {
            "type": "string",
            "enum": [
              "queued",
              "running",
              "succeeded",
              "failed"
            ],
            "title": "Status",
            "description": "Current status of the research task"
          },
          "result": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Result",
            "description": "Research results in markdown format if completed"
          },
          "structured_result": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Structured Result",
            "description": "If an output schema was provided, the result formatted as JSON matching that schema"
          },
          "structured_output_status": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "not_requested",
                  "pending",
                  "succeeded",
                  "failed"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Structured Output Status",
            "description": "Whether structured output was requested, is still pending, succeeded, or failed"
          },
          "created_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At",
            "description": "When the task was created"
          },
          "updates": {
            "items": {
              "$ref": "#/components/schemas/DeveloperUpdate"
            },
            "type": "array",
            "title": "Updates",
            "description": "List of updates/results from the research task"
          },
          "rejection_reason": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectionReason"
              },
              {
                "type": "null"
              }
            ],
            "description": "If status is 'failed', the specific billing reason for rejection"
          }
        },
        "type": "object",
        "required": [
          "task_id",
          "view_url",
          "status"
        ],
        "title": "ResearchTaskStatusResponse",
        "description": "Response for getting research task status and results."
      },
      "ResolveViaTokenBody": {
        "properties": {
          "token": {
            "type": "string",
            "title": "Token"
          },
          "action": {
            "type": "string",
            "enum": [
              "approve",
              "deny"
            ],
            "title": "Action"
          }
        },
        "type": "object",
        "required": [
          "token",
          "action"
        ],
        "title": "ResolveViaTokenBody"
      },
      "RevokeArtifactShareResponse": {
        "properties": {
          "artifact_id": {
            "type": "string",
            "format": "uuid",
            "title": "Artifact Id"
          },
          "share_id": {
            "type": "string",
            "format": "uuid",
            "title": "Share Id"
          },
          "revoked": {
            "type": "boolean",
            "title": "Revoked"
          }
        },
        "type": "object",
        "required": [
          "artifact_id",
          "share_id",
          "revoked"
        ],
        "title": "RevokeArtifactShareResponse"
      },
      "Scout": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "query": {
            "type": "string",
            "title": "Query"
          },
          "query_object": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Query Object"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "next_run_timestamp": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Run Timestamp"
          },
          "user_timezone": {
            "type": "string",
            "title": "User Timezone"
          },
          "next_output_timestamp": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Output Timestamp"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "completed_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Completed At"
          },
          "paused_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Paused At"
          },
          "rejection_reason": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectionReason"
              },
              {
                "type": "null"
              }
            ]
          },
          "llm_output": {
            "additionalProperties": true,
            "type": "object",
            "title": "Llm Output"
          },
          "is_public": {
            "type": "boolean",
            "title": "Is Public",
            "default": true
          },
          "connectors_config": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ConnectorsConfig"
              },
              {
                "type": "null"
              }
            ]
          },
          "last_update_timestamp": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Update Timestamp"
          },
          "update_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Update Count"
          },
          "is_subscribed": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Subscribed"
          },
          "is_creator": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Creator"
          },
          "creator_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Creator Id"
          },
          "creator_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Creator Username",
            "description": "Display name of the scout creator (first name from Clerk)"
          },
          "creator_image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Creator Image Url",
            "description": "Profile picture URL of the scout creator (from Clerk payload)"
          },
          "unread_update_count": {
            "type": "integer",
            "title": "Unread Update Count",
            "description": "Number of unread updates with findings for this user",
            "default": 0
          },
          "has_unread_updates": {
            "type": "boolean",
            "title": "Has Unread Updates",
            "description": "Whether this scout has unread updates with findings",
            "default": false
          },
          "feedback_guidelines": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Feedback Guidelines"
          },
          "connected_services": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Connected Services",
            "description": "Active connector service names for the scout creator (e.g. ['gmail', 'slack'])"
          },
          "has_subscribers": {
            "type": "boolean",
            "title": "Has Subscribers",
            "description": "Whether this scout has any confirmed non-creator subscribers",
            "default": false
          },
          "subscriber_count": {
            "type": "integer",
            "title": "Subscriber Count",
            "description": "Number of confirmed subscribers for this scout",
            "default": 0
          },
          "subscriber_names": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Subscriber Names",
            "description": "Display names of up to 3 confirmed subscribers (for avatar rendering)"
          },
          "subscriber_avatars": {
            "items": {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            "type": "array",
            "title": "Subscriber Avatars",
            "description": "Avatar info for up to 3 confirmed subscribers [{name, image_url}]"
          },
          "unique_view_count": {
            "type": "integer",
            "title": "Unique View Count",
            "description": "Number of unique visitors to this scout's page",
            "default": 0
          },
          "artifacts": {
            "items": {
              "additionalProperties": true,
              "type": "object"
            },
            "type": "array",
            "title": "Artifacts",
            "description": "Artifacts generated by this scout [{id, url, file_type, filename, created_at, updated_at}]"
          }
        },
        "type": "object",
        "required": [
          "id",
          "query",
          "display_name",
          "next_run_timestamp",
          "user_timezone",
          "next_output_timestamp",
          "created_at",
          "completed_at",
          "paused_at",
          "llm_output"
        ],
        "title": "Scout"
      },
      "ScoutDetailResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "query": {
            "type": "string",
            "title": "Query"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "paused",
              "done"
            ],
            "title": "Status"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "next_run_timestamp": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Run Timestamp"
          },
          "next_output_timestamp": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Output Timestamp"
          },
          "user_timezone": {
            "type": "string",
            "title": "User Timezone"
          },
          "output_interval": {
            "type": "integer",
            "title": "Output Interval"
          },
          "completed_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Completed At"
          },
          "paused_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Paused At"
          },
          "rejection_reason": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectionReason"
              },
              {
                "type": "null"
              }
            ]
          },
          "last_update_timestamp": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Update Timestamp"
          },
          "update_count": {
            "type": "integer",
            "title": "Update Count"
          },
          "query_object": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Query Object"
          },
          "is_public": {
            "type": "boolean",
            "title": "Is Public",
            "default": true
          },
          "output_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Output Schema",
            "description": "JSON Schema for structured output, if configured",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "id",
          "query",
          "display_name",
          "status",
          "created_at",
          "next_run_timestamp",
          "next_output_timestamp",
          "user_timezone",
          "output_interval",
          "completed_at",
          "paused_at",
          "last_update_timestamp",
          "update_count",
          "output_schema"
        ],
        "title": "ScoutDetailResponse",
        "description": "Detailed scout information for detail endpoint."
      },
      "ScoutLastUpdateDate": {
        "properties": {
          "scout_id": {
            "type": "string",
            "format": "uuid",
            "title": "Scout Id"
          },
          "last_update_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Update Date"
          }
        },
        "type": "object",
        "required": [
          "scout_id",
          "last_update_date"
        ],
        "title": "ScoutLastUpdateDate"
      },
      "ScoutListItem": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "query": {
            "type": "string",
            "title": "Query"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "paused",
              "done"
            ],
            "title": "Status"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At"
          },
          "next_output_timestamp": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Output Timestamp"
          },
          "output_interval": {
            "type": "integer",
            "title": "Output Interval",
            "description": "Run interval in seconds"
          },
          "rejection_reason": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectionReason"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "required": [
          "id",
          "query",
          "display_name",
          "status",
          "created_at",
          "next_output_timestamp",
          "output_interval"
        ],
        "title": "ScoutListItem",
        "description": "Lightweight scout metadata for list endpoints."
      },
      "ScoutListResponse": {
        "properties": {
          "scouts": {
            "items": {
              "$ref": "#/components/schemas/ScoutListItem"
            },
            "type": "array",
            "title": "Scouts"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Total count of all scouts (active + paused + done)",
            "default": 0
          },
          "filtered_total": {
            "type": "integer",
            "title": "Filtered Total",
            "description": "Count of scouts matching the current filter",
            "default": 0
          },
          "summary": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ScoutsSummary"
              },
              {
                "type": "null"
              }
            ],
            "description": "Counts by status"
          },
          "page_size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Page Size",
            "description": "Requested page size (null if returning all)"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More",
            "description": "Whether more results exist after this page",
            "default": false
          },
          "prev_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prev Cursor",
            "description": "Cursor for previous page"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "Cursor for next page"
          }
        },
        "type": "object",
        "required": [
          "scouts"
        ],
        "title": "ScoutListResponse"
      },
      "ScoutMetadata": {
        "properties": {
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "query": {
            "type": "string",
            "title": "Query"
          }
        },
        "type": "object",
        "required": [
          "display_name",
          "query"
        ],
        "title": "ScoutMetadata",
        "description": "Lightweight scout metadata for SEO/metadata purposes. Only includes display_name and query."
      },
      "ScoutStats": {
        "properties": {
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "active": {
            "type": "integer",
            "title": "Active"
          },
          "paused": {
            "type": "integer",
            "title": "Paused"
          },
          "completed": {
            "type": "integer",
            "title": "Completed"
          }
        },
        "type": "object",
        "required": [
          "total",
          "active",
          "paused",
          "completed"
        ],
        "title": "ScoutStats"
      },
      "ScoutsCheckoutRequest": {
        "properties": {
          "tier": {
            "type": "string",
            "enum": [
              "essential",
              "elastic",
              "enhanced"
            ],
            "title": "Tier"
          },
          "interval": {
            "type": "string",
            "enum": [
              "month",
              "year"
            ],
            "title": "Interval"
          },
          "monthly_dollars": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000.0,
                "minimum": 20.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Monthly Dollars"
          },
          "success_url": {
            "type": "string",
            "title": "Success Url"
          },
          "cancel_url": {
            "type": "string",
            "title": "Cancel Url"
          }
        },
        "type": "object",
        "required": [
          "tier",
          "interval",
          "success_url",
          "cancel_url"
        ],
        "title": "ScoutsCheckoutRequest"
      },
      "ScoutsCheckoutResponse": {
        "properties": {
          "url": {
            "type": "string",
            "title": "Url"
          }
        },
        "type": "object",
        "required": [
          "url"
        ],
        "title": "ScoutsCheckoutResponse"
      },
      "ScoutsSummary": {
        "properties": {
          "active": {
            "type": "integer",
            "title": "Active",
            "description": "Number of active scouts"
          },
          "paused": {
            "type": "integer",
            "title": "Paused",
            "description": "Number of paused scouts"
          },
          "done": {
            "type": "integer",
            "title": "Done",
            "description": "Number of completed scouts"
          }
        },
        "type": "object",
        "required": [
          "active",
          "paused",
          "done"
        ],
        "title": "ScoutsSummary",
        "description": "Summary counts of scouts by status."
      },
      "SendScoutInvitationsRequest": {
        "properties": {
          "emails": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "maxItems": 200,
            "title": "Emails",
            "description": "List of email addresses to invite (max 200)"
          }
        },
        "type": "object",
        "required": [
          "emails"
        ],
        "title": "SendScoutInvitationsRequest"
      },
      "SendScoutInvitationsResponse": {
        "properties": {
          "summary": {
            "additionalProperties": {
              "type": "integer"
            },
            "type": "object",
            "title": "Summary",
            "description": "Count of each status type"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/InvitationResult"
            },
            "type": "array",
            "title": "Results"
          }
        },
        "type": "object",
        "required": [
          "summary",
          "results"
        ],
        "title": "SendScoutInvitationsResponse"
      },
      "SignInTokenResponse": {
        "properties": {
          "token": {
            "type": "string",
            "title": "Token"
          }
        },
        "type": "object",
        "required": [
          "token"
        ],
        "title": "SignInTokenResponse",
        "description": "Response containing a Clerk sign-in token for mobile-to-web authentication."
      },
      "SignUpValidateApiBody": {
        "properties": {
          "signup_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signup Ip"
          }
        },
        "type": "object",
        "title": "SignUpValidateApiBody"
      },
      "SignUpValidateBody": {
        "properties": {
          "attribution": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Attribution"
          },
          "signup_geo": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SignupGeo"
              },
              {
                "type": "null"
              }
            ]
          },
          "signup_ip": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signup Ip"
          },
          "signup_source": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signup Source"
          }
        },
        "type": "object",
        "title": "SignUpValidateBody"
      },
      "SignupGeo": {
        "properties": {
          "city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "City"
          },
          "region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Region"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Country"
          }
        },
        "type": "object",
        "title": "SignupGeo"
      },
      "SiteLoginSync": {
        "properties": {
          "site_name": {
            "type": "string",
            "title": "Site Name"
          },
          "site_url": {
            "type": "string",
            "title": "Site Url"
          },
          "logged_in_at": {
            "type": "string",
            "format": "date-time",
            "title": "Logged In At"
          },
          "has_cookies": {
            "type": "boolean",
            "title": "Has Cookies"
          }
        },
        "type": "object",
        "required": [
          "site_name",
          "site_url",
          "logged_in_at",
          "has_cookies"
        ],
        "title": "SiteLoginSync"
      },
      "SitemapArtifactEntry": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "filename": {
            "type": "string",
            "title": "Filename"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "filename",
          "updated_at"
        ],
        "title": "SitemapArtifactEntry"
      },
      "SitemapArtifactsResponse": {
        "properties": {
          "artifacts": {
            "items": {
              "$ref": "#/components/schemas/SitemapArtifactEntry"
            },
            "type": "array",
            "title": "Artifacts"
          },
          "page": {
            "type": "integer",
            "title": "Page"
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          }
        },
        "type": "object",
        "required": [
          "artifacts",
          "page",
          "page_size",
          "total"
        ],
        "title": "SitemapArtifactsResponse"
      },
      "SitemapCountResponse": {
        "properties": {
          "total": {
            "type": "integer",
            "title": "Total"
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "total_pages": {
            "type": "integer",
            "title": "Total Pages"
          }
        },
        "type": "object",
        "required": [
          "total",
          "page_size",
          "total_pages"
        ],
        "title": "SitemapCountResponse"
      },
      "SitemapScoutEntry": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "display_name": {
            "type": "string",
            "title": "Display Name"
          },
          "updated_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Updated At"
          }
        },
        "type": "object",
        "required": [
          "id",
          "display_name",
          "updated_at"
        ],
        "title": "SitemapScoutEntry"
      },
      "SitemapScoutsResponse": {
        "properties": {
          "scouts": {
            "items": {
              "$ref": "#/components/schemas/SitemapScoutEntry"
            },
            "type": "array",
            "title": "Scouts"
          },
          "page": {
            "type": "integer",
            "title": "Page"
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          }
        },
        "type": "object",
        "required": [
          "scouts",
          "page",
          "page_size",
          "total"
        ],
        "title": "SitemapScoutsResponse"
      },
      "SubscriberResult": {
        "properties": {
          "email": {
            "type": "string",
            "title": "Email",
            "description": "The email address"
          },
          "status": {
            "type": "string",
            "enum": [
              "added",
              "removed",
              "already_subscribed",
              "not_found",
              "invalid",
              "permission_denied"
            ],
            "title": "Status",
            "description": "Result status for this email operation"
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Message",
            "description": "Additional details about the result"
          }
        },
        "type": "object",
        "required": [
          "email",
          "status"
        ],
        "title": "SubscriberResult"
      },
      "SyncSiteLoginsRequest": {
        "properties": {
          "logins": {
            "items": {
              "$ref": "#/components/schemas/SiteLoginSync"
            },
            "type": "array",
            "title": "Logins"
          }
        },
        "type": "object",
        "required": [
          "logins"
        ],
        "title": "SyncSiteLoginsRequest"
      },
      "TaskListItem": {
        "properties": {
          "task_id": {
            "type": "string",
            "title": "Task Id",
            "description": "Unique identifier for this task"
          },
          "query": {
            "type": "string",
            "title": "Query",
            "description": "Task or research query submitted by the caller"
          },
          "status": {
            "type": "string",
            "enum": [
              "running",
              "succeeded",
              "failed"
            ],
            "title": "Status",
            "description": "Lightweight task status for list views, derived from stored task state: 'succeeded' (results are retrievable), 'failed' (terminal with no retrievable results), or 'running' (everything else). Because it is computed without a live workflow lookup, 'running' also covers queued tasks and the brief window before a finished workflow is reconciled in the database. Call GET /v1/{browsing,research}/tasks/{id} for the authoritative queued/running/succeeded/failed status of a single task."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "title": "Created At",
            "description": "When the task was created"
          },
          "view_url": {
            "type": "string",
            "title": "View Url",
            "description": "URL to view this task in the API platform dashboard"
          },
          "rejection_reason": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RejectionReason"
              },
              {
                "type": "null"
              }
            ],
            "description": "If status is 'failed', the specific billing reason for rejection when available"
          }
        },
        "type": "object",
        "required": [
          "task_id",
          "query",
          "status",
          "created_at",
          "view_url"
        ],
        "title": "TaskListItem",
        "description": "Lightweight one-time task metadata for developer API list endpoints."
      },
      "TaskListResponse": {
        "properties": {
          "tasks": {
            "items": {
              "$ref": "#/components/schemas/TaskListItem"
            },
            "type": "array",
            "title": "Tasks"
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Total count of all tasks (running + succeeded + failed)",
            "default": 0
          },
          "filtered_total": {
            "type": "integer",
            "title": "Filtered Total",
            "description": "Count of tasks matching the current filter",
            "default": 0
          },
          "summary": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaskListSummary"
              },
              {
                "type": "null"
              }
            ],
            "description": "Counts by status"
          },
          "page_size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Page Size",
            "description": "Requested page size (null if returning all)"
          },
          "has_more": {
            "type": "boolean",
            "title": "Has More",
            "description": "Whether more results exist after this page",
            "default": false
          },
          "prev_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prev Cursor",
            "description": "Cursor for previous page"
          },
          "next_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Cursor",
            "description": "Cursor for next page"
          }
        },
        "type": "object",
        "required": [
          "tasks"
        ],
        "title": "TaskListResponse"
      },
      "TaskListSummary": {
        "properties": {
          "running": {
            "type": "integer",
            "title": "Running",
            "description": "Number of tasks still running"
          },
          "succeeded": {
            "type": "integer",
            "title": "Succeeded",
            "description": "Number of tasks with retrievable results"
          },
          "failed": {
            "type": "integer",
            "title": "Failed",
            "description": "Number of terminal tasks without retrievable results"
          }
        },
        "type": "object",
        "required": [
          "running",
          "succeeded",
          "failed"
        ],
        "title": "TaskListSummary",
        "description": "Summary counts of one-time tasks by lightweight list status."
      },
      "TaskSpec": {
        "properties": {
          "output_schema": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/JsonSchemaSpec"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "TaskSpec"
      },
      "TelegramLinkCodeResponse": {
        "properties": {
          "code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Code"
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Expires At"
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email"
          }
        },
        "type": "object",
        "required": [
          "code",
          "expires_at",
          "email"
        ],
        "title": "TelegramLinkCodeResponse"
      },
      "TestNotificationRequest": {
        "properties": {
          "notification_type": {
            "type": "string",
            "enum": [
              "system",
              "connector_disconnected",
              "agent_notification"
            ],
            "title": "Notification Type",
            "default": "system"
          },
          "title": {
            "type": "string",
            "title": "Title",
            "default": "Test Notification"
          },
          "body": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body",
            "default": "This is a test notification to verify delivery."
          },
          "disconnected_services": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Disconnected Services"
          }
        },
        "type": "object",
        "title": "TestNotificationRequest",
        "description": "Request to create a test notification."
      },
      "TestNotificationResponse": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "notification": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Notification"
              },
              {
                "type": "null"
              }
            ]
          },
          "sse_sent_to": {
            "type": "integer",
            "title": "Sse Sent To",
            "default": 0
          }
        },
        "type": "object",
        "required": [
          "success"
        ],
        "title": "TestNotificationResponse",
        "description": "Response for test notification creation."
      },
      "TestWebhookFormatRequest": {
        "properties": {
          "webhook_url": {
            "type": "string",
            "title": "Webhook Url",
            "description": "Webhook URL to test"
          },
          "webhook_format": {
            "type": "string",
            "enum": [
              "scout",
              "slack",
              "zapier"
            ],
            "title": "Webhook Format",
            "description": "Webhook payload format to test (use 'slack' for Slack incoming webhooks)"
          },
          "scout_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scout Id",
            "description": "Optional scout ID to use for test data"
          }
        },
        "type": "object",
        "required": [
          "webhook_url",
          "webhook_format"
        ],
        "title": "TestWebhookFormatRequest"
      },
      "TestWebhookRequest": {
        "properties": {
          "webhook_url": {
            "type": "string",
            "title": "Webhook Url",
            "description": "Webhook URL to test"
          },
          "method": {
            "type": "string",
            "enum": [
              "email",
              "scout_webhook",
              "slack_webhook",
              "zapier_webhook",
              "rss"
            ],
            "title": "Method",
            "description": "Webhook method to test"
          },
          "scout_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Scout Id",
            "description": "Optional scout ID to use for test data"
          }
        },
        "type": "object",
        "required": [
          "webhook_url",
          "method"
        ],
        "title": "TestWebhookRequest"
      },
      "Tier": {
        "type": "string",
        "enum": [
          "FREE_TRIAL_ESSENTIAL",
          "STARTER",
          "ESSENTIAL",
          "ELASTIC",
          "ENHANCED"
        ],
        "title": "Tier"
      },
      "TimeRange": {
        "type": "string",
        "enum": [
          "24h",
          "7d",
          "30d",
          "90d"
        ],
        "title": "TimeRange"
      },
      "TimelineDataPoint": {
        "properties": {
          "date": {
            "type": "string",
            "title": "Date"
          },
          "scout_runs": {
            "type": "integer",
            "title": "Scout Runs"
          },
          "browsing_tasks": {
            "type": "integer",
            "title": "Browsing Tasks"
          },
          "research_tasks": {
            "type": "integer",
            "title": "Research Tasks"
          },
          "reports": {
            "type": "integer",
            "title": "Reports"
          },
          "navigator_calls": {
            "type": "integer",
            "title": "Navigator Calls"
          },
          "n1_calls": {
            "type": "integer",
            "title": "N1 Calls",
            "description": "Deprecated alias of navigator_calls; prefer navigator_calls",
            "deprecated": true,
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "date",
          "scout_runs",
          "browsing_tasks",
          "research_tasks",
          "reports",
          "navigator_calls",
          "n1_calls"
        ],
        "title": "TimelineDataPoint"
      },
      "TimelineResponse": {
        "properties": {
          "time_range": {
            "type": "string",
            "title": "Time Range"
          },
          "data": {
            "items": {
              "$ref": "#/components/schemas/TimelineDataPoint"
            },
            "type": "array",
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "time_range",
          "data"
        ],
        "title": "TimelineResponse"
      },
      "TwoFactorCodeRequest": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Code"
          }
        },
        "type": "object",
        "required": [
          "code"
        ],
        "title": "TwoFactorCodeRequest"
      },
      "UnreadCountResponse": {
        "properties": {
          "count": {
            "type": "integer",
            "title": "Count"
          }
        },
        "type": "object",
        "required": [
          "count"
        ],
        "title": "UnreadCountResponse",
        "description": "Response for unread notification count."
      },
      "Update": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "timestamp": {
            "type": "integer",
            "title": "Timestamp"
          },
          "content": {
            "type": "string",
            "title": "Content"
          },
          "citations": {
            "items": {
              "$ref": "#/components/schemas/Citation"
            },
            "type": "array",
            "title": "Citations"
          },
          "stats": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ReplayStats"
              },
              {
                "type": "null"
              }
            ]
          },
          "structured_result": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Structured Result"
          },
          "structured_output_status": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "not_requested",
                  "pending",
                  "succeeded",
                  "failed"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Structured Output Status"
          },
          "header_image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Header Image Url"
          }
        },
        "type": "object",
        "required": [
          "id",
          "timestamp",
          "content"
        ],
        "title": "Update"
      },
      "UpdateArtifactVisibilityRequest": {
        "properties": {
          "is_public": {
            "type": "boolean",
            "title": "Is Public"
          }
        },
        "type": "object",
        "required": [
          "is_public"
        ],
        "title": "UpdateArtifactVisibilityRequest"
      },
      "UpdateAutoTopupRequest": {
        "properties": {
          "enabled": {
            "type": "boolean",
            "title": "Enabled"
          },
          "threshold_cents": {
            "type": "integer",
            "maximum": 100000.0,
            "minimum": 1000.0,
            "title": "Threshold Cents"
          },
          "topup_amount_cents": {
            "type": "integer",
            "maximum": 1000000.0,
            "minimum": 500.0,
            "title": "Topup Amount Cents"
          },
          "stripe_payment_method_id": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^pm_"
              },
              {
                "type": "null"
              }
            ],
            "title": "Stripe Payment Method Id"
          }
        },
        "type": "object",
        "required": [
          "enabled",
          "threshold_cents",
          "topup_amount_cents"
        ],
        "title": "UpdateAutoTopupRequest"
      },
      "UpdateBudgetRequest": {
        "properties": {
          "monthly_budget_cents": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 1000000.0,
                "minimum": 100.0
              },
              {
                "type": "null"
              }
            ],
            "title": "Monthly Budget Cents"
          },
          "budget_type": {
            "type": "string",
            "enum": [
              "hard",
              "soft"
            ],
            "title": "Budget Type",
            "default": "soft"
          }
        },
        "type": "object",
        "title": "UpdateBudgetRequest"
      },
      "UpdateEmailSettingsRequest": {
        "properties": {
          "skip_email": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Skip Email",
            "description": "\n        If true, email notifications will be skipped and only webhook notifications will be sent.\n        If false, both email and webhook notifications will be sent (default behavior).\n        "
          },
          "subscribers_to_add": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Subscribers To Add",
            "description": "List of email addresses to subscribe to this scout. Maximum 200 per request. Duplicates are automatically ignored."
          },
          "subscribers_to_remove": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Subscribers To Remove",
            "description": "List of email addresses to unsubscribe from this scout. Non-creators can only remove themselves."
          }
        },
        "type": "object",
        "title": "UpdateEmailSettingsRequest"
      },
      "UpdateEmailSettingsResponse": {
        "properties": {
          "scout_id": {
            "type": "string",
            "title": "Scout Id",
            "description": "The ID of the scout"
          },
          "skip_email": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Skip Email",
            "description": "Current skip_email setting, if updated"
          },
          "subscribers_added": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/SubscriberResult"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Subscribers Added",
            "description": "Results for each email address in subscribers_to_add"
          },
          "subscribers_removed": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/SubscriberResult"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Subscribers Removed",
            "description": "Results for each email address in subscribers_to_remove"
          },
          "message": {
            "type": "string",
            "title": "Message",
            "description": "Summary of changes made"
          }
        },
        "type": "object",
        "required": [
          "scout_id",
          "message"
        ],
        "title": "UpdateEmailSettingsResponse"
      },
      "UpdateMessageRequest": {
        "properties": {
          "message": {
            "type": "string",
            "title": "Message",
            "description": "Updated message content"
          },
          "status": {
            "$ref": "#/components/schemas/MessageStatus",
            "description": "Updated message status"
          }
        },
        "type": "object",
        "required": [
          "message",
          "status"
        ],
        "title": "UpdateMessageRequest"
      },
      "UpdatePreferencesRequest": {
        "properties": {
          "preferences": {
            "items": {
              "$ref": "#/components/schemas/NotificationPreference"
            },
            "type": "array",
            "title": "Preferences"
          }
        },
        "type": "object",
        "required": [
          "preferences"
        ],
        "title": "UpdatePreferencesRequest",
        "description": "Request to update notification preferences."
      },
      "UpdateWithScout": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "scout_id": {
            "type": "string",
            "title": "Scout Id"
          },
          "scout_display_name": {
            "type": "string",
            "title": "Scout Display Name"
          },
          "timestamp": {
            "type": "integer",
            "title": "Timestamp",
            "description": "Milliseconds since epoch"
          },
          "content": {
            "type": "string",
            "title": "Content"
          },
          "citations": {
            "items": {
              "$ref": "#/components/schemas/Citation"
            },
            "type": "array",
            "title": "Citations"
          },
          "stats": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ReplayStats"
              },
              {
                "type": "null"
              }
            ]
          },
          "structured_result": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Structured Result"
          },
          "structured_output_status": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "not_requested",
                  "pending",
                  "succeeded",
                  "failed"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Structured Output Status"
          },
          "header_image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Header Image Url"
          }
        },
        "type": "object",
        "required": [
          "id",
          "scout_id",
          "scout_display_name",
          "timestamp",
          "content"
        ],
        "title": "UpdateWithScout",
        "description": "An update with its associated scout context."
      },
      "UsageResponse": {
        "properties": {
          "num_active_scouts": {
            "type": "integer",
            "title": "Num Active Scouts"
          },
          "active_scout_ids": {
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "type": "array",
            "title": "Active Scout Ids"
          },
          "rate_limits": {
            "$ref": "#/components/schemas/RateLimits"
          },
          "navigator_rate_limits": {
            "$ref": "#/components/schemas/NavigatorRateLimits"
          },
          "activity": {
            "$ref": "#/components/schemas/ActivityCounts"
          },
          "n1_rate_limits": {
            "$ref": "#/components/schemas/NavigatorRateLimits",
            "description": "Deprecated alias of navigator_rate_limits; prefer navigator_rate_limits",
            "deprecated": true,
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "num_active_scouts",
          "active_scout_ids",
          "rate_limits",
          "navigator_rate_limits",
          "activity",
          "n1_rate_limits"
        ],
        "title": "UsageResponse"
      },
      "UsageSummary": {
        "properties": {
          "billing_mode": {
            "type": "string",
            "enum": [
              "prepaid",
              "postpaid"
            ],
            "title": "Billing Mode",
            "default": "prepaid"
          },
          "currency": {
            "type": "string",
            "title": "Currency"
          },
          "line_items": {
            "items": {
              "$ref": "#/components/schemas/LineItem"
            },
            "type": "array",
            "title": "Line Items"
          },
          "subtotal": {
            "type": "number",
            "title": "Subtotal"
          },
          "credits_applied": {
            "type": "number",
            "title": "Credits Applied"
          },
          "amount_due": {
            "type": "number",
            "title": "Amount Due"
          },
          "remaining_credit": {
            "type": "number",
            "title": "Remaining Credit"
          },
          "credit_history": {
            "items": {
              "$ref": "#/components/schemas/CreditTransaction"
            },
            "type": "array",
            "title": "Credit History",
            "default": []
          },
          "has_stripe_subscription": {
            "type": "boolean",
            "title": "Has Stripe Subscription",
            "default": false
          },
          "timeline": {
            "items": {
              "$ref": "#/components/schemas/UsageTimelinePoint"
            },
            "type": "array",
            "title": "Timeline",
            "default": []
          },
          "browsing_timeline": {
            "items": {
              "$ref": "#/components/schemas/BrowsingUsageTimelinePoint"
            },
            "type": "array",
            "title": "Browsing Timeline",
            "default": []
          },
          "navigator_timeline": {
            "items": {
              "$ref": "#/components/schemas/NavigatorUsageTimelinePoint"
            },
            "type": "array",
            "title": "Navigator Timeline",
            "default": []
          },
          "browsing_task_count": {
            "type": "integer",
            "title": "Browsing Task Count",
            "default": 0
          },
          "browsing_total_steps": {
            "type": "integer",
            "title": "Browsing Total Steps",
            "default": 0
          },
          "task_breakdown_limit": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Task Breakdown Limit"
          },
          "task_breakdown_truncated": {
            "type": "boolean",
            "title": "Task Breakdown Truncated",
            "default": false
          },
          "task_breakdown": {
            "items": {
              "$ref": "#/components/schemas/UsageTaskBreakdownItem"
            },
            "type": "array",
            "title": "Task Breakdown",
            "default": []
          }
        },
        "type": "object",
        "required": [
          "currency",
          "line_items",
          "subtotal",
          "credits_applied",
          "amount_due",
          "remaining_credit"
        ],
        "title": "UsageSummary"
      },
      "UsageTaskBreakdownItem": {
        "properties": {
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "title": "Occurred At"
          },
          "scout_id": {
            "type": "string",
            "format": "uuid",
            "title": "Scout Id"
          },
          "workflow_id": {
            "type": "string",
            "title": "Workflow Id"
          },
          "replay_id": {
            "anyOf": [
              {
                "type": "string",
                "format": "uuid"
              },
              {
                "type": "null"
              }
            ],
            "title": "Replay Id"
          },
          "task_status": {
            "type": "string",
            "title": "Task Status"
          },
          "task_duration_ms": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Task Duration Ms"
          },
          "yutori_steps": {
            "type": "integer",
            "title": "Yutori Steps"
          },
          "anthropic_steps": {
            "type": "integer",
            "title": "Anthropic Steps"
          },
          "total_steps": {
            "type": "integer",
            "title": "Total Steps"
          },
          "amount_cents": {
            "type": "integer",
            "title": "Amount Cents"
          }
        },
        "type": "object",
        "required": [
          "occurred_at",
          "scout_id",
          "workflow_id",
          "task_status",
          "yutori_steps",
          "anthropic_steps",
          "total_steps",
          "amount_cents"
        ],
        "title": "UsageTaskBreakdownItem"
      },
      "UsageTimelinePoint": {
        "properties": {
          "date": {
            "type": "string",
            "title": "Date"
          },
          "task_count": {
            "type": "integer",
            "title": "Task Count"
          },
          "amount_cents": {
            "type": "integer",
            "title": "Amount Cents"
          }
        },
        "type": "object",
        "required": [
          "date",
          "task_count",
          "amount_cents"
        ],
        "title": "UsageTimelinePoint"
      },
      "UserFeedback": {
        "properties": {
          "rating": {
            "type": "string",
            "title": "Rating",
            "description": "Feedback rating (positive/negative/neutral)"
          },
          "scout_id": {
            "type": "string",
            "title": "Scout Id",
            "description": "UUID of the scout"
          },
          "selected_options": {
            "type": "string",
            "title": "Selected Options",
            "description": "Selected feedback options"
          },
          "freeform_feedback": {
            "type": "string",
            "title": "Freeform Feedback",
            "description": "Free text feedback from user"
          },
          "report_link": {
            "type": "string",
            "title": "Report Link",
            "description": "Link to the report"
          }
        },
        "type": "object",
        "required": [
          "rating",
          "scout_id",
          "selected_options",
          "freeform_feedback",
          "report_link"
        ],
        "title": "UserFeedback",
        "description": "Pydantic model for user feedback data."
      },
      "UserProfileResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "title": "Id"
          },
          "image_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image Url"
          },
          "initial": {
            "type": "string",
            "title": "Initial"
          }
        },
        "type": "object",
        "required": [
          "id",
          "image_url",
          "initial"
        ],
        "title": "UserProfileResponse",
        "description": "Minimal user profile for notification sender avatars."
      },
      "UserProfilesResponse": {
        "properties": {
          "profiles": {
            "items": {
              "$ref": "#/components/schemas/UserProfileResponse"
            },
            "type": "array",
            "title": "Profiles"
          }
        },
        "type": "object",
        "required": [
          "profiles"
        ],
        "title": "UserProfilesResponse",
        "description": "Response for listing user profiles by id."
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "type": "object",
            "title": "Context"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      }
    },
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "name": "x-api-key",
        "in": "header"
      },
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "Use Authorization: Bearer <api_key>"
      }
    }
  },
  "servers": [
    {
      "url": "https://api.yutori.com",
      "description": "Production"
    }
  ],
  "security": [
    {
      "ApiKeyAuth": []
    }
  ]
}
