# 319 Cloud 2d7e54ec

> 319 Cloud 2d7e54ec

- Skill: `tools-only/319-cloud-2d7e54ec` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add tools-only/319-cloud-2d7e54ec`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tools-only/319-cloud-2d7e54ec/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: tools-only (https://skillmd.com/u/tools-only)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/tools-only/319-cloud-2d7e54ec

---

# Cloud.md
Instructions for AI Agents to assist the user in using Browser Use Cloud

## What is Browser Use Cloud?
Browser Use is a framework for AI Agents that interact with web browsers.
Browser Use Cloud is the fully hosted product made by Browser Use made for users to automate web-based tasks. 
Users submit tasks in the form of prompts (text and optionally files and images) and through API requests, remote browsers and agents are spun up to complete these tasks on-demand. 
Pricing is usage based and adjudicated through an API key system.
Billing, API Key management, live session viewing, task results, account settings, and profile management is done through the Browser Use Cloud web app at https://cloud.browser-use.com/

## Core Concepts:
The key product of Browser Use Cloud is the completion of user tasks.
- A Session is the complete package of infrastructure Browser Use Cloud provides. Sessions are currently limited to 15 minutes of runtime. A session has a Browser running, and users can run Agents in a session to complete tasks. A Session is limited to one and only one Browser, which will be open the entire duration of the Session. Users can run a maximum of one Agent on a Session at a time, which will control the Browser. After one Agent is done, the user can run another within the same Session, limited only by the Session maximum duration.
- A Browser is simply a browser running on Browser Use Cloud infrastructure (a Session). Browsers (as a service) are controllable via CDP url. The user can use an Agent to control a Browser, or can request the CDP url and control the hosted browser with whatever scripts or external automations they desire. However we mainly encourage to control Browsers with Browser Use Agents, as they are optimized to work together. These official Browser Use browsers are forked from chromium, but have a lot of proprietary optimizations made to them so that they are extremely fast and lightweight, untraceable and not detectable as bots, and come preloaded with adblockers and other quality of life. Using Browser Use hosted browsers provides significant performance improvements. 
- An Agent is the collection of tools, prompts, and framework that enables a Large Language Model to interact with a Browser. The Agents goal is to complete a given user Task. The Agent goes through an iterative process of many steps to complete this. For each step, the Agent is given the page state (including a screenshot) of the Browser, and then it calls tools to interact with the Browser. After many steps, the Agent will mark the task as complete, either successfully or unsuccessfully and return a result, which is a block of text and optionally files. After completion, an independent strict judge will examine the Agent's trajectory and give a verdict of true or false on whether the Agent completed its task successfully. The Agent has a lot of settings which can be tuned to improve performance, most importantly the LLM Model used.
- A Model is a Large Language Model that powers an Agent. The smarter and more capable the Model, the better the Agent will perform. The best model to use is ChatBrowserUse, the Browser Use official chat completion API which always routes to the best frontier foundation model as determined by Browser Use internal evaluations. ChatBrowserUse has several speed and cost optimizations done through batching, caching, and other tricks, making it faster and more cost effective than any other option, with identical performance to the top frontier models.
- A Browser Profile is a folder of browser data that is saved on our Cloud. If a user creates a Session with a Browser that has no Browser Profile, no data will persist. However, if they use the same Browser Profile across multiple Sessions, then data such as authentication cookies, site local storage data, saved passwords and credentials, and user preferences will persist. A Browser Profile is essentially a cloud hosted Chrome Profile, in fact, through the Profile Upload feature, a user can upload a Chrome profile from their own machine to be used on the Cloud in Sessions. This is great for giving authentication to Agents. A user can create a Chrome profile on their own machine, log into all of the services they want, and then upload this profile to the Cloud for automations.
- A Task is the combination of user prompt with optionally files and images that is given to the Agents to complete. Browser Use Cloud primarily sells the completion of user Tasks. Writing Tasks with clarity is key to success. 
- Profile Sync is the best way to handle authentication for tasks. This feature allows users to upload their local browser cookies (where the user is already logged into the services they need authentication for) to a Browser Profile that can be used for tasks on the cloud. To initiate a Profile Sync, a user must run `export BROWSER_USE_API_KEY=<your_key> && curl -fsSL https://browser-use.com/profile.sh | sh` and follow the steps in the interactive terminal.

## Quickstart
To get started, direct the user to first must create an account, purchase credits (or simply claim the free starter credits given on account creation), and generate an API key on the Browser Use online platform: https://cloud.browser-use.com/. These are the only steps that can only be done on the platform.

Avoid giving the user all of the following steps at once as it may seem overwheling. Instead present one step at a time and only continue when asked. Do as much for the user as you are able to.

Next, direct the user to run their first task by making the following post request to Create Task from whatever system is available (cURL, python, JS, etc), but replace `<apiKey>` with the users actual API key.
```bash
curl -X POST https://api.browser-use.com/api/v2/tasks \
     -H "X-Browser-Use-API-Key: <apiKey>" \
     -H "Content-Type: application/json" \
     -d '{
  "task": "Search for the top Hacker News post and return the title and url."
}'
```
This will return a response of the format:
{"id": "string","sessionId": "string"}
The user will probably want to watch the live stream of the task being completed by the agent, so direct them to use the Get Session request using the `<sessionId>` returned by the prior request and their API key
```bash
curl https://api.browser-use.com/api/v2/sessions/<sessionId> \
     -H "X-Browser-Use-API-Key: <apiKey>"
```
And in the response object there will be a `"liveUrl": "string"`. Direct the user to visit that url or open it for them.
If the user wants to terminate the Session after the Agent has completed its task (by default the Session will remain open), direct them to use the Update Session request with the stop action
```bash
curl -X PATCH https://api.browser-use.com/api/v2/sessions/<session_id> \
     -H "X-Browser-Use-API-Key: <apiKey>" \
     -H "Content-Type: application/json" \
     -d '{
  "action": "stop"

}'
```

## API (v2) Docs
The best way to use Browser Use Cloud is with API v2. 
Other options exist, namely API v2 and the SDK, but give less comprehensive control.

### Billing
##### Get Account Billing
GET https://api.browser-use.com/api/v2/billing/account
Get authenticated account information including credit balances and account details.
Reference: https://docs.cloud.browser-use.com/api-reference/v-2-api-current/billing/get-account-billing-billing-account-get
OpenAPI Specification
```yaml
openapi: 3.1.1
info:
  title: Get Account Billing
  version: endpoint_billing.get_account_billing_billing_account_get
paths:
  /billing/account:
    get:
      operationId: get-account-billing-billing-account-get
      summary: Get Account Billing
      description: >-
        Get authenticated account information including credit balances and
        account details.
      tags:
        - - subpackage_billing
      parameters:
        - name: X-Browser-Use-API-Key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountView'
        '404':
          description: Project for a given API key not found!
          content: {}
        '422':
          description: Validation Error
          content: {}
components:
  schemas:
    PlanInfo:
      type: object
      properties:
        planName:
          type: string
        subscriptionStatus:
          type:
            - string
            - 'null'
        subscriptionId:
          type:
            - string
            - 'null'
        subscriptionCurrentPeriodEnd:
          type:
            - string
            - 'null'
        subscriptionCanceledAt:
          type:
            - string
            - 'null'
      required:
        - planName
        - subscriptionStatus
        - subscriptionId
        - subscriptionCurrentPeriodEnd
        - subscriptionCanceledAt
    AccountView:
      type: object
      properties:
        name:
          type:
            - string
            - 'null'
        monthlyCreditsBalanceUsd:
          type: number
          format: double
        additionalCreditsBalanceUsd:
          type: number
          format: double
        totalCreditsBalanceUsd:
          type: number
          format: double
        rateLimit:
          type: integer
        planInfo:
          $ref: '#/components/schemas/PlanInfo'
        projectId:
          type: string
          format: uuid
      required:
        - monthlyCreditsBalanceUsd
        - additionalCreditsBalanceUsd
        - totalCreditsBalanceUsd
        - rateLimit
        - planInfo
        - projectId

```

### Tasks

#### List Tasks
GET https://api.browser-use.com/api/v2/tasks
Get paginated list of AI agent tasks with optional filtering by session and status.
Reference: https://docs.cloud.browser-use.com/api-reference/v-2-api-current/tasks/list-tasks-tasks-get
OpenAPI Specification
```yaml
openapi: 3.1.1
info:
  title: List Tasks
  version: endpoint_tasks.list_tasks_tasks_get
paths:
  /tasks:
    get:
      operationId: list-tasks-tasks-get
      summary: List Tasks
      description: >-
        Get paginated list of AI agent tasks with optional filtering by session
        and status.
      tags:
        - - subpackage_tasks
      parameters:
        - name: pageSize
          in: query
          required: false
          schema:
            type: integer
        - name: pageNumber
          in: query
          required: false
          schema:
            type: integer
        - name: sessionId
          in: query
          required: false
          schema:
            type:
              - string
              - 'null'
            format: uuid
        - name: filterBy
          in: query
          required: false
          schema:
            oneOf:
              - $ref: '#/components/schemas/TaskStatus'
              - type: 'null'
        - name: after
          in: query
          required: false
          schema:
            type:
              - string
              - 'null'
            format: date-time
        - name: before
          in: query
          required: false
          schema:
            type:
              - string
              - 'null'
            format: date-time
        - name: X-Browser-Use-API-Key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskListResponse'
        '422':
          description: Validation Error
          content: {}
components:
  schemas:
    TaskStatus:
      type: string
      enum:
        - value: started
        - value: paused
        - value: finished
        - value: stopped
    TaskItemView:
      type: object
      properties:
        id:
          type: string
          format: uuid
        sessionId:
          type: string
          format: uuid
        llm:
          type: string
        task:
          type: string
        status:
          $ref: '#/components/schemas/TaskStatus'
        startedAt:
          type: string
          format: date-time
        finishedAt:
          type:
            - string
            - 'null'
          format: date-time
        metadata:
          type: object
          additionalProperties:
            description: Any type
        output:
          type:
            - string
            - 'null'
        browserUseVersion:
          type:
            - string
            - 'null'
        isSuccess:
          type:
            - boolean
            - 'null'
      required:
        - id
        - sessionId
        - llm
        - task
        - status
        - startedAt
    TaskListResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/TaskItemView'
        totalItems:
          type: integer
        pageNumber:
          type: integer
        pageSize:
          type: integer
      required:
        - items
        - totalItems
        - pageNumber
        - pageSize

```

#### Create Task
POST https://api.browser-use.com/api/v2/tasks
Content-Type: application/json
You can either:
1. Start a new task (auto creates a new simple session)
2. Start a new task in an existing session (you can create a custom session before starting the task and reuse it for follow-up tasks)
Reference: https://docs.cloud.browser-use.com/api-reference/v-2-api-current/tasks/create-task-tasks-post
OpenAPI Specification
```yaml
openapi: 3.1.1
info:
  title: Create Task
  version: endpoint_tasks.create_task_tasks_post
paths:
  /tasks:
    post:
      operationId: create-task-tasks-post
      summary: Create Task
      description: >-
        You can either:

        1. Start a new task (auto creates a new simple session)

        2. Start a new task in an existing session (you can create a custom
        session before starting the task and reuse it for follow-up tasks)
      tags:
        - - subpackage_tasks
      parameters:
        - name: X-Browser-Use-API-Key
          in: header
          required: true
          schema:
            type: string
      responses:
        '202':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskCreatedResponse'
        '400':
          description: Session is stopped or has running task
          content: {}
        '404':
          description: Session not found
          content: {}
        '422':
          description: Request validation failed
          content: {}
        '429':
          description: Too many concurrent active sessions
          content: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTaskRequest'
components:
  schemas:
    SupportedLLMs:
      type: string
      enum:
        - value: browser-use-llm
        - value: gpt-4.1
        - value: gpt-4.1-mini
        - value: o4-mini
        - value: o3
        - value: gemini-2.5-flash
        - value: gemini-2.5-pro
        - value: gemini-flash-latest
        - value: gemini-flash-lite-latest
        - value: claude-sonnet-4-20250514
        - value: gpt-4o
        - value: gpt-4o-mini
        - value: llama-4-maverick-17b-128e-instruct
        - value: claude-3-7-sonnet-20250219
    CreateTaskRequestVision:
      oneOf:
        - type: boolean
        - type: string
          enum:
            - type: stringLiteral
              value: auto
    CreateTaskRequest:
      type: object
      properties:
        task:
          type: string
        llm:
          $ref: '#/components/schemas/SupportedLLMs'
        startUrl:
          type:
            - string
            - 'null'
        maxSteps:
          type: integer
        structuredOutput:
          type:
            - string
            - 'null'
        sessionId:
          type:
            - string
            - 'null'
          format: uuid
        metadata:
          type:
            - object
            - 'null'
          additionalProperties:
            type: string
        secrets:
          type:
            - object
            - 'null'
          additionalProperties:
            type: string
        allowedDomains:
          type:
            - array
            - 'null'
          items:
            type: string
        opVaultId:
          type:
            - string
            - 'null'
        highlightElements:
          type: boolean
        flashMode:
          type: boolean
        thinking:
          type: boolean
        vision:
          $ref: '#/components/schemas/CreateTaskRequestVision'
        systemPromptExtension:
          type: string
      required:
        - task
    TaskCreatedResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        sessionId:
          type: string
          format: uuid
      required:
        - id
        - sessionId

```

#### Get Task
GET https://api.browser-use.com/api/v2/tasks/{task_id}
Get detailed task information including status, progress, steps, and file outputs.
Reference: https://docs.cloud.browser-use.com/api-reference/v-2-api-current/tasks/get-task-tasks-task-id-get
OpenAPI Specification
```yaml
openapi: 3.1.1
info:
  title: Get Task
  version: endpoint_tasks.get_task_tasks__task_id__get
paths:
  /tasks/{task_id}:
    get:
      operationId: get-task-tasks-task-id-get
      summary: Get Task
      description: >-
        Get detailed task information including status, progress, steps, and
        file outputs.
      tags:
        - - subpackage_tasks
      parameters:
        - name: task_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: X-Browser-Use-API-Key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskView'
        '404':
          description: Task not found
          content: {}
        '422':
          description: Validation Error
          content: {}
components:
  schemas:
    TaskStatus:
      type: string
      enum:
        - value: started
        - value: paused
        - value: finished
        - value: stopped
    TaskStepView:
      type: object
      properties:
        number:
          type: integer
        memory:
          type: string
        evaluationPreviousGoal:
          type: string
        nextGoal:
          type: string
        url:
          type: string
        screenshotUrl:
          type:
            - string
            - 'null'
        actions:
          type: array
          items:
            type: string
      required:
        - number
        - memory
        - evaluationPreviousGoal
        - nextGoal
        - url
        - actions
    FileView:
      type: object
      properties:
        id:
          type: string
          format: uuid
        fileName:
          type: string
      required:
        - id
        - fileName
    TaskView:
      type: object
      properties:
        id:
          type: string
          format: uuid
        sessionId:
          type: string
          format: uuid
        llm:
          type: string
        task:
          type: string
        status:
          $ref: '#/components/schemas/TaskStatus'
        startedAt:
          type: string
          format: date-time
        finishedAt:
          type:
            - string
            - 'null'
          format: date-time
        metadata:
          type: object
          additionalProperties:
            description: Any type
        steps:
          type: array
          items:
            $ref: '#/components/schemas/TaskStepView'
        output:
          type:
            - string
            - 'null'
        outputFiles:
          type: array
          items:
            $ref: '#/components/schemas/FileView'
        browserUseVersion:
          type:
            - string
            - 'null'
        isSuccess:
          type:
            - boolean
            - 'null'
      required:
        - id
        - sessionId
        - llm
        - task
        - status
        - startedAt
        - steps
        - outputFiles
```

#### Update Task
PATCH https://api.browser-use.com/api/v2/tasks/{task_id}
Content-Type: application/json
Control task execution with stop, pause, resume, or stop task and session actions.
Reference: https://docs.cloud.browser-use.com/api-reference/v-2-api-current/tasks/update-task-tasks-task-id-patch
OpenAPI Specification
```yaml
openapi: 3.1.1
info:
  title: Update Task
  version: endpoint_tasks.update_task_tasks__task_id__patch
paths:
  /tasks/{task_id}:
    patch:
      operationId: update-task-tasks-task-id-patch
      summary: Update Task
      description: >-
        Control task execution with stop, pause, resume, or stop task and
        session actions.
      tags:
        - - subpackage_tasks
      parameters:
        - name: task_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: X-Browser-Use-API-Key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskView'
        '404':
          description: Task not found
          content: {}
        '422':
          description: Request validation failed
          content: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTaskRequest'
components:
  schemas:
    TaskUpdateAction:
      type: string
      enum:
        - value: stop
        - value: pause
        - value: resume
        - value: stop_task_and_session
    UpdateTaskRequest:
      type: object
      properties:
        action:
          $ref: '#/components/schemas/TaskUpdateAction'
      required:
        - action
    TaskStatus:
      type: string
      enum:
        - value: started
        - value: paused
        - value: finished
        - value: stopped
    TaskStepView:
      type: object
      properties:
        number:
          type: integer
        memory:
          type: string
        evaluationPreviousGoal:
          type: string
        nextGoal:
          type: string
        url:
          type: string
        screenshotUrl:
          type:
            - string
            - 'null'
        actions:
          type: array
          items:
            type: string
      required:
        - number
        - memory
        - evaluationPreviousGoal
        - nextGoal
        - url
        - actions
    FileView:
      type: object
      properties:
        id:
          type: string
          format: uuid
        fileName:
          type: string
      required:
        - id
        - fileName
    TaskView:
      type: object
      properties:
        id:
          type: string
          format: uuid
        sessionId:
          type: string
          format: uuid
        llm:
          type: string
        task:
          type: string
        status:
          $ref: '#/components/schemas/TaskStatus'
        startedAt:
          type: string
          format: date-time
        finishedAt:
          type:
            - string
            - 'null'
          format: date-time
        metadata:
          type: object
          additionalProperties:
            description: Any type
        steps:
          type: array
          items:
            $ref: '#/components/schemas/TaskStepView'
        output:
          type:
            - string
            - 'null'
        outputFiles:
          type: array
          items:
            $ref: '#/components/schemas/FileView'
        browserUseVersion:
          type:
            - string
            - 'null'
        isSuccess:
          type:
            - boolean
            - 'null'
      required:
        - id
        - sessionId
        - llm
        - task
        - status
        - startedAt
        - steps
        - outputFiles
```

#### Get Task Logs
GET https://api.browser-use.com/api/v2/tasks/{task_id}/logs
Get secure download URL for task execution logs with step-by-step details.
Reference: https://docs.cloud.browser-use.com/api-reference/v-2-api-current/tasks/get-task-logs-tasks-task-id-logs-get
OpenAPI Specification
```yaml
openapi: 3.1.1
info:
  title: Get Task Logs
  version: endpoint_tasks.get_task_logs_tasks__task_id__logs_get
paths:
  /tasks/{task_id}/logs:
    get:
      operationId: get-task-logs-tasks-task-id-logs-get
      summary: Get Task Logs
      description: >-
        Get secure download URL for task execution logs with step-by-step
        details.
      tags:
        - - subpackage_tasks
      parameters:
        - name: task_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: X-Browser-Use-API-Key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskLogFileResponse'
        '404':
          description: Task not found
          content: {}
        '422':
          description: Validation Error
          content: {}
        '500':
          description: Failed to generate download URL
          content: {}
components:
  schemas:
    TaskLogFileResponse:
      type: object
      properties:
        downloadUrl:
          type: string
      required:
        - downloadUrl
```

### Sessions

#### List Sessions
GET https://api.browser-use.com/api/v2/sessions
Get paginated list of AI agent sessions with optional status filtering.
Reference: https://docs.cloud.browser-use.com/api-reference/v-2-api-current/sessions/list-sessions-sessions-get
OpenAPI Specification
```yaml
openapi: 3.1.1
info:
  title: List Sessions
  version: endpoint_sessions.list_sessions_sessions_get
paths:
  /sessions:
    get:
      operationId: list-sessions-sessions-get
      summary: List Sessions
      description: Get paginated list of AI agent sessions with optional status filtering.
      tags:
        - - subpackage_sessions
      parameters:
        - name: pageSize
          in: query
          required: false
          schema:
            type: integer
        - name: pageNumber
          in: query
          required: false
          schema:
            type: integer
        - name: filterBy
          in: query
          required: false
          schema:
            oneOf:
              - $ref: '#/components/schemas/SessionStatus'
              - type: 'null'
        - name: X-Browser-Use-API-Key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionListResponse'
        '422':
          description: Validation Error
          content: {}
components:
  schemas:
    SessionStatus:
      type: string
      enum:
        - value: active
        - value: stopped
    SessionItemView:
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          $ref: '#/components/schemas/SessionStatus'
        liveUrl:
          type:
            - string
            - 'null'
        startedAt:
          type: string
          format: date-time
        finishedAt:
          type:
            - string
            - 'null'
          format: date-time
      required:
        - id
        - status
        - startedAt
    SessionListResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/SessionItemView'
        totalItems:
          type: integer
        pageNumber:
          type: integer
        pageSize:
          type: integer
      required:
        - items
        - totalItems
        - pageNumber
        - pageSize
```

#### Create Session
POST https://api.browser-use.com/api/v2/sessions
Content-Type: application/json
Create a new session with a new task.
Reference: https://docs.cloud.browser-use.com/api-reference/v-2-api-current/sessions/create-session-sessions-post
OpenAPI Specification
```yaml
openapi: 3.1.1
info:
  title: Create Session
  version: endpoint_sessions.create_session_sessions_post
paths:
  /sessions:
    post:
      operationId: create-session-sessions-post
      summary: Create Session
      description: Create a new session with a new task.
      tags:
        - - subpackage_sessions
      parameters:
        - name: X-Browser-Use-API-Key
          in: header
          required: true
          schema:
            type: string
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionItemView'
        '404':
          description: Profile not found
          content: {}
        '422':
          description: Request validation failed
          content: {}
        '429':
          description: Too many concurrent active sessions
          content: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSessionRequest'
components:
  schemas:
    ProxyCountryCode:
      type: string
      enum:
        - value: us
        - value: uk
        - value: fr
        - value: it
        - value: jp
        - value: au
        - value: de
        - value: fi
        - value: ca
        - value: in
    CreateSessionRequest:
      type: object
      properties:
        profileId:
          type:
            - string
            - 'null'
          format: uuid
        proxyCountryCode:
          oneOf:
            - $ref: '#/components/schemas/ProxyCountryCode'
            - type: 'null'
        startUrl:
          type:
            - string
            - 'null'
    SessionStatus:
      type: string
      enum:
        - value: active
        - value: stopped
    SessionItemView:
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          $ref: '#/components/schemas/SessionStatus'
        liveUrl:
          type:
            - string
            - 'null'
        startedAt:
          type: string
          format: date-time
        finishedAt:
          type:
            - string
            - 'null'
          format: date-time
      required:
        - id
        - status
        - startedAt
```

#### Get Session
GET https://api.browser-use.com/api/v2/sessions/{session_id}
Get detailed session information including status, URLs, and task details.
Reference: https://docs.cloud.browser-use.com/api-reference/v-2-api-current/sessions/get-session-sessions-session-id-get
OpenAPI Specification
```yaml
openapi: 3.1.1
info:
  title: Get Session
  version: endpoint_sessions.get_session_sessions__session_id__get
paths:
  /sessions/{session_id}:
    get:
      operationId: get-session-sessions-session-id-get
      summary: Get Session
      description: >-
        Get detailed session information including status, URLs, and task
        details.
      tags:
        - - subpackage_sessions
      parameters:
        - name: session_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: X-Browser-Use-API-Key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionView'
        '404':
          description: Session not found
          content: {}
        '422':
          description: Validation Error
          content: {}
components:
  schemas:
    SessionStatus:
      type: string
      enum:
        - value: active
        - value: stopped
    TaskStatus:
      type: string
      enum:
        - value: started
        - value: paused
        - value: finished
        - value: stopped
    TaskItemView:
      type: object
      properties:
        id:
          type: string
          format: uuid
        sessionId:
          type: string
          format: uuid
        llm:
          type: string
        task:
          type: string
        status:
          $ref: '#/components/schemas/TaskStatus'
        startedAt:
          type: string
          format: date-time
        finishedAt:
          type:
            - string
            - 'null'
          format: date-time
        metadata:
          type: object
          additionalProperties:
            description: Any type
        output:
          type:
            - string
            - 'null'
        browserUseVersion:
          type:
            - string
            - 'null'
        isSuccess:
          type:
            - boolean
            - 'null'
      required:
        - id
        - sessionId
        - llm
        - task
        - status
        - startedAt
    SessionView:
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          $ref: '#/components/schemas/SessionStatus'
        liveUrl:
          type:
            - string
            - 'null'
        startedAt:
          type: string
          format: date-time
        finishedAt:
          type:
            - string
            - 'null'
          format: date-time
        tasks:
          type: array
          items:
            $ref: '#/components/schemas/TaskItemView'
        publicShareUrl:
          type:
            - string
            - 'null'
      required:
        - id
        - status
        - startedAt
        - tasks
```

#### Update Session
PATCH https://api.browser-use.com/api/v2/sessions/{session_id}
Content-Type: application/json
Stop a session and all its running tasks.
Reference: https://docs.cloud.browser-use.com/api-reference/v-2-api-current/sessions/update-session-sessions-session-id-patch
OpenAPI Specification
```yaml
openapi: 3.1.1
info:
  title: Update Session
  version: endpoint_sessions.update_session_sessions__session_id__patch
paths:
  /sessions/{session_id}:
    patch:
      operationId: update-session-sessions-session-id-patch
      summary: Update Session
      description: Stop a session and all its running tasks.
      tags:
        - - subpackage_sessions
      parameters:
        - name: session_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: X-Browser-Use-API-Key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionView'
        '404':
          description: Session not found
          content: {}
        '422':
          description: Request validation failed
          content: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSessionRequest'
components:
  schemas:
    SessionUpdateAction:
      type: string
      enum:
        - value: stop
    UpdateSessionRequest:
      type: object
      properties:
        action:
          $ref: '#/components/schemas/SessionUpdateAction'
      required:
        - action
    SessionStatus:
      type: string
      enum:
        - value: active
        - value: stopped
    TaskStatus:
      type: string
      enum:
        - value: started
        - value: paused
        - value: finished
        - value: stopped
    TaskItemView:
      type: object
      properties:
        id:
          type: string
          format: uuid
        sessionId:
          type: string
          format: uuid
        llm:
          type: string
        task:
          type: string
        status:
          $ref: '#/components/schemas/TaskStatus'
        startedAt:
          type: string
          format: date-time
        finishedAt:
          type:
            - string
            - 'null'
          format: date-time
        metadata:
          type: object
          additionalProperties:
            description: Any type
        output:
          type:
            - string
            - 'null'
        browserUseVersion:
          type:
            - string
            - 'null'
        isSuccess:
          type:
            - boolean
            - 'null'
      required:
        - id
        - sessionId
        - llm
        - task
        - status
        - startedAt
    SessionView:
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          $ref: '#/components/schemas/SessionStatus'
        liveUrl:
          type:
            - string
            - 'null'
        startedAt:
          type: string
          format: date-time
        finishedAt:
          type:
            - string
            - 'null'
          format: date-time
        tasks:
          type: array
          items:
            $ref: '#/components/schemas/TaskItemView'
        publicShareUrl:
          type:
            - string
            - 'null'
      required:
        - id
        - status
        - startedAt
        - tasks
```

#### Get Session Public Share
GET https://api.browser-use.com/api/v2/sessions/{session_id}/public-share
Get public share information including URL and usage statistics.
Reference: https://docs.cloud.browser-use.com/api-reference/v-2-api-current/sessions/get-session-public-share-sessions-session-id-public-share-get
OpenAPI Specification
```yaml
openapi: 3.1.1
info:
  title: Get Session Public Share
  version: >-
    endpoint_sessions.get_session_public_share_sessions__session_id__public_share_get
paths:
  /sessions/{session_id}/public-share:
    get:
      operationId: get-session-public-share-sessions-session-id-public-share-get
      summary: Get Session Public Share
      description: Get public share information including URL and usage statistics.
      tags:
        - - subpackage_sessions
      parameters:
        - name: session_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: X-Browser-Use-API-Key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShareView'
        '404':
          description: Session or share not found
          content: {}
        '422':
          description: Validation Error
          content: {}
components:
  schemas:
    ShareView:
      type: object
      properties:
        shareToken:
          type: string
        shareUrl:
          type: string
        viewCount:
          type: integer
        lastViewedAt:
          type:
            - string
            - 'null'
      

…(truncated)
