---
title: "Update a proxy list"
method: PATCH
path: "/proxies/{id}/lists/{lid}"
tags: ["Proxies"]
---

# Update a proxy list

`PATCH /proxies/{id}/lists/{lid}`

## Request

- Base URL: `https://dashboard.voidmob.com/api/v1`
- URL: `https://dashboard.voidmob.com/api/v1/proxies/{id}/lists/{lid}`
- Auth: HTTP bearer

Partial update. Same geo rules as create.

## Headers

- `Idempotency-Key` string, required

## Request body

- UpdateProxyListRequest: Partial update. Same geo rules as create (country xor countries).
  - `name` string
  - `country` string
  - `countries` string[]
  - `region` string
  - `city` string
  - `isp` string
  - `zip` string
  - `rotation_period_seconds` integer
  - `rotation_mode` 'instant' | 'delayed_5s' | 'no_rotation_on_fail'
  - `format` 'login_pass_host_port' | 'http_url' | 'socks5_url' | 'host_port_login_pass_colon' | 'login_pass_host_port_colon' | 'host_port_login_pass_comma' | 'login_pass_host_port_at': Saved credential-format preference for the dashboard's list export. API `entries` are always `login:pass@host:port`. Each value names the exported line: - `login_pass_host_port`: `login:pass@host:port` - `http_url`: `http://login:pass@host:port` - `socks5_url`: `socks5://login:pass@host:port` - `host_port_login_pass_colon`: `host:port:login:pass` - `login_pass_host_port_colon`: `login:pass:host:port` - `host_port_login_pass_comma`: `host,port,login,pass` - `login_pass_host_port_at`: `login@pass@host@port` Deprecated names are still accepted on input but never returned: `host_port_login_pass` (= `host_port_login_pass_comma`), `host_port` (= `login_pass_host_port_colon`), `login_pass_at_host_port` (= `host_port_login_pass_colon`), `json` (= `login_pass_host_port_at`).

## Response `200`

Updated list.

- object
  - `success` true, required
  - `data` object, required
    - `list` ProxyList, required
      - `id` string, required: Identifier for a per-list configuration inside a proxy package.
      - `proxy_id` string, required: Opaque proxy package identifier.
      - `name` string, required
      - `country` string, nullable
      - `countries` string[], nullable
      - `region` string, nullable
      - `city` string, nullable
      - `isp` string, nullable
      - `zip` string, nullable
      - `rotation_period_seconds` integer, required
      - `rotation_mode` 'instant' | 'delayed_5s' | 'no_rotation_on_fail', required
      - `format` 'login_pass_host_port' | 'http_url' | 'socks5_url' | 'host_port_login_pass_colon' | 'login_pass_host_port_colon' | 'host_port_login_pass_comma' | 'login_pass_host_port_at', required: Saved credential-format preference for the dashboard's list export. API `entries` are always `login:pass@host:port`. Each value names the exported line: - `login_pass_host_port`: `login:pass@host:port` - `http_url`: `http://login:pass@host:port` - `socks5_url`: `socks5://login:pass@host:port` - `host_port_login_pass_colon`: `host:port:login:pass` - `login_pass_host_port_colon`: `login:pass:host:port` - `host_port_login_pass_comma`: `host,port,login,pass` - `login_pass_host_port_at`: `login@pass@host@port` Deprecated names are still accepted on input but never returned: `host_port_login_pass` (= `host_port_login_pass_comma`), `host_port` (= `login_pass_host_port_colon`), `login_pass_at_host_port` (= `host_port_login_pass_colon`), `json` (= `login_pass_host_port_at`).
      - `credentials` ProxyCredentials, required
        - `host` string, required
        - `port` integer, required
        - `protocol` 'http', required
        - `username` string, required
        - `password` string, required
      - `entries` string[], required: Ready-to-paste connection strings in `login:pass@host:port` form, regardless of the saved `format` (which applies to the dashboard's list export). For IP-whitelist lists these are bare `host:port` strings. For SOCKS5, use the same host, port and credentials with a `socks5://` scheme; SOCKS5 also relays UDP, for QUIC (HTTP/3) to the target.
      - `network` string, nullable, required: Comma-separated IPv4 addresses/subnets whitelisted for this list, or null for login/password lists. Set when the list is created; immutable afterwards - delete and recreate the list to change it.
      - `activation_note` string, required: Operational hint to surface to the end user.
      - `created_at` string, date-time, required

## Other responses

- `400`: 400 - Geo targeting is invalid - subfilters require a single country.
- `404`: 404 - Proxy list not found.
- `409`: 409 - Proxy is still provisioning. Retry shortly.

---

[API](https://skmtc.dev/voidmob/apis/voidmob-public-api.md) · [All operations](https://skmtc.dev/voidmob/apis/voidmob-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/voidmob/apis/voidmob-public-api/revisions/066023313ebe?raw)
