---
title: "Manage IP whitelist"
method: GET
path: "/v4/account/{subAccountId}/datacenter_shared/whitelist"
tags: ["Datacenter"]
---

# Manage IP whitelist

`GET /v4/account/{subAccountId}/datacenter_shared/whitelist`

Manage the IP whitelist for a datacenter subaccount. All four operations share this endpoint via the required `type` query parameter.

**Operations and required permissions:**
- `get` — list current IPs (`datacenter_shared:read` or `datacenter_dedicated:read`)
- `add` — append IPs without removing existing ones (`datacenter_shared:write` or `datacenter_dedicated:write`)
- `set` — replace the entire whitelist (`datacenter_shared:write` or `datacenter_dedicated:write`)
- `remove` — delete specific IPs (`datacenter_shared:delete` or `datacenter_dedicated:delete`)

**IP label format:** For `add` and `set`, each `ip[]` value may include a label prefix separated by a colon: `ip[]=Office:1.2.3.4`. Everything before the last colon is the label; the last segment is the IP.

**Rate limit:** Mutations (`add`, `set`, `remove`) are limited to 1 request per 30 minutes per subaccount.

**Propagation:** After a successful mutation, allow up to 10 minutes for IPs to synchronize across all proxies.

## Path parameters

- `subAccountId` string, uuid, required

## Query parameters

- `type` 'get' | 'add' | 'remove' | 'set', required
- `ip[]` string[]
- `labels` string

## Response `200`

Operation succeeded. Response shape differs by `type`.

- union
  - object
    - `status` string, required
    - `maxips` integer, required — Maximum number of IPs this account is allowed to whitelist.
    - `whitelisted` string[], required — Currently whitelisted IP addresses.
    - `labels` object — Present only when the `labels` query parameter is included. Maps each whitelisted IP to its label; IPs without a label have an empty string value.
  - object
    - `status` string, required
    - `info` string, required — Human-readable confirmation message.

## Other responses

- `400` — Bad request. Causes: missing or invalid `type`; invalid or private IPv4 address; IP count would exceed the account's `maxips` limit; IP already authorized on a different parent account (`add` only); IP already whitelisted by another active trial account (trial accounts only).
- `401` — Unauthorized. The subaccount's subscription is expired or the account is suspended.
- `429` — Rate limited. Whitelist mutations are limited to 1 request per 30 minutes per subaccount.
- `500` — Internal server error during whitelist sync.

---

[API](https://skmtc.dev/proxyscrape/apis/proxyscrape-account-api.md) · [All operations](https://skmtc.dev/proxyscrape/apis/proxyscrape-account-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/proxyscrape/proxyscrape-account-api/revisions/4e10267785e1/schema)
