> ## Documentation Index
> Fetch the complete documentation index at: https://docs.notte.cc/llms.txt
> Use this file to discover all available pages before exploring further.

# Page Observe



## OpenAPI

````yaml https://api.notte.cc/openapi.json post /sessions/{session_id}/page/observe
openapi: 3.1.0
info:
  title: Notte API
  description: >-
    Notte API is a REST API that allows you to interact with Notte. It is used
    to create cloud browser sessions, scrape webpages, and run web ai agents to
    act on your behalf on the internet.
  version: 1.4.40
  x-logo:
    url: https://www.notte.cc/images/logo/logo-white.png
servers: []
security: []
tags:
  - name: agents
    description: Web AI agents (start, stop, status, replay, etc.)
  - name: sessions
    description: Session management (start, stop, status, etc.)
  - name: debug
    description: Session debugging tools (replay,logs, recording, etc.)
  - name: page
    description: Page operations withing a session (observe, step, scrape, etc.)
  - name: storage
    description: File storage interface (upload, download, list, etc.)
  - name: network
    description: Network requests/responses withing a session (intercept, etc.)
  - name: vaults
    description: >-
      Vault & Credentials management (create/delete vaults, create/delete
      credentials, etc.)
  - name: personas
    description: Persona management (create, delete, list emails, list sms, etc.)
  - name: scrape
    description: >-
      Webpage scraping (scrape, screenshot, etc.) with automatic session
      management.
  - name: health
    description: Health check endpoint.
  - name: usage
    description: Usage logs (usage, logs, etc.)
  - name: functions
    description: Functions management (create, delete, list, etc.)
paths:
  /sessions/{session_id}/page/observe:
    post:
      tags:
        - sessions
        - page
      summary: Page Observe
      operationId: page_observe
      parameters:
        - name: session_id
          in: path
          required: true
          schema:
            type: string
            title: Session Id
        - name: update_metadata
          in: query
          required: false
          schema:
            type: boolean
            default: true
            title: Update Metadata
        - name: x-notte-request-origin
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: X-Notte-Request-Origin
        - name: x-notte-sdk-version
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: X-Notte-Sdk-Version
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObserveRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Observation'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - OAuth2PasswordBearer: []
      x-codeSamples:
        - lang: Python
          source: |-
            from notte_sdk import NotteClient, actions

            notte = NotteClient()
            with notte.Session() as session:
                # Observe the state of a webpage

                _ = session.execute(
                    actions.Goto(url="https://google.com/travel/flights")
                )
                obs = session.observe()
                print("Page Title:", obs.metadata.title)
                print(
                    "Available Actions:\n",
                    obs.space.description,
                )
                # # Example Output:
                # # Flight Search
                # * I1: Enter departure location
                # ...
          label: python
        - lang: JavaScript
          source: |-
            import { NotteClient } from "notte-sdk";

            const notte = new NotteClient();
            await notte.Session().use(async (session) => {
              // Observe the state of a webpage
              await session.execute({
                type: "goto",
                url: "https://google.com/travel/flights",
              });
              const obs = await session.observe();
              console.log("Page Title:", obs.metadata.title);
              console.log(
                "Available Actions:\n",
                obs.space.description
              );
              // Example Output:
              // Flight Search
              // * I1: Enter departure location
              // ...
            });
          label: node
        - lang: Curl
          source: >-
            curl -X POST
            "https://api.notte.cc/sessions/$session_id/page/observe" \

            -H "Authorization: Bearer $NOTTE_API_KEY" \

            -H "Content-Type: application/json" \

            -d '{

            "min_nb_actions": null,

            "max_nb_actions": 100,

            "instructions": null,

            "perception_type": null

            }'
          label: curl
components:
  schemas:
    ObserveRequest:
      properties:
        min_nb_actions:
          anyOf:
            - type: integer
            - type: 'null'
          title: Min Nb Actions
          description: >-
            The minimum number of actions to list before stopping. If not
            provided, the listing will continue until the maximum number of
            actions is reached.
        max_nb_actions:
          type: integer
          title: Max Nb Actions
          description: >-
            The maximum number of actions to list after which the listing will
            stop. Used when min_nb_actions is not provided.
          default: 100
        instructions:
          anyOf:
            - type: string
            - type: 'null'
          title: Instructions
          description: Additional instructions to use for the observation.
        perception_type:
          anyOf:
            - type: string
              enum:
                - fast
                - deep
            - type: 'null'
          title: Perception Type
          description: Whether to run with fast or deep perception
      additionalProperties: false
      type: object
      title: ObserveRequest
    Observation:
      properties:
        started_at:
          type: string
          format: date-time
          title: Started At
        ended_at:
          type: string
          format: date-time
          title: Ended At
        metadata:
          $ref: '#/components/schemas/SnapshotMetadata'
          description: >-
            Metadata of the current page, i.e url, page title, snapshot
            timestamp.
        screenshot:
          $ref: '#/components/schemas/Screenshot'
          description: Base64 encoded screenshot of the current page
        space:
          $ref: '#/components/schemas/ActionSpace'
          description: Available actions in the current state
      type: object
      required:
        - started_at
        - ended_at
        - metadata
        - screenshot
        - space
      title: Observation
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    SnapshotMetadata:
      properties:
        title:
          type: string
          title: Title
        url:
          type: string
          title: Url
        viewport:
          $ref: '#/components/schemas/ViewportData'
        tabs:
          items:
            $ref: '#/components/schemas/TabsData'
          type: array
          title: Tabs
        timestamp:
          type: string
          format: date-time
          title: Timestamp
          description: Timestamp of the snapshot
      type: object
      required:
        - title
        - url
        - viewport
        - tabs
      title: SnapshotMetadata
    Screenshot:
      properties:
        raw:
          type: string
          contentMediaType: application/octet-stream
          title: Raw
        bboxes:
          items:
            $ref: '#/components/schemas/BoundingBox'
          type: array
          title: Bboxes
        last_action_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Action Id
      type: object
      required:
        - raw
      title: Screenshot
    ActionSpace:
      properties:
        description:
          type: string
          title: Description
          description: Human-readable description of the current web page
        interaction_actions:
          items:
            oneOf:
              - $ref: '#/components/schemas/ClickAction-Output'
              - $ref: '#/components/schemas/FillAction-Output'
              - $ref: '#/components/schemas/MultiFactorFillAction-Output'
              - $ref: '#/components/schemas/FallbackFillAction-Output'
              - $ref: '#/components/schemas/CheckAction-Output'
              - $ref: '#/components/schemas/SelectDropdownOptionAction-Output'
              - $ref: '#/components/schemas/UploadFileAction-Output'
              - $ref: '#/components/schemas/DownloadFileAction-Output'
            discriminator:
              propertyName: type
              mapping:
                check:
                  $ref: '#/components/schemas/CheckAction-Output'
                click:
                  $ref: '#/components/schemas/ClickAction-Output'
                download_file:
                  $ref: '#/components/schemas/DownloadFileAction-Output'
                fallback_fill:
                  $ref: '#/components/schemas/FallbackFillAction-Output'
                fill:
                  $ref: '#/components/schemas/FillAction-Output'
                multi_factor_fill:
                  $ref: '#/components/schemas/MultiFactorFillAction-Output'
                select_dropdown_option:
                  $ref: '#/components/schemas/SelectDropdownOptionAction-Output'
                upload_file:
                  $ref: '#/components/schemas/UploadFileAction-Output'
          type: array
          title: Interaction Actions
          description: List of available interaction actions in the current state
        category:
          anyOf:
            - $ref: '#/components/schemas/SpaceCategory'
            - type: 'null'
          description: >-
            Category of the action space (e.g., 'homepage', 'search-results',
            'item')
        actions:
          items:
            oneOf:
              - $ref: '#/components/schemas/FormFillAction'
              - $ref: '#/components/schemas/GotoAction'
              - $ref: '#/components/schemas/GotoNewTabAction'
              - $ref: '#/components/schemas/CloseTabAction'
              - $ref: '#/components/schemas/SwitchTabAction'
              - $ref: '#/components/schemas/GoBackAction'
              - $ref: '#/components/schemas/GoForwardAction'
              - $ref: '#/components/schemas/ReloadAction'
              - $ref: '#/components/schemas/WaitAction'
              - $ref: '#/components/schemas/PressKeyAction'
              - $ref: '#/components/schemas/ScrollUpAction'
              - $ref: '#/components/schemas/ScrollDownAction'
              - $ref: '#/components/schemas/CaptchaSolveAction'
              - $ref: '#/components/schemas/HelpAction'
              - $ref: '#/components/schemas/CompletionAction'
              - $ref: '#/components/schemas/ScrapeAction'
              - $ref: '#/components/schemas/EmailReadAction'
              - $ref: '#/components/schemas/SmsReadAction'
              - $ref: '#/components/schemas/EvaluateJsAction'
              - $ref: '#/components/schemas/ClickAction-Output'
              - $ref: '#/components/schemas/FillAction-Output'
              - $ref: '#/components/schemas/MultiFactorFillAction-Output'
              - $ref: '#/components/schemas/FallbackFillAction-Output'
              - $ref: '#/components/schemas/CheckAction-Output'
              - $ref: '#/components/schemas/SelectDropdownOptionAction-Output'
              - $ref: '#/components/schemas/UploadFileAction-Output'
              - $ref: '#/components/schemas/DownloadFileAction-Output'
            discriminator:
              propertyName: type
              mapping:
                captcha_solve:
                  $ref: '#/components/schemas/CaptchaSolveAction'
                check:
                  $ref: '#/components/schemas/CheckAction-Output'
                click:
                  $ref: '#/components/schemas/ClickAction-Output'
                close_tab:
                  $ref: '#/components/schemas/CloseTabAction'
                completion:
                  $ref: '#/components/schemas/CompletionAction'
                download_file:
                  $ref: '#/components/schemas/DownloadFileAction-Output'
                email_read:
                  $ref: '#/components/schemas/EmailReadAction'
                evaluate_js:
                  $ref: '#/components/schemas/EvaluateJsAction'
                fallback_fill:
                  $ref: '#/components/schemas/FallbackFillAction-Output'
                fill:
                  $ref: '#/components/schemas/FillAction-Output'
                form_fill:
                  $ref: '#/components/schemas/FormFillAction'
                go_back:
                  $ref: '#/components/schemas/GoBackAction'
                go_forward:
                  $ref: '#/components/schemas/GoForwardAction'
                goto:
                  $ref: '#/components/schemas/GotoAction'
                goto_new_tab:
                  $ref: '#/components/schemas/GotoNewTabAction'
                help:
                  $ref: '#/components/schemas/HelpAction'
                multi_factor_fill:
                  $ref: '#/components/schemas/MultiFactorFillAction-Output'
                press_key:
                  $ref: '#/components/schemas/PressKeyAction'
                reload:
                  $ref: '#/components/schemas/ReloadAction'
                scrape:
                  $ref: '#/components/schemas/ScrapeAction'
                scroll_down:
                  $ref: '#/components/schemas/ScrollDownAction'
                scroll_up:
                  $ref: '#/components/schemas/ScrollUpAction'
                select_dropdown_option:
                  $ref: '#/components/schemas/SelectDropdownOptionAction-Output'
                sms_read:
                  $ref: '#/components/schemas/SmsReadAction'
                switch_tab:
                  $ref: '#/components/schemas/SwitchTabAction'
                upload_file:
                  $ref: '#/components/schemas/UploadFileAction-Output'
                wait:
                  $ref: '#/components/schemas/WaitAction'
          type: array
          title: Actions
          readOnly: true
        browser_actions:
          items:
            oneOf:
              - $ref: '#/components/schemas/FormFillAction'
              - $ref: '#/components/schemas/GotoAction'
              - $ref: '#/components/schemas/GotoNewTabAction'
              - $ref: '#/components/schemas/CloseTabAction'
              - $ref: '#/components/schemas/SwitchTabAction'
              - $ref: '#/components/schemas/GoBackAction'
              - $ref: '#/components/schemas/GoForwardAction'
              - $ref: '#/components/schemas/ReloadAction'
              - $ref: '#/components/schemas/WaitAction'
              - $ref: '#/components/schemas/PressKeyAction'
              - $ref: '#/components/schemas/ScrollUpAction'
              - $ref: '#/components/schemas/ScrollDownAction'
              - $ref: '#/components/schemas/CaptchaSolveAction'
              - $ref: '#/components/schemas/HelpAction'
              - $ref: '#/components/schemas/CompletionAction'
              - $ref: '#/components/schemas/ScrapeAction'
              - $ref: '#/components/schemas/EmailReadAction'
              - $ref: '#/components/schemas/SmsReadAction'
              - $ref: '#/components/schemas/EvaluateJsAction'
            discriminator:
              propertyName: type
              mapping:
                captcha_solve:
                  $ref: '#/components/schemas/CaptchaSolveAction'
                close_tab:
                  $ref: '#/components/schemas/CloseTabAction'
                completion:
                  $ref: '#/components/schemas/CompletionAction'
                email_read:
                  $ref: '#/components/schemas/EmailReadAction'
                evaluate_js:
                  $ref: '#/components/schemas/EvaluateJsAction'
                form_fill:
                  $ref: '#/components/schemas/FormFillAction'
                go_back:
                  $ref: '#/components/schemas/GoBackAction'
                go_forward:
                  $ref: '#/components/schemas/GoForwardAction'
                goto:
                  $ref: '#/components/schemas/GotoAction'
                goto_new_tab:
                  $ref: '#/components/schemas/GotoNewTabAction'
                help:
                  $ref: '#/components/schemas/HelpAction'
                press_key:
                  $ref: '#/components/schemas/PressKeyAction'
                reload:
                  $ref: '#/components/schemas/ReloadAction'
                scrape:
                  $ref: '#/components/schemas/ScrapeAction'
                scroll_down:
                  $ref: '#/components/schemas/ScrollDownAction'
                scroll_up:
                  $ref: '#/components/schemas/ScrollUpAction'
                sms_read:
                  $ref: '#/components/schemas/SmsReadAction'
                switch_tab:
                  $ref: '#/components/schemas/SwitchTabAction'
                wait:
                  $ref: '#/components/schemas/WaitAction'
          type: array
          title: Browser Actions
          readOnly: true
        markdown:
          type: string
          title: Markdown
          readOnly: true
      type: object
      required:
        - description
        - interaction_actions
        - actions
        - browser_actions
        - markdown
      title: ActionSpace
    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
    ViewportData:
      properties:
        scroll_x:
          type: integer
          title: Scroll X
        scroll_y:
          type: integer
          title: Scroll Y
        viewport_width:
          type: integer
          title: Viewport Width
        viewport_height:
          type: integer
          title: Viewport Height
        total_width:
          type: integer
          title: Total Width
        total_height:
          type: integer
          title: Total Height
      type: object
      required:
        - scroll_x
        - scroll_y
        - viewport_width
        - viewport_height
        - total_width
        - total_height
      title: ViewportData
    TabsData:
      properties:
        tab_id:
          type: integer
          title: Tab Id
        title:
          type: string
          title: Title
        url:
          type: string
          title: Url
      type: object
      required:
        - tab_id
        - title
        - url
      title: TabsData
    BoundingBox:
      properties:
        x:
          type: number
          title: X
        'y':
          type: number
          title: 'Y'
        width:
          type: number
          title: Width
        height:
          type: number
          title: Height
        scroll_x:
          type: number
          title: Scroll X
        scroll_y:
          type: number
          title: Scroll Y
        iframe_offset_x:
          type: number
          title: Iframe Offset X
          default: 0
        iframe_offset_y:
          type: number
          title: Iframe Offset Y
          default: 0
        viewport_width:
          type: number
          title: Viewport Width
        viewport_height:
          type: number
          title: Viewport Height
        notte_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Notte Id
      type: object
      required:
        - x
        - 'y'
        - width
        - height
        - scroll_x
        - scroll_y
        - viewport_width
        - viewport_height
      title: BoundingBox
    ClickAction-Output:
      properties:
        type:
          type: string
          const: click
          title: Type
          default: click
        category:
          type: string
          minLength: 1
          title: Category
          default: Interaction Actions
        description:
          type: string
          title: Description
          default: Click on an element of the current page
        id:
          type: string
          title: Id
          default: ''
        selector:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/NodeSelectors'
            - type: 'null'
          title: Selector
        press_enter:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Press Enter
        text_label:
          anyOf:
            - type: string
            - type: 'null'
          title: Text Label
        timeout:
          type: integer
          title: Timeout
          description: Action timeout in milliseconds
          default: 5000
      type: object
      title: ClickAction
    FillAction-Output:
      properties:
        type:
          type: string
          const: fill
          title: Type
          default: fill
        category:
          type: string
          minLength: 1
          title: Category
          default: Interaction Actions
        description:
          type: string
          title: Description
          default: Fill an input field with a value
        id:
          type: string
          title: Id
          default: ''
        selector:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/NodeSelectors'
            - type: 'null'
          title: Selector
        press_enter:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Press Enter
        text_label:
          anyOf:
            - type: string
            - type: 'null'
          title: Text Label
        timeout:
          type: integer
          title: Timeout
          description: Action timeout in milliseconds
          default: 5000
        value:
          anyOf:
            - type: string
            - type: string
              format: password
              writeOnly: true
          title: Value
        clear_before_fill:
          type: boolean
          title: Clear Before Fill
          default: true
      type: object
      required:
        - value
      title: FillAction
    MultiFactorFillAction-Output:
      properties:
        type:
          type: string
          const: multi_factor_fill
          title: Type
          default: multi_factor_fill
        category:
          type: string
          minLength: 1
          title: Category
          default: Interaction Actions
        description:
          type: string
          title: Description
          default: >-
            Fill an MFA input field with a value. CRITICAL: Only use it when
            filling in an OTP.
        id:
          type: string
          title: Id
          default: ''
        selector:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/NodeSelectors'
            - type: 'null'
          title: Selector
        press_enter:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Press Enter
        text_label:
          anyOf:
            - type: string
            - type: 'null'
          title: Text Label
        timeout:
          type: integer
          title: Timeout
          description: Action timeout in milliseconds
          default: 5000
        value:
          anyOf:
            - type: string
            - type: string
              format: password
              writeOnly: true
          title: Value
        clear_before_fill:
          type: boolean
          title: Clear Before Fill
          default: true
      type: object
      required:
        - value
      title: MultiFactorFillAction
    FallbackFillAction-Output:
      properties:
        type:
          type: string
          const: fallback_fill
          title: Type
          default: fallback_fill
        category:
          type: string
          minLength: 1
          title: Category
          default: Interaction Actions
        description:
          type: string
          title: Description
          default: >-
            Fill an input field with a value. Only use if explicitly asked, or
            you failed to input with the normal fill action
        id:
          type: string
          title: Id
          default: ''
        selector:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/NodeSelectors'
            - type: 'null'
          title: Selector
        press_enter:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Press Enter
        text_label:
          anyOf:
            - type: string
            - type: 'null'
          title: Text Label
        timeout:
          type: integer
          title: Timeout
          description: Action timeout in milliseconds
          default: 5000
        value:
          anyOf:
            - type: string
            - type: string
              format: password
              writeOnly: true
          title: Value
        clear_before_fill:
          type: boolean
          title: Clear Before Fill
          default: true
      type: object
      required:
        - value
      title: FallbackFillAction
    CheckAction-Output:
      properties:
        type:
          type: string
          const: check
          title: Type
          default: check
        category:
          type: string
          minLength: 1
          title: Category
          default: Interaction Actions
        description:
          type: string
          title: Description
          default: Check a checkbox. Use `True` to check, `False` to uncheck
        id:
          type: string
          title: Id
          default: ''
        selector:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/NodeSelectors'
            - type: 'null'
          title: Selector
        press_enter:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Press Enter
        text_label:
          anyOf:
            - type: string
            - type: 'null'
          title: Text Label
        timeout:
          type: integer
          title: Timeout
          description: Action timeout in milliseconds
          default: 5000
        value:
          type: boolean
          title: Value
      type: object
      required:
        - value
      title: CheckAction
    SelectDropdownOptionAction-Output:
      properties:
        type:
          type: string
          const: select_dropdown_option
          title: Type
          default: select_dropdown_option
        category:
          type: string
          minLength: 1
          title: Category
          default: Interaction Actions
        description:
          type: string
          title: Description
          default: >-
            Select an option from a dropdown. The `id` field should be set to
            the select element's id. Then you can either set the `value` field
            to the option's text or the `option_id` field to the option's `id`.
        id:
          type: string
          title: Id
          default: ''
        selector:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/NodeSelectors'
            - type: 'null'
          title: Selector
        press_enter:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Press Enter
        text_label:
          anyOf:
            - type: string
            - type: 'null'
          title: Text Label
        timeout:
          type: integer
          title: Timeout
          description: Action timeout in milliseconds
          default: 5000
        value:
          anyOf:
            - type: string
            - type: string
              format: password
              writeOnly: true
          title: Value
      type: object
      required:
        - value
      title: SelectDropdownOptionAction
    UploadFileAction-Output:
      properties:
        type:
          type: string
          const: upload_file
          title: Type
          default: upload_file
        category:
          type: string
          minLength: 1
          title: Category
          default: Interaction Actions
        description:
          type: string
          title: Description
          default: >-
            Upload file to interactive element with file path. Use with any
            upload file element, including button, input, a, span, div.
            CRITICAL: Use only this for file upload, do not use click.
        id:
          type: string
          title: Id
          default: ''
        selector:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/NodeSelectors'
            - type: 'null'
          title: Selector
        press_enter:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Press Enter
        text_label:
          anyOf:
            - type: string
            - type: 'null'
          title: Text Label
        timeout:
          type: integer
          title: Timeout
          description: Action timeout in milliseconds
          default: 5000
        file_path:
          type: string
          title: File Path
      type: object
      required:
        - file_path
      title: UploadFileAction
    DownloadFileAction-Output:
      properties:
        type:
          type: string
          const: download_file
          title: Type
          default: download_file
        category:
          type: string
          minLength: 1
          title: Category
          default: Interaction Actions
        description:
          type: string
          title: Description
          default: >-
            Download files from interactive elements. Use with any clickable
            element which triggers a download, including button, a, div. This
            action can also be used to download pages which are raw files (ex.
            PDF viewer). CRITICAL: Use only this for file download, DO NOT use
            click.
        id:
          type: string
          title: Id
          default: ''
        selector:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/NodeSelectors'
            - type: 'null'
          title: Selector
        press_enter:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Press Enter
        text_label:
          anyOf:
            - type: string
            - type: 'null'
          title: Text Label
        timeout:
          type: integer
          title: Timeout
          description: Action timeout in milliseconds
          default: 5000
      type: object
      title: DownloadFileAction
    SpaceCategory:
      type: string
      enum:
        - homepage
        - search-results
        - data-feed
        - item
        - auth
        - form
        - manage-cookies
        - overlay
        - payment
        - captcha
        - other
      title: SpaceCategory
    FormFillAction:
      properties:
        type:
          type: string
          const: form_fill
          title: Type
          default: form_fill
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: >-
            Fill a form with multiple values. Important: If you detect a form
            requesting personal information, try to use this action at first,
            and otherwise use the regular fill action. CRITICAL: If this action
            fails once, use the regular form fill instead.
        value:
          additionalProperties:
            anyOf:
              - type: string
              - type: string
                format: password
                writeOnly: true
          propertyNames:
            enum:
              - title
              - first_name
              - middle_name
              - last_name
              - full_name
              - email
              - company
              - address1
              - address2
              - address3
              - city
              - state
              - postal_code
              - country
              - phone
              - cc_name
              - cc_number
              - cc_exp_month
              - cc_exp_year
              - cc_exp
              - cc_cvv
              - username
              - password
              - current_password
              - new_password
              - totp
          type: object
          minProperties: 1
          title: Value
      type: object
      required:
        - value
      title: FormFillAction
    GotoAction:
      properties:
        type:
          type: string
          const: goto
          title: Type
          default: goto
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: Goto to a URL (in current tab)
        url:
          type: string
          title: Url
      additionalProperties: false
      type: object
      required:
        - url
      title: GotoAction
    GotoNewTabAction:
      properties:
        type:
          type: string
          const: goto_new_tab
          title: Type
          default: goto_new_tab
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: Goto to a URL (in new tab)
        url:
          type: string
          title: Url
      type: object
      required:
        - url
      title: GotoNewTabAction
    CloseTabAction:
      properties:
        type:
          type: string
          const: close_tab
          title: Type
          default: close_tab
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: Close the current tab
      type: object
      title: CloseTabAction
    SwitchTabAction:
      properties:
        type:
          type: string
          const: switch_tab
          title: Type
          default: switch_tab
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: Switch to a tab (identified by its index)
        tab_index:
          type: integer
          title: Tab Index
      type: object
      required:
        - tab_index
      title: SwitchTabAction
    GoBackAction:
      properties:
        type:
          type: string
          const: go_back
          title: Type
          default: go_back
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: Go back to the previous page (in current tab)
      type: object
      title: GoBackAction
    GoForwardAction:
      properties:
        type:
          type: string
          const: go_forward
          title: Type
          default: go_forward
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: Go forward to the next page (in current tab)
      type: object
      title: GoForwardAction
    ReloadAction:
      properties:
        type:
          type: string
          const: reload
          title: Type
          default: reload
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: Reload the current page
      type: object
      title: ReloadAction
    WaitAction:
      properties:
        type:
          type: string
          const: wait
          title: Type
          default: wait
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: Wait for a given amount of time (in milliseconds)
        time_ms:
          type: integer
          maximum: 30000
          minimum: 0
          title: Time Ms
          description: The amount of time to wait in milliseconds (max 30 seconds)
      type: object
      required:
        - time_ms
      title: WaitAction
    PressKeyAction:
      properties:
        type:
          type: string
          const: press_key
          title: Type
          default: press_key
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: >-
            Press a keyboard key: e.g. 'Enter', 'Backspace', 'Insert', 'Delete',
            etc.
        key:
          type: string
          title: Key
      type: object
      required:
        - key
      title: PressKeyAction
    ScrollUpAction:
      properties:
        type:
          type: string
          const: scroll_up
          title: Type
          default: scroll_up
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: >-
            Scroll up by a given amount of pixels. Use `null` for scrolling up
            one page
        amount:
          anyOf:
            - type: integer
            - type: 'null'
          title: Amount
      type: object
      title: ScrollUpAction
    ScrollDownAction:
      properties:
        type:
          type: string
          const: scroll_down
          title: Type
          default: scroll_down
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: >-
            Scroll down by a given amount of pixels. Use `null` for scrolling
            down one page
        amount:
          anyOf:
            - type: integer
            - type: 'null'
          title: Amount
      type: object
      title: ScrollDownAction
    CaptchaSolveAction:
      properties:
        type:
          type: string
          const: captcha_solve
          title: Type
          default: captcha_solve
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: >-
            Solve a CAPTCHA challenge on the current page. CRITICAL: Use this
            action as soon as you notice a captcha
        captcha_type:
          anyOf:
            - type: string
              enum:
                - recaptcha
                - hcaptcha
                - image
                - text
                - auth0
                - cloudflare
                - datadome
                - arkose labs
                - geetest
                - press&hold
                - unknown
            - type: 'null'
          title: Captcha Type
      type: object
      title: CaptchaSolveAction
    HelpAction:
      properties:
        type:
          type: string
          const: help
          title: Type
          default: help
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: Ask for clarification
        reason:
          type: string
          title: Reason
      type: object
      required:
        - reason
      title: HelpAction
    CompletionAction:
      properties:
        type:
          type: string
          const: completion
          title: Type
          default: completion
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: >-
            Complete the task by returning the answer and terminate the browser
            session
        success:
          type: boolean
          title: Success
        answer:
          type: string
          title: Answer
      type: object
      required:
        - success
        - answer
      title: CompletionAction
    ScrapeAction:
      properties:
        type:
          type: string
          const: scrape
          title: Type
          default: scrape
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: >-
            Scrape the current page data in text format. If `instructions` is
            null then the whole page will be scraped. Otherwise, only the data
            that matches the instructions will be scraped. Instructions should
            be given as natural language, e.g. 'Extract the title and the price
            of the product'
        instructions:
          anyOf:
            - type: string
            - type: 'null'
          title: Instructions
        only_main_content:
          type: boolean
          title: Only Main Content
          description: >-
            Whether to only scrape the main content of the page. If True,
            navbars, footers, etc. are excluded.
          default: true
        selector:
          anyOf:
            - type: string
            - type: 'null'
          title: Selector
          description: >-
            Playwright selector to scope the scrape to. Only content inside this
            selector will be scraped.
        only_images:
          type: boolean
          title: Only Images
          description: >-
            Whether to only scrape images from the page. If True, the page
            content is excluded.
          default: false
        scrape_links:
          type: boolean
          title: Scrape Links
          description: Whether to scrape links from the page. Links are scraped by default.
          default: true
        scrape_images:
          type: boolean
          title: Scrape Images
          description: Whether to scrape images from the page.
          default: false
        ignored_tags:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Ignored Tags
          description: HTML tags to ignore from the page.
        response_format:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Response Format
          description: >-
            JSON schema dict for structured output. Agent can provide a schema
            to extract structured data.
      type: object
      title: ScrapeAction
    EmailReadAction:
      properties:
        type:
          type: string
          const: email_read
          title: Type
          default: email_read
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: Read recent emails from the mailbox.
        limit:
          type: integer
          title: Limit
          description: Max number of emails to return
          default: 10
        timedelta:
          anyOf:
            - type: string
              format: duration
            - type: 'null'
          title: Timedelta
          description: Return only emails that are not older than `timedelta`
          default: PT5M
        only_unread:
          type: boolean
          title: Only Unread
          description: Return only previously unread emails
          default: true
      type: object
      title: EmailReadAction
    SmsReadAction:
      properties:
        type:
          type: string
          const: sms_read
          title: Type
          default: sms_read
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: Read sms messages received recently.
        limit:
          type: integer
          title: Limit
          description: Max number of sms to return
          default: 10
        timedelta:
          anyOf:
            - type: string
              format: duration
            - type: 'null'
          title: Timedelta
          description: Return only sms that are not older than `timedelta`
          default: PT5M
        only_unread:
          type: boolean
          title: Only Unread
          description: Return only previously unread sms
          default: true
      type: object
      title: SmsReadAction
    EvaluateJsAction:
      properties:
        type:
          type: string
          const: evaluate_js
          title: Type
          default: evaluate_js
        category:
          type: string
          title: Category
          default: Special Browser Actions
        description:
          type: string
          title: Description
          default: >-
            Evaluate JavaScript code on the current page and return the result.
            For simple cases, provide a single expression (e.g.
            `document.title`). For multi-statement code, wrap in an IIFE: `(()
            => { ...; return result; })()`
        code:
          type: string
          title: Code
          description: >-
            The JavaScript code to evaluate on the page. Use a single expression
            or an IIFE for multi-statement code.
      type: object
      required:
        - code
      title: EvaluateJsAction
    NodeSelectors:
      properties:
        css_selector:
          type: string
          title: Css Selector
        xpath_selector:
          type: string
          title: Xpath Selector
        in_iframe:
          type: boolean
          title: In Iframe
        in_shadow_root:
          type: boolean
          title: In Shadow Root
        notte_selector:
          anyOf:
            - type: string
            - type: 'null'
          title: Notte Selector
        iframe_parent_css_selectors:
          items:
            type: string
          type: array
          title: Iframe Parent Css Selectors
        playwright_selector:
          anyOf:
            - type: string
            - type: 'null'
          title: Playwright Selector
        python_selector:
          anyOf:
            - type: string
            - type: 'null'
          title: Python Selector
      type: object
      required:
        - css_selector
        - xpath_selector
        - in_iframe
        - in_shadow_root
        - iframe_parent_css_selectors
      title: NodeSelectors
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: token

````