What's the difference between revoking and deleting an API key?

Last updated May 20, 2026API

On the Developer page, the three-dot menu next to each Valid Email Checker API key shows two destructive actions: Disable and Delete. Both stop the key from authenticating new API requests, but they differ in what stays behind, whether you can roll the change back, and how the row behaves afterward.

Side-by-side comparison

BehaviorDisable (revoke)Delete
Stops new requestsYes, immediatelyYes, immediately
Row visible in tableYes, status badge turns grey "Disabled"No, row disappears from view
ReversibleYes — click Enable from the same menuNo, irreversible from the UI
Usage history preservedYesYes (soft-delete behind the scenes)
Credits used counter retainedYesYes, but not visible to you
Counts toward active key listNoNo

How disable actually works under the hood

Disable flips the status column on the key row from active to disabled. The next request that hits /api/verify-single (or any other endpoint) with that key returns 403 API key is suspended immediately — see what error does the API return when the key is revoked for the exact response shape. The row stays in your Developer table with a grey "Disabled" badge so you remember it exists, and the actions menu now offers an Enable option that flips the status back to active.

Use disable when you suspect a key has been exposed but you are not 100% sure, or when you are pausing an integration for maintenance and plan to bring it back later. Re-enabling restores the original key value — no regeneration needed.

How delete actually works

Delete is a soft delete on our side. The row is marked status = deleted and disappears from the Developer table — but the underlying record stays in the database with all its usage history attached, because we tie billing records to it. There is no Restore option in the Developer UI. If you genuinely need a previously-deleted key back, you cannot recover the old value (we hash keys with SHA-256 and never store the plaintext), so just generate a fresh one.

A deleted key cannot be re-enabled
Once you click Delete and confirm in the modal, the key is gone from your dashboard for good. The usage data we keep server-side is for audit and billing; you cannot access it from the UI. Use disable instead if there is any chance you might want the key back.

When to choose which

  • Key leaked publicly (commit, screenshot, Slack DM) — delete it. The key is compromised; you do not want anyone re-enabling it accidentally. Generate a fresh key for the integration that was using it.
  • Pausing an integration for the weekend — disable. Easier to re-enable Monday morning than to update your secret store with a new value.
  • Decommissioning an old test environment — delete. The key is no longer needed and cluttering the table makes it harder to spot active keys.
  • Employee with API access left the company — depends. If they did not export the plaintext value, disable is enough. If you are unsure what they may have walked away with, delete and rotate.

Suspended vs. disabled

You may also see "Suspended" appear as a status on the Developer page — that is different from Disabled. Suspended means the Valid Email Checker abuse-protection system flagged the key (for example after repeated rate-limit hits or suspicious traffic patterns) and the action menu shows a red banner explaining the reason instead of an Enable button. Contact support if you believe a suspension was triggered in error; see how do I contact support.

Next steps