---
title: Add Prefix
---

[Skip to content](#_top)

[API Reference](https://developers.cloudflare.com/api/typescript)

[Addressing](https://developers.cloudflare.com/api/typescript/resources/addressing)

[Prefixes](https://developers.cloudflare.com/api/typescript/resources/addressing/subresources/prefixes)

Copy Markdown

Open in **Claude**Open in **ChatGPT**Open in **Cursor**

---

**Copy Markdown****View as Markdown**

# Add Prefix

client.addressing.prefixes.create(PrefixCreateParams {account\_id, asn, cidr, 3 more } params, RequestOptionsoptions?): [Prefix](<https://developers.cloudflare.com/api/typescript/resources/addressing#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)>) {id, account\_id, advertised, 15 more }

POST/accounts/{account\_id}/addressing/prefixes

Add a new prefix under the account.

##### Security

<details>

<summary>API Token</summary>



The preferred authorization scheme for interacting with the Cloudflare API. <a href="https://developers.cloudflare.com/fundamentals/api/get-started/create-token/">Create a token</a>.

**Example:**<code>Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY</code>

</details>

<details>

<summary>API Email + API Key</summary>



The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

**Example:**<code>X-Auth-Email: user@example.com</code>

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

**Example:**<code>X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194</code>

</details>

##### ParametersExpand Collapse

<details>

<summary>

params: PrefixCreateParams {account\_id, asn, cidr, 3 more }

</summary>

account\_id: string

Path param: Identifier of a Cloudflare account.

maxLength32

<a href="#(resource)%20addressing.prefixes%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20account_id">Link to this property</a>

asn: number

Body param: Autonomous System Number (ASN) the prefix will be advertised under.

<a href="#(resource)%20addressing.prefixes%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20asn">Link to this property</a>

cidr: string

Body param: IP Prefix in Classless Inter-Domain Routing format.

<a href="#(resource)%20addressing.prefixes%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20cidr">Link to this property</a>

delegate\_loa\_creation?: boolean

Body param: Whether Cloudflare is allowed to generate the LOA document on behalf of the prefix owner.

<a href="#(resource)%20addressing.prefixes%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20delegate_loa_creation">Link to this property</a>

description?: string

Body param: Description of the prefix.

maxLength1000

<a href="#(resource)%20addressing.prefixes%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20description">Link to this property</a>

loa\_document\_id?: string| null

Body param: Identifier for the uploaded LOA document.

maxLength32

<a href="#(resource)%20addressing.prefixes%20%3E%20(method)%20create%20%3E%20(params)%20default%20%3E%20(param)%20loa_document_id">Link to this property</a>

</details>

[Link to this property](<#(resource)%20addressing.prefixes%20%3E%20(method)%20create%20%3E%20(params)%20default>)

##### ReturnsExpand Collapse

<details>

<summary>

Prefix {id, account\_id, advertised, 15 more }

</summary>

id?: string

Identifier of an IP Prefix.

maxLength32

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20id">Link to this property</a>

account\_id?: string

Identifier of a Cloudflare account.

maxLength32

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20account_id">Link to this property</a>

Deprecatedadvertised?: boolean| null

Prefer the <a href="https://developers.cloudflare.com/api/resources/addressing/subresources/prefixes/subresources/bgp_prefixes/">BGP Prefixes API</a> instead, which allows for advertising multiple BGP routes within a single IP Prefix.

Prefix advertisement status to the Internet. This field is only not ‘null’ if on demand is enabled.

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20advertised">Link to this property</a>

Deprecatedadvertised\_modified\_at?: string| null

Prefer the <a href="https://developers.cloudflare.com/api/resources/addressing/subresources/prefixes/subresources/bgp_prefixes/">BGP Prefixes API</a> instead, which allows for advertising multiple BGP routes within a single IP Prefix.

Last time the advertisement status was changed. This field is only not ‘null’ if on demand is enabled.

formatdate-time

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20advertised_modified_at">Link to this property</a>

approved?: string

Approval state of the prefix (P = pending, V = active).

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20approved">Link to this property</a>

asn?: number

Autonomous System Number (ASN) the prefix will be advertised under.

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20asn">Link to this property</a>

cidr?: string

IP Prefix in Classless Inter-Domain Routing format.

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20cidr">Link to this property</a>

created\_at?: string

formatdate-time

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20created_at">Link to this property</a>

delegate\_loa\_creation?: boolean

Whether Cloudflare is allowed to generate the LOA document on behalf of the prefix owner.

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20delegate_loa_creation">Link to this property</a>

description?: string

Description of the prefix.

maxLength1000

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20description">Link to this property</a>

irr\_validation\_state?: string

State of one kind of validation for an IP prefix.

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20irr_validation_state">Link to this property</a>

loa\_document\_id?: string| null

Identifier for the uploaded LOA document.

maxLength32

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20loa_document_id">Link to this property</a>

modified\_at?: string

formatdate-time

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20modified_at">Link to this property</a>

Deprecatedon\_demand\_enabled?: boolean

Prefer the <a href="https://developers.cloudflare.com/api/resources/addressing/subresources/prefixes/subresources/bgp_prefixes/">BGP Prefixes API</a> instead, which allows for advertising multiple BGP routes within a single IP Prefix.

Whether advertisement of the prefix to the Internet may be dynamically enabled or disabled.

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20on_demand_enabled">Link to this property</a>

Deprecatedon\_demand\_locked?: boolean

Prefer the <a href="https://developers.cloudflare.com/api/resources/addressing/subresources/prefixes/subresources/bgp_prefixes/">BGP Prefixes API</a> instead, which allows for advertising multiple BGP routes within a single IP Prefix.

Whether advertisement status of the prefix is locked, meaning it cannot be changed.

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20on_demand_locked">Link to this property</a>

ownership\_validation\_state?: string

State of one kind of validation for an IP prefix.

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20ownership_validation_state">Link to this property</a>

ownership\_validation\_token?: string

Token provided to demonstrate ownership of the prefix.

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20ownership_validation_token">Link to this property</a>

rpki\_validation\_state?: string

State of one kind of validation for an IP prefix.

<a href="#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)%20%3E%20(property)%20rpki_validation_state">Link to this property</a>

</details>

[Link to this property](<#(resource)%20addressing.prefixes%20%3E%20(model)%20prefix%20%3E%20(schema)>)

### Add Prefix

TypeScript

HTTPTypeScriptPythonGoTerraform

```
import Cloudflare from 'cloudflare';

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

const prefix = await client.addressing.prefixes.create({
  account_id: '258def64c72dae45f3e4c8516e2111f2',
  asn: 13335,
  cidr: '192.0.2.0/24',
});

console.log(prefix.id);
```

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "id": "2af39739cc4e3b5910c918468bb89828",
    "account_id": "258def64c72dae45f3e4c8516e2111f2",
    "advertised": true,
    "advertised_modified_at": "2014-01-01T05:20:00.12345Z",
    "approved": "P",
    "asn": 13335,
    "cidr": "192.0.2.0/24",
    "created_at": "2014-01-01T05:20:00.12345Z",
    "delegate_loa_creation": true,
    "description": "Internal test prefix",
    "irr_validation_state": "pending",
    "loa_document_id": "d933b1530bc56c9953cf8ce166da8004",
    "modified_at": "2014-01-01T05:20:00.12345Z",
    "on_demand_enabled": true,
    "on_demand_locked": false,
    "ownership_validation_state": "pending",
    "ownership_validation_token": "1234a5b6-1234-1abc-12a3-1234a5b6789c",
    "rpki_validation_state": "pending"
  }
}
```

##### Returns Examples

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "id": "2af39739cc4e3b5910c918468bb89828",
    "account_id": "258def64c72dae45f3e4c8516e2111f2",
    "advertised": true,
    "advertised_modified_at": "2014-01-01T05:20:00.12345Z",
    "approved": "P",
    "asn": 13335,
    "cidr": "192.0.2.0/24",
    "created_at": "2014-01-01T05:20:00.12345Z",
    "delegate_loa_creation": true,
    "description": "Internal test prefix",
    "irr_validation_state": "pending",
    "loa_document_id": "d933b1530bc56c9953cf8ce166da8004",
    "modified_at": "2014-01-01T05:20:00.12345Z",
    "on_demand_enabled": true,
    "on_demand_locked": false,
    "ownership_validation_state": "pending",
    "ownership_validation_token": "1234a5b6-1234-1abc-12a3-1234a5b6789c",
    "rpki_validation_state": "pending"
  }
}
```