Skip to main content
POST
/
api
/
dataframer
/
anonymization-runs
Create an anonymization run
import requests

url = "https://df-api.dataframer.ai/api/dataframer/anonymization-runs/"

payload = {
    "dataset_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "pii_types": ["<string>"],
    "detection_method": "aimon_pii_m1",
    "llm_model_name": "<string>",
    "mask_config": {},
    "threshold": 0.3
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "status": "PENDING",
  "dataset_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "dataset_name": "<string>",
  "pii_types": [
    "<string>"
  ],
  "detection_method": "<string>",
  "llm_model_name": "<string>",
  "created_by_email": "[email protected]",
  "duration_seconds": 123,
  "results": {
    "entity_summary": {},
    "samples_processed": 123,
    "entities_found": [
      {
        "start": 123,
        "end": 123,
        "label": "<string>",
        "score": 123
      }
    ],
    "error": "<string>"
  },
  "anonymized_files": [
    {
      "id": "<string>",
      "path": "<string>",
      "size_in_bytes": 123,
      "content_type": "<string>"
    }
  ],
  "completed_at": "2023-11-07T05:31:56Z",
  "created_at": "2023-11-07T05:31:56Z"
}
Async operation: Anonymization run created and submitted. Returns the run ID immediately. Poll GET /api/dataframer/anonymization-runs/{run_id}/ until status is SUCCEEDED or FAILED.

Authorizations

Authorization
string
header
required

API Key authentication. Format: "Bearer YOUR_API_KEY"

Body

application/json

Request body for creating an anonymization run.

dataset_id
string<uuid>
required

UUID of the seed dataset to anonymize.

pii_types
string[]
required

List of PII/PHI entity types to detect and mask (e.g. ["first_name", "email", "phone_number"]). All values must be lowercase.

detection_method
enum<string>
required

Entity detection method. Use llm or compound methods when you need LLM-based detection; supply llm_model_name in that case.

Available options:
aimon_pii_m1,
llm,
heuristics,
aimon_pii_m1+heuristics,
llm+heuristics,
all
llm_model_name
string

LLM model name. Required when detection_method includes llm.

mask_config
object

Optional per-entity-type masking strategy, e.g. {"first_name": "<FIRST_NAME>", "email": "<EMAIL>"}. Defaults to redact all.

threshold
number<float>
default:0.3

Confidence threshold for entity detection (0.0–1.0). Lower values detect more entities; higher values reduce false positives.

Required range: 0 <= x <= 1

Response

Anonymization run created

A PII/PHI anonymization run.

id
string<uuid>

Unique identifier for the anonymization run.

status
enum<string>

Current status of the anonymization run.

Available options:
PENDING,
PROCESSING,
SUCCEEDED,
FAILED
dataset_id
string<uuid> | null

UUID of the seed dataset being anonymized.

dataset_name
string | null

Name of the seed dataset.

pii_types
string[]

List of PII/PHI entity types being detected.

detection_method
string

Entity detection method used.

llm_model_name
string | null

LLM model name (when detection_method includes llm).

created_by_email
string<email> | null

Email of the user who created this run.

duration_seconds
integer | null

Time taken to complete the run in seconds. Null until completed.

results
object

Anonymization results once the run completes.

anonymized_files
object[]

List of anonymized output files produced by the run.

completed_at
string<date-time> | null

When the run completed (succeeded or failed).

created_at
string<date-time>

When the run was created.