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

# ApiSessionStartRequest

<Tip>
  STOP. Do not read past this section until you have read and followed [/quickstart.md](/quickstart.md).

  Goal: produce a reliable SDK automation script. The intended authoring flow is generate then edit, not write browser automation from scratch.

  Do not hand-write SDK code with element IDs, selectors, or form fields from memory. Element IDs, selectors, and field mappings must come from a live `observe()` call, CLI `notte page observe` output, or generated workflow code. Guessed browser targets fail on real pages.

  Use the Notte skill and CLI to inspect the live site, validate actions/selectors, handle auth/session state, and export workflow code with `notte sessions workflow-code` before using SDK docs or SDK code.

  SDK reference pages are for understanding, running, or editing generated workflow code. They are not the starting point for manually authoring the initial browser automation. SDK-first code is guesswork on real-world pages with dynamic selectors, auth state, CAPTCHAs, and anti-bot behavior.
</Tip>

[Source: node-sdk/src/lib/client/types.gen.ts](https://github.com/nottelabs/notte/blob/main/node-sdk/src/lib/client/types.gen.ts#L423)

```typescript theme={null}
export type ApiSessionStartRequest = {
    /**
     * Solve Captchas
     *
     * Whether to try to automatically solve captchas
     */
    solve_captchas?: boolean;
    /**
     * Max Duration Minutes
     *
     * Maximum session lifetime in minutes (absolute maximum, not affected by activity).
     */
    max_duration_minutes?: number;
    /**
     * Idle Timeout Minutes
     *
     * Idle timeout in minutes. Session closes after this period of inactivity (resets on each operation).
     */
    idle_timeout_minutes?: number;
    /**
     * Proxies
     *
     * List of custom proxies to use for the session. If True, the default proxies will be used.
     */
    proxies?: Array<NotteProxy | ExternalProxy | TailnetProxy> | boolean;
    /**
     * Browser Type
     *
     * The browser type to use. Supported values are chromium and chrome. chrome-nightly and chrome-turbo are legacy aliases for chrome.
     */
    browser_type?: 'chromium' | 'chrome' | 'chrome-nightly' | 'chrome-turbo';
    /**
     * User Agent
     *
     * The user agent to use for the session
     */
    user_agent?: string | null;
    /**
     * Chrome Args
     *
     * Overwrite the chrome instance arguments
     */
    chrome_args?: Array<string> | null;
    /**
     * Viewport Width
     *
     * The width of the viewport
     */
    viewport_width?: number | null;
    /**
     * Viewport Height
     *
     * The height of the viewport
     */
    viewport_height?: number | null;
    /**
     * Aspect Ratio
     *
     * Viewport shape preset. When set, the backend fits the largest rectangle of this aspect ratio inside the sampled available screen area. Cannot be combined with explicit viewport_width/viewport_height.
     */
    aspect_ratio?: '5:4' | '16:9' | null;
    /**
     * Cdp Url
     *
     * The CDP URL of another remote session provider.
     */
    cdp_url?: string | null;
    /**
     * Screenshot Type
     *
     * The type of screenshot to use for the session.
     */
    screenshot_type?: 'raw' | 'full' | 'last_action';
    /**
     * Browser profile configuration for state persistence
     */
    profile?: SessionProfile | null;
    /**
     * Web Bot Auth
     *
     * Whether to use web bot authentication.
     */
    web_bot_auth?: boolean;
    /**
     * Extra Http Headers
     *
     * Extra HTTP headers to be sent with every request.
     */
    extra_http_headers?: {
        [key: string]: string;
    } | null;
    /**
     * Vault Id
     *
     * The vault to use for the session
     */
    vault_id?: string | null;
    /**
     * Auth Ids
     *
     * Managed Auth connection IDs to verify and, when necessary, authenticate inside this session. Authentication finishes before the session is returned unless wait_for_authentication is false.
     */
    auth_ids?: Array<string>;
    /**
     * Wait For Authentication
     *
     * Whether to wait for Managed Auth profile restoration and authentication before returning the session. When false, authentication continues in the background after the browser is ready.
     */
    wait_for_authentication?: boolean;
    /**
     * Advanced Stealth
     *
     * Enable Notte's highest-fidelity browser environment for sites with sophisticated bot detection. Available to approved workspaces.
     */
    advanced_stealth?: boolean;
    /**
     * Demonstrate
     *
     * Whether to enable the Notte recorder extension for this session. The extension is installed but remains inactive when this is false.
     */
    demonstrate?: boolean;
};
```

## Fields

<ParamField body="solve_captchas" type={"boolean | undefined"}>
  Whether to try to automatically solve captchas
</ParamField>

<ParamField body="max_duration_minutes" type={"number | undefined"}>
  Maximum session lifetime in minutes (absolute maximum, not affected by activity).
</ParamField>

<ParamField body="idle_timeout_minutes" type={"number | undefined"}>
  Idle timeout in minutes. Session closes after this period of inactivity (resets on each operation).
</ParamField>

<ParamField body="proxies" type={"boolean | (NotteProxy | ExternalProxy | TailnetProxy)[] | undefined"}>
  List of custom proxies to use for the session. If True, the default proxies will be used.
</ParamField>

<ParamField body="browser_type" type={"\"chromium\" | \"chrome\" | \"chrome-nightly\" | \"chrome-turbo\" | undefined"}>
  The browser type to use. Supported values are chromium and chrome. chrome-nightly and chrome-turbo are legacy aliases for chrome.
</ParamField>

<ParamField body="user_agent" type={"string | null | undefined"}>
  The user agent to use for the session
</ParamField>

<ParamField body="chrome_args" type={"string[] | null | undefined"}>
  Overwrite the chrome instance arguments
</ParamField>

<ParamField body="viewport_width" type={"number | null | undefined"}>
  The width of the viewport
</ParamField>

<ParamField body="viewport_height" type={"number | null | undefined"}>
  The height of the viewport
</ParamField>

<ParamField body="aspect_ratio" type={"\"5:4\" | \"16:9\" | null | undefined"}>
  Viewport shape preset. When set, the backend fits the largest rectangle of this aspect ratio inside the sampled available screen area. Cannot be combined with explicit viewport\_width/viewport\_height.
</ParamField>

<ParamField body="cdp_url" type={"string | null | undefined"}>
  The CDP URL of another remote session provider.
</ParamField>

<ParamField body="screenshot_type" type={"\"raw\" | \"full\" | \"last_action\" | undefined"}>
  The type of screenshot to use for the session.
</ParamField>

<ParamField body="profile" type={"SessionProfile | null | undefined"}>
  Browser profile configuration for state persistence
</ParamField>

<ParamField body="web_bot_auth" type={"boolean | undefined"}>
  Whether to use web bot authentication.
</ParamField>

<ParamField body="extra_http_headers" type={"{ [key: string]: string; } | null | undefined"}>
  Extra HTTP headers to be sent with every request.
</ParamField>

<ParamField body="vault_id" type={"string | null | undefined"}>
  The vault to use for the session
</ParamField>

<ParamField body="auth_ids" type={"string[] | undefined"}>
  Managed Auth connection IDs to verify and, when necessary, authenticate inside this session. Authentication finishes before the session is returned unless wait\_for\_authentication is false.
</ParamField>

<ParamField body="wait_for_authentication" type={"boolean | undefined"}>
  Whether to wait for Managed Auth profile restoration and authentication before returning the session. When false, authentication continues in the background after the browser is ready.
</ParamField>

<ParamField body="advanced_stealth" type={"boolean | undefined"}>
  Enable Notte's highest-fidelity browser environment for sites with sophisticated bot detection. Available to approved workspaces.
</ParamField>

<ParamField body="demonstrate" type={"boolean | undefined"}>
  Whether to enable the Notte recorder extension for this session. The extension is installed but remains inactive when this is false.
</ParamField>

## Related types

* [ExternalProxy](/typescript-sdk-reference/types/externalproxy)
* [NotteProxy](/typescript-sdk-reference/types/notteproxy)
* [SessionProfile](/typescript-sdk-reference/types/sessionprofile)
* [TailnetProxy](/typescript-sdk-reference/types/tailnetproxy)
