---
title: "Replace personal data in text with typed placeholders. Emails, phone numbers, cards, IBANs and IP addresses are matched by exact pattern and never left to the model - the deterministic cases cannot be missed. Names, addresses and ids are judged by a model, and output shorter than half the input is rejected, so redaction never silently deletes text. The method is returned with the result."
method: POST
path: "/v1/tools/redact-pii"
---

# Replace personal data in text with typed placeholders. Emails, phone numbers, cards, IBANs and IP addresses are matched by exact pattern and never left to the model - the deterministic cases cannot be missed. Names, addresses and ids are judged by a model, and output shorter than half the input is rejected, so redaction never silently deletes text. The method is returned with the result.

`POST /v1/tools/redact-pii`

## Request

- Base URL: `https://agents.dexl.io`
- URL: `https://agents.dexl.io/v1/tools/redact-pii`
- Auth: API key in header `X-Payment`

Paid per call via x402. Send without payment to get the exact price in the 402.

## Request body

- object
  - `text` string, required
  - `kinds` string[]: What to remove. Defaults to all of: email, phone, person, address, card, id, iban, ip.

## Response `200`

The tool output

## Other responses

- `400`: The input did not match the schema
- `402`: Payment required

---

[API](https://skmtc.dev/dexl/apis/dexl-agents.md) · [All operations](https://skmtc.dev/dexl/apis/dexl-agents/llms.txt) · [OpenAPI document](https://skmtc.dev/dexl/apis/dexl-agents/revisions/e3692765c3f7?raw)
