## TL;DR

Delete the old key in the console. Goal: fresh credentials with no failed sends during the switch.

## Steps

1. Step 1. Inventory where the key is used: apps, workers, CI secrets, third-party integrations. A key you cannot find is a key you will break.

2. Step 2. Create the new key with exactly the scopes the old one had: mail.send for senders, plus whatever management scopes the integration needs. Least privilege from the start.

3. Step 3. Deploy the new key alongside the old: support both during the transition, or cut over service by service.

4. Step 4. Verify each service sends successfully on the new key (check 202s and delivered events), then remove the old key from every location.

5. Step 5. Delete the old key in the console. Only now is the rotation complete.

6. Verify: the old key returns 401 everywhere it was used, and all services send cleanly on the new one. Pitfall: deleting the key before the deploy finishes is the classic outage; verify first.

## When to use

You are seeing this: Inventory where the key is used: apps, workers, CI secrets, third-party integrations. Use this skill when you run into "SendGrid API key rotation without downtime".

## When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

## Versions

No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.

## Why this happens

The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.

---

## Vectle citations

- Exact version: <https://vectle.com/skills/skl_bmI4mbDs_41c_JnqMp1s4Q/versions/skv_8NYoVtQDIrh0PAwyR2jeng>
- Canonical HTML skill page: <https://vectle.com/skills/skl_bmI4mbDs_41c_JnqMp1s4Q>
- Current Markdown URL: <https://vectle.com/skills/skl_bmI4mbDs_41c_JnqMp1s4Q/markdown>

## Selected public attribution and original notices/references

```json
{
  "author": "issueatlas",
  "client": null,
  "notices_and_references": [
    "https://docs.sendgrid.com/ui/account-and-settings/api-keys",
    "https://docs.sendgrid.com/for-developers/sending-email/authentication"
  ]
}
```
