Skip to content
Start here

Create account commands

zero_trust.dex.commands.create(CommandCreateParams**kwargs) -> CommandCreateResponse
POST/accounts/{account_id}/dex/commands

Initiate commands for up to 10 devices per account

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
Accepted Permissions (at least one required)
Cloudflare DEX Write
ParametersExpand Collapse
account_id: str
maxLength32
commands: Iterable[Command]

List of device-level commands to execute

command_type: Literal["pcap", "warp-diag"]

Type of command to execute on the device

One of the following:
"pcap"
"warp-diag"
device_id: str

Unique identifier for the physical device

user_email: str

Email tied to the device

command_args: Optional[CommandCommandArgs]
interfaces: Optional[List[Literal["default", "tunnel"]]]

List of interfaces to capture packets on

One of the following:
"default"
"tunnel"
max_file_size_mb: Optional[float]

Maximum file size (in MB) for the capture file. Specifies the maximum file size of the warp-diag zip artifact that can be uploaded. If the zip artifact exceeds the specified max file size, it will NOT be uploaded

minimum1
packet_size_bytes: Optional[float]

Maximum number of bytes to save for each packet

minimum1
test_all_routes: Optional[bool]

Test an IP address from all included or excluded ranges. Tests an IP address from all included or excluded ranges. Essentially the same as running ‘route get ” and collecting the results. This option may increase the time taken to collect the warp-diag

time_limit_min: Optional[float]

Limit on capture duration (in minutes)

minimum1
registration_id: Optional[str]

Unique identifier for the device registration. Required for multi-user devices to target the correct user session.

ReturnsExpand Collapse
class CommandCreateResponse:
commands: Optional[List[Command]]

List of created commands

id: Optional[str]

Unique identifier for the command

args: Optional[Dict[str, str]]

Command arguments

device_id: Optional[str]

Identifier for the device associated with the command

registration_id: Optional[str]

Unique identifier for the device registration

status: Optional[Literal["PENDING_EXEC", "PENDING_UPLOAD", "SUCCESS", "FAILED"]]

Current status of the command

One of the following:
"PENDING_EXEC"
"PENDING_UPLOAD"
"SUCCESS"
"FAILED"
type: Optional[str]

Type of the command (e.g., “pcap” or “warp-diag”)

Create account commands

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
command = client.zero_trust.dex.commands.create(
    account_id="01a7362d577a6c3019a474fd6f485823",
    commands=[{
        "command_type": "pcap",
        "device_id": "device_id",
        "user_email": "user_email",
    }],
)
print(command.commands)
{
  "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": {
    "commands": [
      {
        "id": "id",
        "args": {
          "foo": "string"
        },
        "device_id": "device_id",
        "registration_id": "registration_id",
        "status": "PENDING_EXEC",
        "type": "type"
      }
    ]
  },
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000,
    "total_pages": 100
  }
}
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": {
    "commands": [
      {
        "id": "id",
        "args": {
          "foo": "string"
        },
        "device_id": "device_id",
        "registration_id": "registration_id",
        "status": "PENDING_EXEC",
        "type": "type"
      }
    ]
  },
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000,
    "total_pages": 100
  }
}