Skip to content
Start here

Create a new dataset

zero_trust.dlp.datasets.create(DatasetCreateParams**kwargs) -> DatasetCreation
POST/accounts/{account_id}/dlp/datasets

Creates a new DLP (Data Loss Prevention) dataset for storing custom detection patterns. Datasets can contain exact match data, word lists, or EDM (Exact Data Match) configurations.

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)
Zero Trust Write
ParametersExpand Collapse
account_id: str
name: str
case_sensitive: Optional[bool]

Only applies to custom word lists. Determines if the words should be matched in a case-sensitive manner Cannot be set to false if secret is true or undefined

description: Optional[str]

The description of the dataset.

encoding_version: Optional[int]

Dataset encoding version

Non-secret custom word lists with no header are always version 1. Secret EDM lists with no header are version 1. Multicolumn CSV with headers are version 2. Omitting this field provides the default value 0, which is interpreted the same as 1.

formatint32
minimum0
secret: Optional[bool]

Generate a secret dataset.

If true, the response will include a secret to use with the EDM encoder. If false, the response has no secret and the dataset is uploaded in plaintext.

ReturnsExpand Collapse
class DatasetCreation:
dataset: Dataset
id: str
formatuuid
columns: List[Column]
entry_id: str
formatuuid
header_name: str
num_cells: int
formatint64
upload_status: Literal["empty", "uploading", "pending", 3 more]
One of the following:
"empty"
"uploading"
"pending"
"processing"
"failed"
"complete"
created_at: datetime
formatdate-time
encoding_version: int
formatint32
minimum0
name: str
num_cells: int
formatint64
secret: bool
status: Literal["empty", "uploading", "pending", 3 more]
One of the following:
"empty"
"uploading"
"pending"
"processing"
"failed"
"complete"
updated_at: datetime

Stores when the dataset was last updated.

This includes name or description changes as well as uploads.

formatdate-time
uploads: List[Upload]
num_cells: int
formatint64
status: Literal["empty", "uploading", "pending", 3 more]
One of the following:
"empty"
"uploading"
"pending"
"processing"
"failed"
"complete"
version: int
formatint64
case_sensitive: Optional[bool]
description: Optional[str]

The description of the dataset.

encoding_version: int

Encoding version to use for dataset.

formatint32
minimum0
max_cells: int
formatint64
minimum0
version: int

The version to use when uploading the dataset.

formatint64
secret: Optional[str]

The secret to use for Exact Data Match datasets.

This is not present in Custom Wordlists.

formatpassword

Create a new dataset

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
dataset_creation = client.zero_trust.dlp.datasets.create(
    account_id="account_id",
    name="name",
)
print(dataset_creation.dataset)
{
  "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": {
    "dataset": {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "columns": [
        {
          "entry_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "header_name": "header_name",
          "num_cells": 0,
          "upload_status": "empty"
        }
      ],
      "created_at": "2019-12-27T18:11:19.117Z",
      "encoding_version": 0,
      "name": "name",
      "num_cells": 0,
      "secret": true,
      "status": "empty",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "uploads": [
        {
          "num_cells": 0,
          "status": "empty",
          "version": 0
        }
      ],
      "case_sensitive": true,
      "description": "description"
    },
    "encoding_version": 0,
    "max_cells": 0,
    "version": 0,
    "secret": "secret"
  }
}
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": {
    "dataset": {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "columns": [
        {
          "entry_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "header_name": "header_name",
          "num_cells": 0,
          "upload_status": "empty"
        }
      ],
      "created_at": "2019-12-27T18:11:19.117Z",
      "encoding_version": 0,
      "name": "name",
      "num_cells": 0,
      "secret": true,
      "status": "empty",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "uploads": [
        {
          "num_cells": 0,
          "status": "empty",
          "version": 0
        }
      ],
      "case_sensitive": true,
      "description": "description"
    },
    "encoding_version": 0,
    "max_cells": 0,
    "version": 0,
    "secret": "secret"
  }
}