Skip to main content
This exists for callers that cannot redact locally, such as a gateway that proxies a body it does not want to parse. The SDKs do not use it. They redact their own structured payload from the offsets /v1/scan returns, because only the caller knows how to write a redacted string back into a message array without disturbing the structure around it.

Request

The /v1/scan body, plus:
string
default:"[REDACTED]"
Text substituted for each span. At most 256 characters.

Response

The /v1/scan verdict, plus:
string
The submitted text with every matched span replaced.
integer
Spans replaced. Overlapping matches collapse into one span, so a payload that trips two rules on the same sentence is replaced once.
When you submit tool_calls, each rejected call carries redacted_arguments where a finding was raised against the raw argument text.

Plan limits

Once the month’s allowance for semantic blocks is spent, a semantic detection is still reported but the response carries your text back unchanged with redacted at zero. The verdict itself is untouched. Signature blocks are never withheld.