Skip to content
Start here

Create a DEX Rule

client.ZeroTrust.DEX.Rules.New(ctx, params) (*DEXRuleNewResponse, error)
POST/accounts/{account_id}/dex/rules

Create a DEX Rule

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
params DEXRuleNewParams
AccountID param.Field[string]

Path param: unique identifier linked to an account in the API request path

maxLength32
Match param.Field[string]

Body param: The wirefilter expression to match.

Name param.Field[string]

Body param: The name of the Rule.

Description param.Field[string]optional

Body param

ReturnsExpand Collapse
type DEXRuleNewResponse struct{…}
ID string

API Resource UUID tag.

maxLength36
CreatedAt string
Match string
Name string
Description stringoptional
TargetedTests []DEXRuleNewResponseTargetedTestoptional
Data DEXRuleNewResponseTargetedTestsData

The configuration object which contains the details for the WARP client to conduct the test.

Host string

The desired endpoint to test.

Kind DEXRuleNewResponseTargetedTestsDataKind

The type of test.

One of the following:
const DEXRuleNewResponseTargetedTestsDataKindHTTP DEXRuleNewResponseTargetedTestsDataKind = "http"
const DEXRuleNewResponseTargetedTestsDataKindTraceroute DEXRuleNewResponseTargetedTestsDataKind = "traceroute"
Method DEXRuleNewResponseTargetedTestsDataMethodoptional

The HTTP request method type.

Enabled bool
Name string
TestID string
UpdatedAt stringoptional

Create a DEX Rule

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/option"
  "github.com/cloudflare/cloudflare-go/zero_trust"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  rule, err := client.ZeroTrust.DEX.Rules.New(context.TODO(), zero_trust.DEXRuleNewParams{
    AccountID: cloudflare.F("01a7362d577a6c3019a474fd6f485823"),
    Match: cloudflare.F("match"),
    Name: cloudflare.F("name"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", rule.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": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
    "created_at": "2023-07-16 15:00:00+00",
    "match": "match",
    "name": "name",
    "description": "description",
    "targeted_tests": [
      {
        "data": {
          "host": "https://dash.cloudflare.com",
          "kind": "http",
          "method": "GET"
        },
        "enabled": true,
        "name": "name",
        "test_id": "test_id"
      }
    ],
    "updated_at": "2023-07-16 15:00:00+00"
  }
}
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": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
    "created_at": "2023-07-16 15:00:00+00",
    "match": "match",
    "name": "name",
    "description": "description",
    "targeted_tests": [
      {
        "data": {
          "host": "https://dash.cloudflare.com",
          "kind": "http",
          "method": "GET"
        },
        "enabled": true,
        "name": "name",
        "test_id": "test_id"
      }
    ],
    "updated_at": "2023-07-16 15:00:00+00"
  }
}