Skip to content
Start here

List BGP Prefixes

client.Addressing.Prefixes.BGPPrefixes.List(ctx, prefixID, query) (*SinglePage[BGPPrefix], error)
GET/accounts/{account_id}/addressing/prefixes/{prefix_id}/bgp/prefixes

List all BGP Prefixes within the specified IP Prefix. BGP Prefixes are used to control which specific subnets are advertised to the Internet. It is possible to advertise subnets more specific than an IP Prefix by creating more specific BGP Prefixes.

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 ReadMagic Transit WriteIP Prefixes: WriteIP Prefixes: ReadIP Prefixes: BGP On Demand WriteIP Prefixes: BGP On Demand Read
ParametersExpand Collapse
prefixID string

Identifier of an IP Prefix.

maxLength32
query PrefixBGPPrefixListParams
AccountID param.Field[string]

Identifier of a Cloudflare account.

maxLength32
ReturnsExpand Collapse
type BGPPrefix struct{…}
ID stringOptional

Identifier of BGP Prefix.

maxLength32
ASN int64Optional

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

ASNPrependCount int64Optional

Number of times to prepend the Cloudflare ASN to the BGP AS-Path attribute

maximum3
minimum0
AutoAdvertiseWithdraw boolOptional

Determines if Cloudflare advertises a BYOIP BGP prefix even when there is no matching BGP prefix in the Magic routing table. When true, Cloudflare will automatically withdraw the BGP prefix when there are no matching BGP routes, and will resume advertising when there is at least one matching BGP route.

BGPSignalOpts BGPPrefixBGPSignalOptsOptional
Enabled boolOptional

Whether control of advertisement of the prefix to the Internet is enabled to be performed via BGP signal

ModifiedAt TimeOptional

Last time BGP signaling control was toggled. This field is null if BGP signaling has never been enabled.

formatdate-time
CIDR stringOptional

IP Prefix in Classless Inter-Domain Routing format.

CreatedAt TimeOptional
formatdate-time
ModifiedAt TimeOptional
formatdate-time
OnDemand BGPPrefixOnDemandOptional
Advertised boolOptional

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

AdvertisedModifiedAt TimeOptional

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

formatdate-time
OnDemandEnabled boolOptional

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

OnDemandLocked boolOptional

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

List BGP Prefixes

package main

import (
  "context"
  "fmt"

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

func main() {
  client := cloudflare.NewClient(
    option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
    option.WithAPIEmail("user@example.com"),
  )
  page, err := client.Addressing.Prefixes.BGPPrefixes.List(
    context.TODO(),
    "2af39739cc4e3b5910c918468bb89828",
    addressing.PrefixBGPPrefixListParams{
      AccountID: cloudflare.F("258def64c72dae45f3e4c8516e2111f2"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", page)
}
{
  "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": "7009ba364c7a5760798ceb430e603b74",
      "asn": 13335,
      "asn_prepend_count": 2,
      "auto_advertise_withdraw": true,
      "bgp_signal_opts": {
        "enabled": false,
        "modified_at": "2014-01-01T05:20:00.12345Z"
      },
      "cidr": "192.0.2.0/24",
      "created_at": "2014-01-01T05:20:00.12345Z",
      "modified_at": "2014-01-01T05:20:00.12345Z",
      "on_demand": {
        "advertised": true,
        "advertised_modified_at": "2014-01-01T05:20:00.12345Z",
        "on_demand_enabled": true,
        "on_demand_locked": false
      }
    }
  ]
}
Returns Examples
{
  "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": "7009ba364c7a5760798ceb430e603b74",
      "asn": 13335,
      "asn_prepend_count": 2,
      "auto_advertise_withdraw": true,
      "bgp_signal_opts": {
        "enabled": false,
        "modified_at": "2014-01-01T05:20:00.12345Z"
      },
      "cidr": "192.0.2.0/24",
      "created_at": "2014-01-01T05:20:00.12345Z",
      "modified_at": "2014-01-01T05:20:00.12345Z",
      "on_demand": {
        "advertised": true,
        "advertised_modified_at": "2014-01-01T05:20:00.12345Z",
        "on_demand_enabled": true,
        "on_demand_locked": false
      }
    }
  ]
}