> ## 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.

# Create



## OpenAPI

````yaml https://api.notte.cc/openapi.json post /data/monitors
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.9.8
  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: audit
    description: Audit trail of account and workspace changes.
  - name: functions
    description: Functions management (create, delete, list, etc.)
paths:
  /data/monitors:
    post:
      tags:
        - Data APIs
        - Data monitors
      summary: Create
      operationId: create
      parameters:
        - 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/CreateMonitor'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response Create Data Monitors Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - OAuth2PasswordBearer: []
      x-codeSamples:
        - lang: Python
          source: |-
            import os

            import requests

            response = requests.post(
                "https://api.notte.cc/data/monitors",
                headers={"Authorization": f"Bearer {os.environ['NOTTE_API_KEY']}"},
                json={
                    "name": "Pricing changes",
                    "target": {"type": "page", "url": "https://www.notion.com/pricing"},
                    "schedule": {"type": "interval", "frequency": 1, "unit": "days"},
                    "webhook": {"url": "https://example.com/webhooks/notte", "events": ["change.detected"]},
                },
                timeout=330,
            )
            response.raise_for_status()
            print(response.json())
          label: python
        - lang: TypeScript
          source: |-
            const response = await fetch("https://api.notte.cc/data/monitors", {
              method: "POST",
              headers: {
                Authorization: `Bearer ${process.env.NOTTE_API_KEY}`,
                "Content-Type": "application/json",
              },
              body: JSON.stringify({
                "name": "Pricing changes",
                "target": {
                  "type": "page",
                  "url": "https://www.notion.com/pricing"
                },
                "schedule": {
                  "type": "interval",
                  "frequency": 1,
                  "unit": "days"
                },
                "webhook": {
                  "url": "https://example.com/webhooks/notte",
                  "events": [
                    "change.detected"
                  ]
                }
              }),
              signal: AbortSignal.timeout(330_000),
            });
            if (!response.ok) throw new Error(await response.text());
            console.log(await response.json());
          label: node
        - lang: Curl
          source: >-
            curl --fail-with-body --max-time 330 --request POST
            https://api.notte.cc/data/monitors \
              --header "Authorization: Bearer $NOTTE_API_KEY" \
              --header 'Content-Type: application/json' \
              --data '{
              "name": "Pricing changes",
              "target": {
                "type": "page",
                "url": "https://www.notion.com/pricing"
              },
              "schedule": {
                "type": "interval",
                "frequency": 1,
                "unit": "days"
              },
              "webhook": {
                "url": "https://example.com/webhooks/notte",
                "events": [
                  "change.detected"
                ]
              }
            }'
          label: curl
components:
  schemas:
    CreateMonitor:
      properties:
        mode:
          type: string
          const: web
          title: Mode
          default: web
        name:
          type: string
          maxLength: 200
          minLength: 1
          title: Name
        target:
          oneOf:
            - $ref: '#/components/schemas/PageTarget'
            - $ref: '#/components/schemas/SitemapTarget'
            - $ref: '#/components/schemas/ExtractTarget'
          title: Target
          discriminator:
            propertyName: type
            mapping:
              extract: '#/components/schemas/ExtractTarget'
              page: '#/components/schemas/PageTarget'
              sitemap: '#/components/schemas/SitemapTarget'
        change_detection:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/ExactDetection'
                - $ref: '#/components/schemas/SemanticDetection'
              discriminator:
                propertyName: type
                mapping:
                  exact: '#/components/schemas/ExactDetection'
                  semantic: '#/components/schemas/SemanticDetection'
            - type: 'null'
          title: Change Detection
        schedule:
          $ref: '#/components/schemas/Interval'
        tags:
          items:
            type: string
            maxLength: 50
            minLength: 1
          type: array
          maxItems: 20
          title: Tags
        webhook:
          anyOf:
            - $ref: '#/components/schemas/Webhook'
            - type: 'null'
      additionalProperties: false
      type: object
      required:
        - name
        - target
      title: CreateMonitor
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PageTarget:
      properties:
        url:
          type: string
          title: Url
        type:
          type: string
          const: page
          title: Type
        instructions:
          anyOf:
            - type: string
              maxLength: 2000
              minLength: 1
            - type: 'null'
          title: Instructions
        normalize_whitespace:
          type: boolean
          title: Normalize Whitespace
          default: true
        include_selectors:
          items:
            type: string
            maxLength: 2048
            minLength: 1
          type: array
          maxItems: 50
          title: Include Selectors
        exclude_selectors:
          items:
            type: string
            maxLength: 2048
            minLength: 1
          type: array
          maxItems: 50
          title: Exclude Selectors
        actions:
          anyOf:
            - items:
                oneOf:
                  - $ref: >-
                      #/components/schemas/notte_api__data_apis__monitors__models__WaitAction
                  - $ref: '#/components/schemas/PerformAction'
                  - $ref: '#/components/schemas/ScrollAction'
                discriminator:
                  propertyName: do
                  mapping:
                    perform: '#/components/schemas/PerformAction'
                    scroll: '#/components/schemas/ScrollAction'
                    wait: >-
                      #/components/schemas/notte_api__data_apis__monitors__models__WaitAction
              type: array
              maxItems: 5
            - type: 'null'
          title: Actions
      additionalProperties: false
      type: object
      required:
        - url
        - type
      title: PageTarget
    SitemapTarget:
      properties:
        url:
          type: string
          title: Url
        type:
          type: string
          const: sitemap
          title: Type
        include:
          items:
            type: string
            maxLength: 200
            minLength: 1
          type: array
          maxItems: 50
          title: Include
        exclude:
          items:
            type: string
            maxLength: 200
            minLength: 1
          type: array
          maxItems: 50
          title: Exclude
        max_urls:
          type: integer
          maximum: 10000
          minimum: 1
          title: Max Urls
          default: 5000
      additionalProperties: false
      type: object
      required:
        - url
        - type
      title: SitemapTarget
    ExtractTarget:
      properties:
        url:
          type: string
          title: Url
        type:
          type: string
          const: extract
          title: Type
        instructions:
          type: string
          maxLength: 2000
          minLength: 1
          title: Instructions
        schema:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Schema
        max_pages:
          type: integer
          maximum: 50
          minimum: 1
          title: Max Pages
          default: 10
        max_depth:
          anyOf:
            - type: integer
              maximum: 10
              minimum: 0
            - type: 'null'
          title: Max Depth
        follow_subdomains:
          type: boolean
          title: Follow Subdomains
          default: false
      additionalProperties: false
      type: object
      required:
        - url
        - type
        - instructions
      title: ExtractTarget
    ExactDetection:
      properties:
        type:
          type: string
          const: exact
          title: Type
      additionalProperties: false
      type: object
      required:
        - type
      title: ExactDetection
    SemanticDetection:
      properties:
        type:
          type: string
          const: semantic
          title: Type
        confidence_threshold:
          type: number
          maximum: 1
          minimum: 0
          title: Confidence Threshold
          default: 0.75
      additionalProperties: false
      type: object
      required:
        - type
      title: SemanticDetection
    Interval:
      properties:
        type:
          type: string
          const: interval
          title: Type
          default: interval
        frequency:
          type: integer
          maximum: 525600
          minimum: 1
          title: Frequency
          default: 1
        unit:
          type: string
          enum:
            - minutes
            - hours
            - days
          title: Unit
          default: days
      additionalProperties: false
      type: object
      title: Interval
    Webhook:
      properties:
        url:
          type: string
          title: Url
        events:
          items:
            type: string
            enum:
              - change.detected
              - run.completed
          type: array
          maxItems: 2
          minItems: 1
          title: Events
        retry:
          anyOf:
            - $ref: '#/components/schemas/Retry'
            - type: 'null'
      additionalProperties: false
      type: object
      required:
        - url
      title: Webhook
    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
    notte_api__data_apis__monitors__models__WaitAction:
      properties:
        do:
          type: string
          const: wait
          title: Do
        timeMs:
          type: integer
          maximum: 30000
          minimum: 0
          title: Timems
      additionalProperties: false
      type: object
      required:
        - do
        - timeMs
      title: WaitAction
    PerformAction:
      properties:
        do:
          type: string
          const: perform
          title: Do
        action:
          type: string
          maxLength: 500
          minLength: 1
          title: Action
      additionalProperties: false
      type: object
      required:
        - do
        - action
      title: PerformAction
    ScrollAction:
      properties:
        do:
          type: string
          const: scroll
          title: Do
        direction:
          type: string
          enum:
            - up
            - down
            - left
            - right
          title: Direction
          default: down
        amount:
          anyOf:
            - type: integer
              maximum: 100000
              minimum: 1
            - type: string
              enum:
                - viewport
                - max
          title: Amount
          default: viewport
        container:
          anyOf:
            - type: string
              maxLength: 2000
              minLength: 1
            - type: 'null'
          title: Container
        maxScrolls:
          type: integer
          maximum: 50
          minimum: 1
          title: Maxscrolls
          default: 1
      additionalProperties: false
      type: object
      required:
        - do
      title: ScrollAction
    Retry:
      properties:
        delays_seconds:
          items:
            type: integer
            maximum: 86400
            minimum: 1
          type: array
          maxItems: 10
          title: Delays Seconds
      additionalProperties: false
      type: object
      title: Retry
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: token

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.