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

# Agent Start



## OpenAPI

````yaml https://api.notte.cc/openapi.json post /agents/start
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:
  /agents/start:
    post:
      tags:
        - agents
      summary: Agent Start
      operationId: agent_start
      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/ApiAgentStartRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - OAuth2PasswordBearer: []
      x-codeSamples:
        - lang: Python
          source: |-
            from notte_sdk import NotteClient

            notte = NotteClient()
            task = "find a cute dog on google images"

            with notte.Session() as session:
                agent = notte.Agent(session=session, max_steps=5)
                # this runs the agent and waits for completion
                full_response = agent.run(task=task)
                print(f"{full_response.success=}, {full_response.answer=}")
          label: python
        - lang: JavaScript
          source: |-
            import { NotteClient } from "notte-sdk";

            const notte = new NotteClient();
            const task = "find a cute dog on google images";

            await notte.Session().use(async (session) => {
              const agent = notte.Agent({ session, max_steps: 5 });
              // this runs the agent and waits for completion
              const response = await agent.run({ task });
              console.log(`success=${response.success}, answer=${response.answer}`);
            });
          label: node
        - lang: Curl
          source: |-
            curl -X POST "https://api.notte.cc/agents/start" \
            -H "Authorization: Bearer $NOTTE_API_KEY" \
            -H "Content-Type: application/json" \
            -d '{
            "task": "task",
            "url": null,
            "response_format": null,
            "session_offset": null,
            "reasoning_model": "vertex_ai/gemini-2.5-flash",
            "use_vision": true,
            "max_steps": 20,
            "vault_id": null,
            "persona_id": null,
            "notifier_config": null,
            "session_id": "<session_id>"
            }'
          label: curl
components:
  schemas:
    ApiAgentStartRequest:
      properties:
        task:
          type: string
          title: Task
          description: The task that the agent should perform
        url:
          anyOf:
            - type: string
            - type: 'null'
          title: Url
          description: The URL that the agent should start on (optional)
        response_format:
          anyOf:
            - {}
            - type: 'null'
          title: Response Format
          description: >-
            The response format to use for the agent answer. You can use a
            Pydantic model or a JSON Schema dict (cf.
            https://docs.pydantic.dev/latest/concepts/json_schema/#generating-json-schema.)
        session_offset:
          anyOf:
            - type: integer
            - type: 'null'
          title: Session Offset
          description: >-
            [Experimental] The step from which the agent should gather
            information from in the session. If none, fresh memory
        reasoning_model:
          anyOf:
            - $ref: '#/components/schemas/LlmModel'
            - type: string
          title: Reasoning Model
          description: The reasoning model to use
        use_vision:
          type: boolean
          title: Use Vision
          description: >-
            Whether to use vision for the agent. Not all reasoning models
            support vision.
          default: true
        max_steps:
          type: integer
          maximum: 150
          minimum: 1
          title: Max Steps
          description: The maximum number of steps the agent should take
          default: 20
        vault_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Vault Id
          description: The vault to use for the agent
        persona_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Persona Id
          description: The persona to use for the agent
        notifier_config:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Notifier Config
          description: Config used for the notifier
        session_id:
          type: string
          title: Session Id
          description: The ID of the session to run the agent on
      additionalProperties: false
      type: object
      required:
        - task
        - session_id
      title: ApiAgentStartRequest
    AgentResponse:
      properties:
        agent_id:
          type: string
          title: Agent Id
          description: The ID of the agent
        created_at:
          type: string
          format: date-time
          title: Created At
          description: The creation time of the agent
        session_id:
          type: string
          title: Session Id
          description: The ID of the session
        status:
          $ref: '#/components/schemas/AgentStatus'
          description: The status of the agent (active or closed)
        closed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Closed At
          description: The closing time of the agent
        saved:
          type: boolean
          title: Saved
          description: Whether the agent is saved as a workflow
          default: false
      type: object
      required:
        - agent_id
        - created_at
        - session_id
        - status
      title: AgentResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    LlmModel:
      type: string
      enum:
        - openai/gpt-4o
        - gemini/gemini-2.5-flash
        - vertex_ai/gemini-2.5-flash
        - openrouter/google/gemma-3-27b-it
        - cerebras/gpt-oss-120b
        - groq/gpt-oss-120b
        - perplexity/sonar-pro
        - deepseek/deepseek-r1
        - together_ai/meta-llama/llama-3.3-70b-instruct
        - anthropic/claude-sonnet-4-5-20250929
        - moonshot/kimi-k2.5
        - xai/grok-4-1-fast-non-reasoning
        - minimax/minimax-m2.5
      title: LlmModel
    AgentStatus:
      type: string
      enum:
        - active
        - closed
      title: AgentStatus
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: token

````