API keys
Generate API keys to connect EmailBuilder with the Gmail/Outlook add-ons, the MCP server, and other integrations.
API keys authenticate non-browser access to your EmailBuilder account. The Gmail add-on, Outlook add-in, and MCP server all use API keys.
Generating a key
- Go to Account → Integrations → API Keys.
- Click Generate new key.
- Give it a name describing its purpose: Gmail add-on, Claude MCP, Internal automation.
- Click Create. The key is shown to you once — copy it now.
Keys are prefixed with eb_ so they're recognisable in logs:
eb_00f49845ccb214259ca6ebb0a1080e61354cd434dd1ec080bacd0de15cbace87
After you close the dialog, the full key is never shown again. Store it in a password manager or your team's secrets store.
How keys are stored
Keys are stored as SHA-256 hashes on our side, not in plaintext. We can't retrieve a lost key — if you lose one, generate a new one and revoke the old.
Each key tracks:
- Name — what you called it on creation.
- Last used — timestamp of the most recent successful request.
- Created — when it was generated.
The Last Used column is the easiest signal for cleanup — anything idle for months is a candidate for revocation.
Naming convention
A clean naming convention helps you revoke selectively without breaking working integrations:
- Per integration:
Gmail add-on,Outlook add-in,Claude MCP — laptop,Claude MCP — server. - Per environment:
Production — webhook handler,Staging — webhook handler. - Per person:
Alice — Claude Desktop,Bob — Cursor.
Avoid generic names like key1 or api. When you need to revoke quickly (suspected leak, ex-employee), specific names save time.
Revoking a key
On the API Keys page, click Revoke next to any key. Revocation:
- Is immediate — the key stops authenticating on the next request.
- Cannot be undone — you can't reinstate a revoked key. Generate a new one if you revoke by mistake.
- Affects every device or integration using that key. Use named keys so you can revoke selectively without breaking unrelated integrations.
Permissions
Every key acts as your account — there's no per-key scope today. A key generated by an Admin has Admin permissions; a key generated by an Editor has Editor permissions. Keys inherit the role of the user who generated them at the time of authentication.
For high-trust automations (production sends, billing changes), generate the key from an Admin or Owner account. For day-to-day work (template editing, AI assistance), an Editor-role user is sufficient and limits blast radius if the key leaks.
Key rotation
Best practice for production systems:
- Generate a new key.
- Update your integration to use the new key.
- Verify it works (check the Last Used timestamp on the new key).
- Revoke the old key.
There's no automatic rotation today — you do this manually when convenient. We recommend rotating production keys at least quarterly.
What keys can't do
- Manage billing. The customer portal requires a browser session — keys can't change plans, update payment methods, or download invoices.
- Manage other API keys. Generating, listing, or revoking keys requires a browser session for security reasons.
- Send via REST API. There's no public REST send endpoint today. Use the MCP server or the Gmail/Outlook add-ons for programmatic-ish sending. A public REST API is on our roadmap.
If you suspect a key was leaked
- Revoke the key immediately.
- Check the key's Last Used timestamp — if it's after the suspected leak, treat it as compromised.
- Generate a new key with a different name.
- Update integrations.
- Audit recent activity in the affected integrations (e.g. unexpected templates, sends, integration changes).
Keys are scoped to your account — a leaked key can't access other accounts. The damage ceiling is what your own account can do. Still, rotate promptly.