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

# SessionResponse

<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#L4803)

```typescript theme={null}
export type SessionResponse = {
    /**
     * Session Id
     *
     * The ID of the session (created or existing). Use this ID to interact with the session for the next operation.
     */
    session_id: string;
    /**
     * Idle Timeout Minutes
     *
     * Session idle timeout in minutes. Will timeout if now() > last access time + idle_timeout_minutes
     */
    idle_timeout_minutes: number;
    /**
     * Max Duration Minutes
     *
     * Session max duration in minutes. Will timeout if now() > creation time + max_duration_minutes
     */
    max_duration_minutes?: number;
    /**
     * Created At
     *
     * Session creation time
     */
    created_at: string;
    /**
     * Closed At
     *
     * Session closing time
     */
    closed_at?: string | null;
    /**
     * Last Accessed At
     *
     * Last access time
     */
    last_accessed_at: string;
    /**
     * Duration
     *
     * Session duration
     */
    duration?: string;
    /**
     * Status
     *
     * Session status
     */
    status: 'active' | 'closed' | 'error' | 'timed_out';
    /**
     * Close Reason
     *
     * Reason the session closed, if it is no longer active
     */
    close_reason?: 'manual' | 'idle_timeout' | 'max_duration' | 'error' | 'unknown' | null;
    /**
     * Steps
     *
     * Steps of the session
     */
    steps?: Array<{
        [key: string]: unknown;
    }>;
    /**
     * Error
     *
     * Error message if the operation failed to complete
     */
    error?: string | null;
    /**
     * Proxies
     *
     * Whether proxies were used for the session. True if any proxy was applied during session creation.
     */
    proxies?: boolean;
    /**
     * Browser Type
     */
    browser_type?: 'chromium' | 'chrome' | 'firefox' | 'chrome-nightly' | 'chrome-turbo';
    /**
     * Network Request Bytes
     *
     * Total byte usage for network requests.
     */
    network_request_bytes?: number;
    /**
     * Network Response Bytes
     *
     * Total byte usage for network responses.
     */
    network_response_bytes?: number;
    /**
     * User Agent
     *
     * The user agent to use for the session
     */
    user_agent?: string | null;
    /**
     * Viewport Width
     *
     * The width of the viewport
     */
    viewport_width?: number | null;
    /**
     * Viewport Height
     *
     * The height of the viewport
     */
    viewport_height?: number | null;
    /**
     * Solve Captchas
     *
     * Whether to solve captchas.
     */
    solve_captchas?: boolean | null;
    /**
     * Cdp Url
     *
     * The URL to connect to the CDP server.
     */
    cdp_url?: string | null;
    /**
     * Viewer Url
     *
     * The remote session viewer URL.
     */
    viewer_url?: string | null;
    /**
     * Web Bot Auth
     *
     * Whether to use web bot authentication.
     */
    web_bot_auth?: boolean;
    /**
     * Auth Ids
     *
     * Managed Auth connection IDs attached to this session.
     */
    auth_ids?: Array<string>;
    /**
     * System Hidden
     *
     * Whether this session is an internal system run. Internal system runs are omitted from session.list() unless include_system=True is requested.
     */
    system_hidden?: boolean;
    /**
     * Timeout Minutes
     *
     * @deprecated
     */
    readonly timeout_minutes: number;
    [key: string]: unknown;
};
```

## Fields

<ParamField body="session_id" type={"string"} required>
  The ID of the session (created or existing). Use this ID to interact with the session for the next operation.
</ParamField>

<ParamField body="idle_timeout_minutes" type={"number"} required>
  Session idle timeout in minutes. Will timeout if now() > last access time + idle\_timeout\_minutes
</ParamField>

<ParamField body="max_duration_minutes" type={"number | undefined"}>
  Session max duration in minutes. Will timeout if now() > creation time + max\_duration\_minutes
</ParamField>

<ParamField body="created_at" type={"string"} required>
  Session creation time
</ParamField>

<ParamField body="closed_at" type={"string | null | undefined"}>
  Session closing time
</ParamField>

<ParamField body="last_accessed_at" type={"string"} required>
  Last access time
</ParamField>

<ParamField body="duration" type={"string | undefined"}>
  Session duration
</ParamField>

<ParamField body="status" type={"\"active\" | \"closed\" | \"error\" | \"timed_out\""} required>
  Session status
</ParamField>

<ParamField body="close_reason" type={"\"unknown\" | \"error\" | \"manual\" | \"idle_timeout\" | \"max_duration\" | null | undefined"}>
  Reason the session closed, if it is no longer active
</ParamField>

<ParamField body="steps" type={"{ [key: string]: unknown; }[] | undefined"}>
  Steps of the session
</ParamField>

<ParamField body="error" type={"string | null | undefined"}>
  Error message if the operation failed to complete
</ParamField>

<ParamField body="proxies" type={"boolean | undefined"}>
  Whether proxies were used for the session. True if any proxy was applied during session creation.
</ParamField>

<ParamField body="browser_type" type={"\"chromium\" | \"chrome\" | \"chrome-nightly\" | \"chrome-turbo\" | \"firefox\" | undefined"} />

<ParamField body="network_request_bytes" type={"number | undefined"}>
  Total byte usage for network requests.
</ParamField>

<ParamField body="network_response_bytes" type={"number | undefined"}>
  Total byte usage for network responses.
</ParamField>

<ParamField body="user_agent" type={"string | null | undefined"}>
  The user agent to use for the session
</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="solve_captchas" type={"boolean | null | undefined"}>
  Whether to solve captchas.
</ParamField>

<ParamField body="cdp_url" type={"string | null | undefined"}>
  The URL to connect to the CDP server.
</ParamField>

<ParamField body="viewer_url" type={"string | null | undefined"}>
  The remote session viewer URL.
</ParamField>

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

<ParamField body="auth_ids" type={"string[] | undefined"}>
  Managed Auth connection IDs attached to this session.
</ParamField>

<ParamField body="system_hidden" type={"boolean | undefined"}>
  Whether this session is an internal system run. Internal system runs are omitted from session.list() unless include\_system=True is requested.
</ParamField>

<ParamField body="timeout_minutes" type={"number"} required>
  **deprecated:**
</ParamField>
