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

# Update a proxy

> Renames the proxy identified by the path ID.



## OpenAPI

````yaml /api-reference/mobilerun-proxy/proxies.yaml patch /connect/proxies/{id}
openapi: 3.1.0
info:
  title: Proxies
  version: v1
servers:
  - description: Droidrun Cloud API
    url: https://api.mobilerun.ai/v1
security:
  - bearerAuth: []
paths:
  /connect/proxies/{id}:
    patch:
      tags:
        - Proxies
      summary: Update a proxy
      description: Renames the proxy identified by the path ID.
      operationId: UpdateConnectProxy
      parameters:
        - $ref: '#/components/parameters/ProxyID'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProxyRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Proxy'
          description: The updated proxy.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import Mobilerun from '@mobilerun/sdk';


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


            const proxy = await
            client.connect.proxies.update('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');


            console.log(proxy.id);
        - lang: Python
          source: |-
            import os
            from mobilerun_sdk import Mobilerun

            client = Mobilerun(
                api_key=os.environ.get("MOBILERUN_CLOUD_API_KEY"),  # This is the default and can be omitted
            )
            proxy = client.connect.proxies.update(
                id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            )
            print(proxy.id)
components:
  parameters:
    ProxyID:
      in: path
      name: id
      required: true
      schema:
        format: uuid
        type: string
  schemas:
    UpdateProxyRequest:
      properties:
        name:
          description: >-
            New display name, up to 64 characters excluding surrounding
            whitespace, and containing no NUL. Send null (or an
            empty/whitespace-only string) to drop a custom name and go back to
            the generated label. Omit to leave the name unchanged.
          nullable: true
          type: string
          x-go-type: nullable.Nullable[string]
          x-go-type-import:
            path: github.com/oapi-codegen/nullable
          x-go-type-skip-optional-pointer: true
      type: object
    Proxy:
      description: A provisioned proxy without its credentials.
      properties:
        billingMode:
          $ref: '#/components/schemas/ProxyBillingMode'
        country:
          description: ISO 3166-1 alpha-2 country code (lowercase).
          type: string
        createdAt:
          format: date-time
          type: string
        host:
          type: string
        id:
          format: uuid
          type: string
        name:
          description: >-
            Display name for the proxy. Set it on create or change it with
            PATCH; when no name has been set, a label generated from the proxy's
            country, type, and id is returned instead — so this is never empty.
          example: 🇩🇪 Germany · Dedicated residential · 769fc289
          type: string
        port:
          format: int32
          type: integer
        status:
          $ref: '#/components/schemas/ProxyStatus'
        type:
          $ref: '#/components/schemas/ProxyType'
        username:
          type: string
      required:
        - id
        - name
        - country
        - type
        - status
        - host
        - port
        - username
        - createdAt
      type: object
    ProxyBillingMode:
      enum:
        - included
        - standalone_paid
      type: string
    ProxyStatus:
      description: >-
        Lifecycle of a proxy. A freshly created proxy is `checking` while its
        billing identity is being resolved — clients should poll until a
        `paymentUrl` or a later status appears — then `provisioning` — or
        `pending_payment` until the customer completes checkout — and becomes
        `active` once its upstream is assigned. `cancelling` retains full access
        through the paid period; when the subscription expires the proxy is
        `ended`. `error` marks a failed provisioning attempt.
      enum:
        - checking
        - pending_payment
        - provisioning
        - active
        - cancelling
        - ended
        - error
      type: string
    ProxyType:
      enum:
        - dedicated_residential
        - residential
        - mobile
      type: string
    ConnectErrorResponse:
      description: A Problem Details (RFC 7807-style) error response.
      properties:
        detail:
          description: Human-readable explanation of this occurrence.
          type: string
        errors:
          description: Per-input errors, when applicable.
          items:
            $ref: '#/components/schemas/ConnectErrorDetail'
          type: array
        status:
          description: HTTP status code.
          type: integer
        title:
          description: Short, human-readable summary of the error type.
          type: string
      required:
        - title
        - status
        - detail
        - errors
      type: object
    ConnectErrorDetail:
      description: A single error, locating an offending input where applicable.
      properties:
        location:
          description: Path to the offending input, e.g. "body.proxyId".
          type: string
        message:
          description: Human-readable description of this error.
          type: string
        value:
          description: The offending value, when available.
      required:
        - location
        - message
      type: object
  responses:
    BadRequest:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ConnectErrorResponse'
      description: The request was invalid.
    Unauthorized:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ConnectErrorResponse'
      description: Missing or invalid credentials.
    NotFound:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ConnectErrorResponse'
      description: The resource was not found.
  securitySchemes:
    bearerAuth:
      bearerFormat: Opaque
      description: Bearer token via Authorization header
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.