Resend

How an agent gets a Resend key through KeyKeeper, what to choose on resend.com, and how KeyKeeper verifies it.

Template idresend (also resend-api-key)
Fieldresend-api-key → RESEND_API_KEY · secret
Key looks likestarts with re_, shown once when created
Created atresend.com
Verified by KeyKeeperGET https://api.resend.com/domains — lists domains; a sending-only key answers 'restricted', which also proves it is real
Template checked2026-09-15

What the agent does

keykeeper providers show resend
keykeeper save --provider resend --from-clipboard --create --purpose "what this task does"
keykeeper run -c resend -- <your command>

--provider resend fills in the credential id and the field. The environment variable is the one Resend's own tools read, so nothing has to be mapped.

What only you can do

Log in to resend.com
Name the key
Pick the permission and, for sending access, the domain
Copy the key, then approve the save in KeyKeeper's window.

What to choose

Permission = Sending access, limited to the one domain the task sends from. Full access can manage domains and other keys; do not suggest it.

The agent is told the same thing. It opens the page for you and says what to pick; it never logs in, passes 2FA or pays on your behalf.

What KeyKeeper checks

  • Before writing: the value must look like a Resend key (starts with re_, shown once when created). A wrong paste is refused before anything is stored, and the agent is told why — without the value.
  • After saving: KeyKeeper itself sends GET https://api.resend.com/domains with the key in the Authorization header (lists domains; a sending-only key answers 'restricted', which also proves it is real). A restricted key that answers with restricted_api_key counts as valid. The agent receives accepted, rejected or could not reach — never the value.

Rotation and expiry

Keys do not expire; Resend suggests removing keys unused for 30 days. Rotate or revoke at resend.com.