Skip to content
Start here

Create an Account

accounts.create(AccountCreateParams**kwargs) -> Account
POST/accounts

Create an Account. To create the Account within an Organization, provide unit.id and omit standalone. To create a standalone Free Account, provide standalone: true and omit unit. Providing both fields is invalid. If you omit both fields, Cloudflare can determine the destination only when the User is an administrator of exactly one Organization. Cloudflare creates the Account in that Organization; otherwise, the request returns an error. Account names are limited to 65 UTF-8 bytes.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
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
ParametersExpand Collapse
name: str

Account name, limited to 65 UTF-8 bytes.

standalone: Optional[Literal[true]]

Set to true and omit unit to create a standalone Free Account. If provided, this field must be true.

Deprecatedtype: Optional[Literal["standard", "enterprise"]]

The ‘type’ field should no longer be set through the API.

the type of account being created. For self-serve customers, use standard. for enterprise customers, use enterprise.

One of the following:
"standard"
"enterprise"
unit: Optional[Unit]

Information related to the tenant unit. Provide its ID and omit standalone to create the Account within an Organization. See https://developers.cloudflare.com/tenant/how-to/manage-accounts/.

id: Optional[str]

Tenant unit ID

idempotency_key: Optional[str]
maxLength128
minLength1
ReturnsExpand Collapse
class Account: …
id: str

Identifier

maxLength32
minLength32
name: str

Account name

type: Literal["standard", "enterprise"]
One of the following:
"standard"
"enterprise"
created_on: Optional[datetime]

Timestamp for the creation of the account

formatdate-time
legacy_flags: Optional[LegacyFlags]

Legacy account flags.

enterprise_zone_quota: Optional[LegacyFlagsEnterpriseZoneQuota]

Enterprise zone quota for standard and enterprise accounts. Accounts without a quota have a maximum of 0.

available: Optional[int]

Number of additional Enterprise zones available. Returns 0 if the quota is not allocated or is exhausted.

current: Optional[int]

Current number of Enterprise zones.

maximum: Optional[int]

Maximum number of Enterprise zones allowed.

managed_by: Optional[ManagedBy]

Parent container details

parent_org_id: Optional[str]

ID of the parent Organization, if one exists

maxLength32
parent_org_name: Optional[str]

Name of the parent Organization, if one exists

root_org_id: Optional[str]

ID of the root Organization, if one exists

maxLength32
should_display_parent_orgs: Optional[bool]

Indicates whether the parent Organization hierarchy should be displayed

settings: Optional[Settings]

Account settings

abuse_contact_email: Optional[str]

Sets an abuse contact email to notify for abuse reports.

enforce_twofactor: Optional[bool]

Indicates whether membership in this account requires that Two-Factor Authentication is enabled

Create an Account

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
account = client.accounts.create(
    name="name",
)
print(account.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": "023e105f4ecef8ad9ca31a8372d0c353",
    "name": "Demo Account",
    "type": "standard",
    "created_on": "2014-03-01T12:21:02Z",
    "legacy_flags": {
      "enterprise_zone_quota": {
        "available": 168,
        "current": 82,
        "maximum": 250
      }
    },
    "managed_by": {
      "parent_org_id": "4536bcfad5faccb111b47003c79917fa",
      "parent_org_name": "Demo Parent Organization",
      "root_org_id": "46f0a1ce86ec3d91fae00db3b8b48cee",
      "should_display_parent_orgs": true
    },
    "settings": {
      "abuse_contact_email": "abuse_contact_email",
      "enforce_twofactor": true
    }
  }
}
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": "023e105f4ecef8ad9ca31a8372d0c353",
    "name": "Demo Account",
    "type": "standard",
    "created_on": "2014-03-01T12:21:02Z",
    "legacy_flags": {
      "enterprise_zone_quota": {
        "available": 168,
        "current": 82,
        "maximum": 250
      }
    },
    "managed_by": {
      "parent_org_id": "4536bcfad5faccb111b47003c79917fa",
      "parent_org_name": "Demo Parent Organization",
      "root_org_id": "46f0a1ce86ec3d91fae00db3b8b48cee",
      "should_display_parent_orgs": true
    },
    "settings": {
      "abuse_contact_email": "abuse_contact_email",
      "enforce_twofactor": true
    }
  }
}