> ## Documentation Index
> Fetch the complete documentation index at: https://docs.browser-use.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Resize My Box

> Resize the project's box to a larger tier (upgrade-only).

The actual stop → modify → start dance runs in a background task; this
handler returns immediately with status=RESIZING. The FE polls /me to
watch the box flip back to READY when the new instance is up. Takes
~60-90s end-to-end (stop ~30s, start ~30s, growpart instant).

Constraints enforced here:
  - new size must be a known tier
  - new size must be strictly larger than current (downsize → 400)
  - box must be in READY state (otherwise → 409)
  - project must clear the eligibility gate at the *new* size's
    min-balance (a small box upgrading to large is now playing by
    large-box rules)



## OpenAPI

````yaml /cloud/openapi/v3.json post /boxes/me/resize
openapi: 3.1.0
info:
  title: Browser Use Public API v3
  summary: Browser Use session-based agent API (v3)
  version: 3.0.0
servers:
  - url: https://api.browser-use.com/api/v3
    description: Production server
security: []
paths:
  /boxes/me/resize:
    post:
      tags:
        - Boxes
      summary: Resize My Box
      description: |-
        Resize the project's box to a larger tier (upgrade-only).

        The actual stop → modify → start dance runs in a background task; this
        handler returns immediately with status=RESIZING. The FE polls /me to
        watch the box flip back to READY when the new instance is up. Takes
        ~60-90s end-to-end (stop ~30s, start ~30s, growpart instant).

        Constraints enforced here:
          - new size must be a known tier
          - new size must be strictly larger than current (downsize → 400)
          - box must be in READY state (otherwise → 409)
          - project must clear the eligibility gate at the *new* size's
            min-balance (a small box upgrading to large is now playing by
            large-box rules)
      operationId: resize_my_box_boxes_me_resize_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoxResizeRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoxView'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    BoxResizeRequest:
      properties:
        size:
          type: string
          enum:
            - small
            - medium
            - large
          title: Size
      type: object
      required:
        - size
      title: BoxResizeRequest
      description: >-
        Resize an existing box to a larger tier.


        Upgrade-only: the backend rejects requests where `size` isn't strictly

        larger than the box's current size. Downsize → 400 with a hint to

        destroy + redeploy. Same size → 409 (idempotent failure — no work to
        do).
    BoxView:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        project_id:
          type: string
          format: uuid
          title: Project Id
        profile_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Profile Id
        size:
          type: string
          enum:
            - small
            - medium
            - large
          title: Size
        size_spec:
          $ref: '#/components/schemas/BoxSizeSpecView'
        ec2_instance_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Ec2 Instance Id
        public_ip:
          anyOf:
            - type: string
            - type: 'null'
          title: Public Ip
        status:
          $ref: '#/components/schemas/BoxStatus'
        status_detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Status Detail
        claude_authed:
          type: boolean
          title: Claude Authed
        tg_installed:
          type: boolean
          title: Tg Installed
        tg_bot_username:
          anyOf:
            - type: string
            - type: 'null'
          title: Tg Bot Username
        dsp_enabled:
          type: boolean
          title: Dsp Enabled
        live_browser_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Live Browser Url
        last_heartbeat_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Heartbeat At
        trial_ends_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Trial Ends At
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
        - id
        - project_id
        - profile_id
        - size
        - size_spec
        - ec2_instance_id
        - public_ip
        - status
        - status_detail
        - claude_authed
        - tg_installed
        - tg_bot_username
        - dsp_enabled
        - live_browser_url
        - last_heartbeat_at
        - created_at
        - updated_at
      title: BoxView
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    BoxSizeSpecView:
      properties:
        name:
          type: string
          enum:
            - small
            - medium
            - large
          title: Name
        vcpu:
          type: integer
          title: Vcpu
        ram_gb:
          type: integer
          title: Ram Gb
        disk_gb:
          type: integer
          title: Disk Gb
        daily_usd:
          type: number
          title: Daily Usd
        min_balance_usd:
          type: number
          title: Min Balance Usd
      type: object
      required:
        - name
        - vcpu
        - ram_gb
        - disk_gb
        - daily_usd
        - min_balance_usd
      title: BoxSizeSpecView
      description: |-
        User-visible spec sheet for one size tier. Returned alongside
        BoxView so the UI can render the tooltip ("2 vCPU · 4 GB · 20 GB")
        without a second round trip + so the picker on /bux can show all
        three rows without us hardcoding prices in the frontend.
    BoxStatus:
      type: string
      enum:
        - provisioning
        - awaiting_oauth
        - ready
        - resizing
        - error
        - halted
        - destroyed
      title: BoxStatus
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-Browser-Use-API-Key

````