Yutori Scouting API

The Scouting API from Yutori — 16 operation(s) for scouting.

Operations 20

GET /v1/scouting/updates Get All Updates Api #
GET /v1/scouting/tasks/{scout_id}/updates Get Updates Api #
GET /v1/usage Get Usage #
POST /v1/scouting/tasks Create Scout Task #
GET /v1/scouting/tasks Get Scouts #
PUT /v1/scouting/tasks/{scout_id} Edit Scout #
PATCH /v1/scouting/tasks/{scout_id} Partially update a Scout #
GET /v1/scouting/tasks/{scout_id} Get Scout Detail #
DELETE /v1/scouting/tasks/{scout_id} Delete Scout #
POST /v1/scouting/tasks/{scout_id}/done Mark Scout As Done #
POST /v1/scouting/tasks/{scout_id}/complete Mark Scout As Complete #
POST /v1/scouting/tasks/{scout_id}/subscribe Subscribe #
POST /v1/scouting/tasks/{scout_id}/unsubscribe Unsubscribe #
GET /v1/scouting/tasks/{scout_id}/subscriptions Get Subscriptions #
POST /v1/scouting/tasks/{scout_id}/subscribe/bulk Bulk Subscribe #
POST /v1/scouting/tasks/{scout_id}/pause Pause Scout Endpoint #
POST /v1/scouting/tasks/{scout_id}/resume Resume Scout Endpoint #
POST /v1/scouting/tasks/{scout_id}/restart Restart Scout Endpoint #
PUT /v1/scouting/tasks/{scout_id}/email-settings Update Email Settings #
POST /v1/scouting/webhooks/test Test Webhook #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/yutori-scouting-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

yutori-scouting-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fast Browsing Scouting API
  version: 0.1.0
servers:
- url: https://api.yutori.com
  description: Production
security:
- ApiKeyAuth: []
tags:
- name: Scouting
paths:
  /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'
      tags:
      - Scouting
  /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'
      tags:
      - Scouting
  /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: '⚠️ 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: '⚠️ 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: '⚠️ 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: '⚠️ 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'
components:
  schemas:
    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
          - 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.

        Only provided fields will be updated; omitted fields remain unchanged.'
    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
    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
    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
    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.
    ConnectorsConfigPayload:
      properties:
        enabled:
          type: boolean
          title: Enabled
          description: Whether connectors are enabled for this scout
      type: object
      required:
      - enabled
      title: ConnectorsConfigPayload
    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
    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: 

# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/yutori/refs/heads/main/openapi/yutori-scouting-api-openapi.yml