Skip to content
Start here

Create a tenant structure

zero_trust.cws.tenant_structures.create(TenantStructureCreateParams**kwargs) -> TenantStructure
POST/accounts/{account_id}/cws/tenant-structures

Creates an empty tenant hierarchy for the selected cloud application.

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
account_id: str

Cloudflare account ID (32-character hexadecimal string)

maxLength32
minLength32
application: Literal["aws", "cloudflare"]

Platform this structure models. Immutable after creation.

One of the following:
"aws"
"cloudflare"
name: str

Human-readable name; unique per account

maxLength100
minLength1
import_path: Optional[str]

Optional unique Rego mount path in the form tenant..; application must match. Omit to leave unmounted.

maxLength255
minLength1
ReturnsExpand Collapse
class TenantStructure: …
id: str

Server-assigned UUID

formatuuid
application: Literal["aws", "cloudflare"]

Platform this structure models. Immutable after creation; determines valid node kinds and identifier formats.

One of the following:
"aws"
"cloudflare"
created_at: datetime
formatdate-time
name: str

Human-readable name; unique per account

maxLength100
minLength1
updated_at: datetime
formatdate-time
import_path: Optional[str]

Optional unique Rego mount path in the form tenant... The application segment must match application; omitted when unmounted.

maxLength255
minLength1

Create a tenant structure

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
tenant_structure = client.zero_trust.cws.tenant_structures.create(
    account_id="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    application="aws",
    name="x",
)
print(tenant_structure.id)
{
  "errors": [
    {
      "code": 0,
      "message": "message",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 0,
      "message": "message",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "application": "aws",
    "created_at": "2019-12-27T18:11:19.117Z",
    "name": "x",
    "updated_at": "2019-12-27T18:11:19.117Z",
    "import_path": "x"
  },
  "success": true
}
Returns Examples
{
  "errors": [
    {
      "code": 0,
      "message": "message",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 0,
      "message": "message",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "application": "aws",
    "created_at": "2019-12-27T18:11:19.117Z",
    "name": "x",
    "updated_at": "2019-12-27T18:11:19.117Z",
    "import_path": "x"
  },
  "success": true
}