> ## Documentation Index
> Fetch the complete documentation index at: https://tbd-6fc993ce-hypeship-document-audit-logs-api.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Execute a batch of computer actions sequentially

> Send an array of computer actions to execute in order on the browser instance.
Execution stops on the first error. This reduces network latency compared to
sending individual action requests.




## OpenAPI

````yaml https://app.stainless.com/api/spec/documented/kernel/openapi.documented.yml post /browsers/{id}/computer/batch
openapi: 3.1.0
info:
  title: Kernel API
  description: Developer tools and cloud infrastructure for AI agents to use web browsers
  version: 0.1.0
servers:
  - url: https://api.onkernel.com
    description: API Server
security:
  - bearerAuth: []
tags:
  - name: Browsers
    description: Create and manage browser sessions.
  - name: Browser Computer Controls
    description: Control mouse, keyboard, and screen on the browser instance.
  - name: Browser Playwright
    description: Execute Playwright code against the browser instance.
  - name: Browser Filesystem
    description: Read, write, and manage files on the browser instance.
  - name: Browser Processes
    description: Execute and manage processes on the browser instance.
  - name: Browser Replays
    description: Record and manage browser session video replays.
  - name: Browser Logs
    description: Stream logs from the browser instance.
  - name: Browser Telemetry
    description: Stream live telemetry events from a browser session.
  - name: Profiles
    description: Create, list, retrieve, and delete browser profiles.
  - name: Proxies
    description: Create and manage proxy configurations for routing browser traffic.
  - name: Extensions
    description: Create, list, retrieve, and delete browser extensions.
  - name: Browser Pools
    description: Create and manage browser pools for acquiring and releasing browsers.
  - name: Managed Auth
    description: >-
      Create and manage auth connections for automated credential capture and
      login.
  - name: Credentials
    description: Create and manage credentials for authentication.
  - name: Credential Providers
    description: Configure external credential providers like 1Password.
  - name: Apps
    description: List applications and versions.
  - name: Deployments
    description: Create and manage app deployments and stream deployment events.
  - name: Invocations
    description: Invoke actions and stream or query invocation status and events.
  - name: Organization
    description: Read and manage organization-level limits.
  - name: Projects
    description: Create and manage projects for resource isolation within an organization.
  - name: API Keys
    description: Create and manage API keys for organization and project-scoped access.
  - name: Audit Logs
    description: Read audit log records for the authenticated organization.
paths:
  /browsers/{id}/computer/batch:
    post:
      tags:
        - Browser Computer Controls
      summary: Execute a batch of computer actions sequentially
      description: >
        Send an array of computer actions to execute in order on the browser
        instance.

        Execution stops on the first error. This reduces network latency
        compared to

        sending individual action requests.
      operationId: batchComputerAction
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: Browser session ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchComputerActionRequest'
      responses:
        '200':
          description: All actions executed successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import Kernel from '@onkernel/sdk';


            const client = new Kernel({
              apiKey: process.env['KERNEL_API_KEY'], // This is the default and can be omitted
            });


            await client.browsers.computer.batch('id', { actions: [{ type:
            'click_mouse' }] });
        - lang: Python
          source: |-
            import os
            from kernel import Kernel

            client = Kernel(
                api_key=os.environ.get("KERNEL_API_KEY"),  # This is the default and can be omitted
            )
            client.browsers.computer.batch(
                id="id",
                actions=[{
                    "type": "click_mouse"
                }],
            )
        - lang: Go
          source: "package main\n\nimport (\n\t\"context\"\n\n\t\"github.com/kernel/kernel-go-sdk\"\n\t\"github.com/kernel/kernel-go-sdk/option\"\n)\n\nfunc main() {\n\tclient := kernel.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\terr := client.Browsers.Computer.Batch(\n\t\tcontext.TODO(),\n\t\t\"id\",\n\t\tkernel.BrowserComputerBatchParams{\n\t\t\tActions: []kernel.BrowserComputerBatchParamsAction{{\n\t\t\t\tType: \"click_mouse\",\n\t\t\t}},\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n}\n"
components:
  schemas:
    BatchComputerActionRequest:
      type: object
      description: A batch of computer actions to execute sequentially.
      required:
        - actions
      properties:
        actions:
          type: array
          description: >-
            Ordered list of actions to execute. Execution stops on the first
            error.
          minItems: 1
          maxItems: 100
          items:
            $ref: '#/components/schemas/ComputerAction'
      additionalProperties: false
    ComputerAction:
      type: object
      description: >
        A single computer action to execute as part of a batch. The `type` field
        selects which

        action to perform, and the corresponding field contains the action
        parameters.

        Exactly one action field matching the type must be provided.
      required:
        - type
      properties:
        type:
          type: string
          description: The type of action to perform.
          enum:
            - click_mouse
            - move_mouse
            - type_text
            - press_key
            - scroll
            - drag_mouse
            - set_cursor
            - sleep
        click_mouse:
          $ref: '#/components/schemas/ClickMouseRequest'
        move_mouse:
          $ref: '#/components/schemas/MoveMouseRequest'
        type_text:
          $ref: '#/components/schemas/TypeTextRequest'
        press_key:
          $ref: '#/components/schemas/PressKeyRequest'
        scroll:
          $ref: '#/components/schemas/ScrollRequest'
        drag_mouse:
          $ref: '#/components/schemas/DragMouseRequest'
        set_cursor:
          $ref: '#/components/schemas/SetCursorRequest'
        sleep:
          $ref: '#/components/schemas/SleepAction'
      additionalProperties: false
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Application-specific error code (machine-readable)
          example: bad_request
        message:
          type: string
          description: Human-readable error description for debugging
          example: 'Missing required field: app_name'
        details:
          type: array
          description: Additional error details (for multiple errors)
          items:
            $ref: '#/components/schemas/ErrorDetail'
        inner_error:
          $ref: '#/components/schemas/ErrorDetail'
    ClickMouseRequest:
      type: object
      required:
        - x
        - 'y'
      properties:
        button:
          type: string
          description: Mouse button to interact with
          enum:
            - left
            - right
            - middle
            - back
            - forward
        click_type:
          type: string
          description: Type of click action
          enum:
            - down
            - up
            - click
        x:
          type: integer
          description: X coordinate of the click position
        'y':
          type: integer
          description: Y coordinate of the click position
        hold_keys:
          type: array
          description: Modifier keys to hold during the click
          items:
            type: string
        num_clicks:
          type: integer
          description: Number of times to repeat the click
          default: 1
      additionalProperties: false
    MoveMouseRequest:
      type: object
      required:
        - x
        - 'y'
      properties:
        x:
          type: integer
          description: X coordinate to move the cursor to
        'y':
          type: integer
          description: Y coordinate to move the cursor to
        hold_keys:
          type: array
          description: Modifier keys to hold during the move
          items:
            type: string
        smooth:
          type: boolean
          description: Use human-like Bezier curve path instead of instant mouse movement.
          default: true
        duration_ms:
          type: integer
          description: >-
            Target total duration in milliseconds for the mouse movement when
            smooth=true. Omit for automatic timing based on distance.
          minimum: 50
          maximum: 5000
      additionalProperties: false
    TypeTextRequest:
      type: object
      required:
        - text
      properties:
        text:
          type: string
          description: Text to type on the browser instance
        delay:
          type: integer
          description: Delay in milliseconds between keystrokes
          minimum: 0
          default: 0
      additionalProperties: false
    PressKeyRequest:
      type: object
      required:
        - keys
      properties:
        keys:
          type: array
          description: >
            List of key symbols to press. Each item should be a key symbol
            supported by xdotool

            (see X11 keysym definitions). Examples include "Return", "Shift",
            "Ctrl", "Alt", "F5".

            Items in this list could also be combinations, e.g. "Ctrl+t" or
            "Ctrl+Shift+Tab".
          items:
            type: string
        duration:
          type: integer
          description: >-
            Duration to hold the keys down in milliseconds. If omitted or 0,
            keys are tapped.
          minimum: 0
          default: 0
        hold_keys:
          type: array
          description: Optional modifier keys to hold during the key press sequence.
          items:
            type: string
      additionalProperties: false
    ScrollRequest:
      type: object
      required:
        - x
        - 'y'
      properties:
        x:
          type: integer
          description: X coordinate at which to perform the scroll
        'y':
          type: integer
          description: Y coordinate at which to perform the scroll
        delta_x:
          type: integer
          description: >-
            Horizontal scroll amount in xdotool "wheel units." Positive scrolls
            right, negative scrolls left.
          default: 0
        delta_y:
          type: integer
          description: >-
            Vertical scroll amount in xdotool "wheel units." Positive scrolls
            down, negative scrolls up.
          default: 0
        hold_keys:
          type: array
          description: Modifier keys to hold during the scroll
          items:
            type: string
      additionalProperties: false
    DragMouseRequest:
      type: object
      required:
        - path
      properties:
        path:
          type: array
          description: >-
            Ordered list of [x, y] coordinate pairs to move through while
            dragging. Must contain at least 2 points.
          minItems: 2
          items:
            type: array
            minItems: 2
            maxItems: 2
            items:
              type: integer
        button:
          type: string
          description: Mouse button to drag with
          enum:
            - left
            - middle
            - right
        delay:
          type: integer
          description: >-
            Delay in milliseconds between button down and starting to move along
            the path.
          minimum: 0
          default: 0
        steps_per_segment:
          type: integer
          description: Number of relative move steps per segment in the path. Minimum 1.
          minimum: 1
          default: 10
        step_delay_ms:
          type: integer
          description: >-
            Delay in milliseconds between relative steps while dragging (not the
            initial delay).
          minimum: 0
          default: 50
        hold_keys:
          type: array
          description: Modifier keys to hold during the drag
          items:
            type: string
        smooth:
          type: boolean
          description: >-
            Use human-like Bezier curves between path waypoints instead of
            linear interpolation. When true, steps_per_segment and step_delay_ms
            are ignored.
          default: true
        duration_ms:
          type: integer
          description: >-
            Target total duration in milliseconds for the entire drag movement
            when smooth=true. Omit for automatic timing based on total path
            length.
          minimum: 50
          maximum: 10000
      additionalProperties: false
    SetCursorRequest:
      type: object
      required:
        - hidden
      properties:
        hidden:
          type: boolean
          description: Whether the cursor should be hidden or visible
      additionalProperties: false
    SleepAction:
      type: object
      description: Pause execution for a specified duration.
      required:
        - duration_ms
      properties:
        duration_ms:
          type: integer
          description: Duration to sleep in milliseconds.
          minimum: 0
          maximum: 30000
      additionalProperties: false
    ErrorDetail:
      type: object
      properties:
        code:
          type: string
          description: Lower-level error code providing more specific detail
          example: invalid_input
        message:
          type: string
          description: Further detail about the error
          example: Provided version string is not semver compliant
  responses:
    BadRequest:
      description: Bad Request – invalid input
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````