---
title: Validate Prefix
---

[Skip to content](#%5Ftop) 

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

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

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

Copy Markdown

Open in **Claude**

Open in **ChatGPT**

Open in **Cursor**

---

**Copy Markdown**

**View as Markdown**

# Validate Prefix

client.Addressing.Prefixes.Validate(ctx, prefixID, body) (\*[Prefix](https://developers.cloudflare.com/api/go/resources/addressing#%28resource%29%20addressing.prefixes%20%3E%20%28model%29%20prefix%20%3E%20%28schema%29), error)

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

Triggers a new prefix validation. The checks are run asynchronously and include IRR, RPKI, and prefix ownership.

##### Security

API Email + API Key

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

**Example:**`X-Auth-Email: user@example.com`

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

**Example:**`X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194`

##### Accepted Permissions (at least one required)

`Magic Transit Write` `IP Prefixes: Write`

##### ParametersExpand Collapse 

prefixID string

Identifier of an IP Prefix.

maxLength32

body PrefixValidateParams

AccountID param.Field\[string\]

Identifier of a Cloudflare account.

maxLength32

##### ReturnsExpand Collapse 

type Prefix struct{…}

ID stringOptional

Identifier of an IP Prefix.

maxLength32

AccountID stringOptional

Identifier of a Cloudflare account.

maxLength32

DeprecatedAdvertised boolOptional

Prefer the [BGP Prefixes API](https://developers.cloudflare.com/api/resources/addressing/subresources/prefixes/subresources/bgp%5Fprefixes/) 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.

DeprecatedAdvertisedModifiedAt TimeOptional

Prefer the [BGP Prefixes API](https://developers.cloudflare.com/api/resources/addressing/subresources/prefixes/subresources/bgp%5Fprefixes/) 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

Approved stringOptional

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

ASN int64Optional

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

CIDR stringOptional

IP Prefix in Classless Inter-Domain Routing format.

CreatedAt TimeOptional

formatdate-time

DelegateLOACreation boolOptional

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

Description stringOptional

Description of the prefix.

maxLength1000

IrrValidationState stringOptional

State of one kind of validation for an IP prefix.

LOADocumentID stringOptional

Identifier for the uploaded LOA document.

maxLength32

ModifiedAt TimeOptional

formatdate-time

DeprecatedOnDemandEnabled boolOptional

Prefer the [BGP Prefixes API](https://developers.cloudflare.com/api/resources/addressing/subresources/prefixes/subresources/bgp%5Fprefixes/) 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.

DeprecatedOnDemandLocked boolOptional

Prefer the [BGP Prefixes API](https://developers.cloudflare.com/api/resources/addressing/subresources/prefixes/subresources/bgp%5Fprefixes/) 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.

OwnershipValidationState stringOptional

State of one kind of validation for an IP prefix.

OwnershipValidationToken stringOptional

Token provided to demonstrate ownership of the prefix.

RPKIValidationState stringOptional

State of one kind of validation for an IP prefix.

### Validate Prefix

Go

HTTPHTTP

TypeScriptTypeScript

PythonPython

GoGo

TerraformTerraform

```
package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/addressing"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
    option.WithAPIEmail("user@example.com"),
  )
  prefix, err := client.Addressing.Prefixes.Validate(
    context.TODO(),
    "2af39739cc4e3b5910c918468bb89828",
    addressing.PrefixValidateParams{
      AccountID: cloudflare.F("258def64c72dae45f3e4c8516e2111f2"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", 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"
  }
}
```