> ## Documentation Index
> Fetch the complete documentation index at: https://docs.drin.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Remove a suppression

> DELETE /v1/suppressions?email= — remove an address from the project's block list so it can receive mail again.

Take an address off the block list. After removal, sends to it are allowed again — so only un-suppress addresses you are confident you should be mailing.

**`DELETE /v1/suppressions`**

## Query parameters

The address is passed as a query parameter, not in the request body.

<ParamField query="email" type="string" required>
  The suppressed address to remove. URL-encode it when calling directly.
</ParamField>

<Warning>
  **Re-mailing a complaint risks your reputation.** Removing an address that complained or hard-bounced and then mailing it again can hurt your deliverability. Prefer leaving automatic suppressions in place unless you know the entry was a mistake.
</Warning>

## Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X DELETE "https://api.drin.run/v1/suppressions?email=do-not-mail@example.com" \
    -H "Authorization: Bearer $DRIN_API_KEY"
  ```

  ```typescript Node.js theme={null}
  import { DrinClient } from "@drin00/sdk";

  const drin = new DrinClient({ apiKey: process.env.DRIN_API_KEY });

  await drin.suppressions.delete("do-not-mail@example.com");
  ```
</CodeGroup>

## Response

Returns `204 No Content` with an empty body. The call is idempotent — removing an address that is not currently suppressed still succeeds.
