---
title: "Update subkey IP allowlist"
method: PUT
path: "/account/keys/subkeys/{public_key}/allowed-cidrs"
tags: ["Subkey"]
---

# Update subkey IP allowlist

`PUT /account/keys/subkeys/{public_key}/allowed-cidrs`

Replace the IP CIDR allowlist for a subkey. Empty array clears the allowlist (unrestricted). Only callable with the main account; subkeys cannot widen their own allowlist.

## Path parameters

- `public_key` string, required

## Request body

- RequestsUpdateAllowedCIDRs
  - `allowed_cidrs` string[] — Full replacement list. Empty = unrestricted.

## Response `200`

Updated subkey details

- ResponsesSubkey
  - `account_id` string — Account ID that owns this subkey
  - `allowed_cidrs` string[] — IP CIDR allowlist; empty means unrestricted
  - `created_at` integer — Subkey creation timestamp (nanoseconds since epoch)
  - `id` integer — Unique subkey identifier
  - `name` string — User-provided subkey name
  - `public_key` string — Subkey public key
  - `revoked_at` integer — Revocation timestamp (nanoseconds since epoch, 0 if not revoked)
  - `state` string — Subkey state
  - `updated_at` integer — Last modification timestamp (nanoseconds since epoch)

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — IP restrictions not enabled for this account
- `404` — Not Found

---

[API](https://skmtc.net/tradeparadex/apis/paradex-rest-api-2.md) · [All operations](https://skmtc.net/tradeparadex/apis/paradex-rest-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tradeparadex/paradex-rest-api-2/revisions/e8fca3e578c7/schema)
