Skip to content
Start here

Create Address Map

addressing.address_maps.create(AddressMapCreateParams**kwargs) -> AddressMapCreateResponse
POST/accounts/{account_id}/addressing/address_maps

Create a new address map under the account.

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)
Address Maps Write
ParametersExpand Collapse
account_id: str

Identifier of a Cloudflare account.

maxLength32
description: Optional[str]

An optional description field which may be used to describe the types of IPs or zones on the map.

enabled: Optional[bool]

Whether the Address Map is enabled or not. Cloudflare's DNS will not respond with IP addresses on an Address Map until the map is enabled.

ips: Optional[SequenceNotStr[str]]
memberships: Optional[Iterable[Membership]]

Zones and Accounts which will be assigned IPs on this Address Map. A zone membership will take priority over an account membership.

identifier: Optional[str]

The identifier for the membership (eg. a zone or account tag).

maxLength32
kind: Optional[Kind]

The type of the membership.

One of the following:
"zone"
"account"
ReturnsExpand Collapse
class AddressMapCreateResponse:
id: Optional[str]

Identifier of an Address Map.

maxLength32
can_delete: Optional[bool]

If set to false, then the Address Map cannot be deleted via API. This is true for Cloudflare-managed maps.

can_modify_ips: Optional[bool]

If set to false, then the IPs on the Address Map cannot be modified via the API. This is true for Cloudflare-managed maps.

created_at: Optional[datetime]
formatdate-time
default_sni: Optional[str]

If you have legacy TLS clients which do not send the TLS server name indicator, then you can specify one default SNI on the map. If Cloudflare receives a TLS handshake from a client without an SNI, it will respond with the default SNI on those IPs. The default SNI can be any valid zone or subdomain owned by the account.

description: Optional[str]

An optional description field which may be used to describe the types of IPs or zones on the map.

enabled: Optional[bool]

Whether the Address Map is enabled or not. Cloudflare's DNS will not respond with IP addresses on an Address Map until the map is enabled.

ips: Optional[IPs]

The set of IPs on the Address Map.

created_at: Optional[datetime]
formatdate-time
ip: Optional[str]

An IPv4 or IPv6 address.

memberships: Optional[List[Membership]]

Zones and Accounts which will be assigned IPs on this Address Map. A zone membership will take priority over an account membership.

can_delete: Optional[bool]

Controls whether the membership can be deleted via the API or not.

created_at: Optional[datetime]
formatdate-time
identifier: Optional[str]

The identifier for the membership (eg. a zone or account tag).

maxLength32
kind: Optional[Kind]

The type of the membership.

One of the following:
"zone"
"account"
modified_at: Optional[datetime]
formatdate-time

Create Address Map

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_email=os.environ.get("CLOUDFLARE_EMAIL"),  # This is the default and can be omitted
    api_key=os.environ.get("CLOUDFLARE_API_KEY"),  # This is the default and can be omitted
)
address_map = client.addressing.address_maps.create(
    account_id="258def64c72dae45f3e4c8516e2111f2",
)
print(address_map.id)
{
  "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": "055817b111884e0227e1be16a0be6ee0",
    "can_delete": true,
    "can_modify_ips": true,
    "created_at": "2014-01-01T05:20:00.12345Z",
    "default_sni": "*.example.com",
    "description": "My Ecommerce zones",
    "enabled": true,
    "ips": [
      {
        "created_at": "2014-01-01T05:20:00.12345Z",
        "ip": "192.0.2.1"
      }
    ],
    "memberships": [
      {
        "can_delete": true,
        "created_at": "2014-01-01T05:20:00.12345Z",
        "identifier": "023e105f4ecef8ad9ca31a8372d0c353",
        "kind": "zone"
      }
    ],
    "modified_at": "2014-01-01T05:20:00.12345Z"
  }
}
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": "055817b111884e0227e1be16a0be6ee0",
    "can_delete": true,
    "can_modify_ips": true,
    "created_at": "2014-01-01T05:20:00.12345Z",
    "default_sni": "*.example.com",
    "description": "My Ecommerce zones",
    "enabled": true,
    "ips": [
      {
        "created_at": "2014-01-01T05:20:00.12345Z",
        "ip": "192.0.2.1"
      }
    ],
    "memberships": [
      {
        "can_delete": true,
        "created_at": "2014-01-01T05:20:00.12345Z",
        "identifier": "023e105f4ecef8ad9ca31a8372d0c353",
        "kind": "zone"
      }
    ],
    "modified_at": "2014-01-01T05:20:00.12345Z"
  }
}