---
title: "Create"
method: POST
path: "/ip_restrictions"
tags: ["IPRestrictions"]
---

# Create

`POST /ip_restrictions`

Create a new IP restriction

## Headers

- `ngrok-version` integer, required

## Request body

- IPRestrictionCreate
  - `description` string — human-readable description of this IP restriction. optional, max 255 bytes.
  - `metadata` string — arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes.
  - `enforced` boolean — true if the IP restriction will be enforced. if false, only warnings will be issued
  - `type` string, required — the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: `dashboard`, `api`, `agent`, and `endpoints`
  - `ip_policy_ids` string[], required — the set of IP policy identifiers that are used to enforce the restriction

## Response `201`

Create a new IP restriction

- IPRestriction
  - `id` string — unique identifier for this IP restriction
  - `uri` string — URI of the IP restriction API resource
  - `created_at` string — timestamp when the IP restriction was created, RFC 3339 format
  - `description` string — human-readable description of this IP restriction. optional, max 255 bytes.
  - `metadata` string — arbitrary user-defined machine-readable data of this IP restriction. optional, max 4096 bytes.
  - `enforced` boolean — true if the IP restriction will be enforced. if false, only warnings will be issued
  - `type` string — the type of IP restriction. this defines what traffic will be restricted with the attached policies. four values are currently supported: `dashboard`, `api`, `agent`, and `endpoints`
  - `ip_policies` Ref[] — the set of IP policies that are used to enforce the restriction
    - `id` string — a resource identifier
    - `uri` string — a uri for locating a resource

## Other responses

- `4XX` — An error. The body carries a machine-readable error_code and a human-readable msg; every code is documented at https://ngrok.com/docs/errors. A 429 with error code ERR_NGROK_226 means the account exceeded the documented request-rate limit.
- `5XX` — An error. The body carries a machine-readable error_code and a human-readable msg; every code is documented at https://ngrok.com/docs/errors. A 429 with error code ERR_NGROK_226 means the account exceeded the documented request-rate limit.

## Changes

- **2024-10-22** `e40349f8ec6f` — 1 info
  - api operation id `IPRestrictionsCreate` removed and replaced with `IpRestrictionsCreate`

[Change history](https://skmtc.dev/ngrok/apis/ngrok-openapi/changes/ip_restrictions/post.md)

---

[API](https://skmtc.dev/ngrok/apis/ngrok-openapi.md) · [All operations](https://skmtc.dev/ngrok/apis/ngrok-openapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ngrok/ngrok-openapi/revisions/c697539ac350/schema)
