---
title: "Redact text and explain the redactions."
method: POST
path: "/api/explain"
tags: ["Explain"]
---

# Redact text and explain the redactions.

`POST /api/explain`

Redacts the plain-text request body using the given policy and context, returning the filtered text together with an explanation of every span that was redacted (type, position, and applied filter). Use the c query parameter to select a context and p to select a policy. When output signing is enabled in Admin Settings, the response includes an `X-Philter-Signature` header containing an ES256 JWT that binds the SHA-256 hash of the response body, the applied policy name and version, a per-response UUID, and an issue timestamp. Verify the signature using the public key from `GET /api/signing-key`. Requires the `redact` scope.

## Query parameters

- `c` string
- `p` string
- `filename` string

## Headers

- `Authorization` string, required

## Response `200`

Filtered text with explanation. Includes `X-Philter-Signature` JWT header when output signing is enabled.

- string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized.
- `405` — Method Not Allowed
- `413` — Content Too Large
- `415` — Unsupported Media Type
- `500` — Signing is enabled but the signing operation failed.
- `503` — Service Unavailable

---

[API](https://skmtc.net/philterd/apis/philter-api.md) · [All operations](https://skmtc.net/philterd/apis/philter-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/philterd/philter-api/versions/67443cd5a65b/schema)
