API Documentation
Everything you need to integrate Evensee into your application or AI agent.
Authentication
All API requests must include your API key in the x-api-key header. You can generate API keys from your dashboard.
x-api-key: cf_live_xxxxxxxxxxxxxxxxxxxx
Base URL
All API endpoints are relative to the following base URL:
https://evensee.io/api/v1Endpoints
Send Email
/api/v1/sendSend a transactional email using a pre-built template. Returns a message ID and, for verification-type templates, a token for later verification.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| to | string | Yes | Recipient email address. |
| template | string | Yes | Template key. 15 built-in: verification, welcome, magic_link, password_reset, otp_code, team_invitation, invoice, order_confirmation, shipping_update, subscription_reminder, account_deletion, feedback_request, newsletter, weekly_digest, notification. Or use a custom template name. |
| subject | string | No | Override the default email subject line. |
| data | object | No | Template variables. Fields depend on template: name, callback_url, login_url, otp_code, expires_in, items, total, customer_name, etc. |
data Fields
Example Request
curl -X POST https://evensee.io/api/v1/send -H "x-api-key: cf_live_..." -H "Content-Type: application/json" -d '{ "to": "user@example.com", "template": "verification", "data": { "name": "Jane", "callback_url": "https://yourapp.com/verify" } }'
Response
{ "id": "msg_01jx...", "status": "sent" }
Verify Token
/api/v1/verifyVerify a token returned from a send request. Use this to confirm a user clicked a verification link or magic link.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| token | string | Yes | The token value returned from the /send response. |
Example Request
curl -X POST https://evensee.io/api/v1/verify -H "x-api-key: cf_live_..." -H "Content-Type: application/json" -d '{ "token": "tok_abc123..." }'
Response
{ "verified": true, "email": "user@example.com", "type": "verification", "verified_at": "2026-03-10T14:32:00Z" }
Get Email Status
/api/v1/status/:idRetrieve the delivery status and event timestamps for a previously sent email.
Path Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | The message ID returned from the /send response. |
Example Request
curl https://evensee.io/api/v1/status/msg_01jx... -H "x-api-key: cf_live_..."
Response
{ "id": "msg_01jx...", "to": "user@example.com", "subject": "Verify your email", "status": "delivered", "template": "verification", "sent_at": "2026-03-10T14:30:00Z", "delivered_at": "2026-03-10T14:30:04Z", "opened_at": "2026-03-10T14:32:11Z", "clicked_at": null, "token": "tok_abc123..." }
Domains
/api/v1/domainsRegister a sending domain. Returns DNS records you must add to verify ownership and enable delivery.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| domain | string | Yes | The domain you want to register, e.g. mail.yourapp.com. |
Example Request
curl -X POST https://evensee.io/api/v1/domains -H "x-api-key: cf_live_..." -H "Content-Type: application/json" -d '{ "domain": "mail.yourapp.com" }'
Response
{ "id": "dom_01jx...", "domain": "mail.yourapp.com", "status": "pending", "dns_records": [...], "message": "Add the DNS records and call verify." }
/api/v1/domains/:id/verifyTrigger DNS verification for a registered domain. The ID is returned when the domain was created.
Path Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | The domain ID returned from the create endpoint. |
Example Request
curl -X POST https://evensee.io/api/v1/domains/dom_01jx.../verify -H "x-api-key: cf_live_..."
Response
{ "status": "verified", "domain": "mail.yourapp.com" }
/api/v1/domainsList all domains registered to your account.
Example Request
curl https://evensee.io/api/v1/domains -H "x-api-key: cf_live_..."
Response
{ "domains": [ { "id": "dom_01jx...", "domain": "mail.yourapp.com", "status": "verified" } ] }
Rate Limits
The API enforces rate limits per API key to ensure fair usage and service stability.
| Limit | Window | Scope |
|---|---|---|
| 120 requests | Per minute | Per API key |
When a rate limit is exceeded, the API returns a 429 Too Many Requests response. Retry after the window resets. Higher limits available on paid plans.
MCP Integration
Evensee ships a Model Context Protocol (MCP) server so AI agents can call send_email, verify_token, and other actions as native tools — no glue code required.
Install it from npm and point your MCP client at it:
npx evensee-mcp
Compatible with Claude, Cursor, Continue, and any MCP-compliant agent framework. Once connected, your agent can send transactional emails and verify tokens without leaving its tool-calling loop.
Connect to Claude Code
Give your AI agent the power to send emails. Set up Evensee as an MCP tool in under 2 minutes.
Get your API key
Sign up at evensee.io/signup, create a project, and generate an API key from the API Keys page. Your key starts with cf_live_
Add to Claude Code
Open your project's .mcp.json or go to Settings → MCP Servers in Claude Code and add:
{ "mcpServers": { "evensee": { "command": "npx evensee-mcp", "env": { "EVENSEE_API_KEY": "cf_live_YOUR_KEY_HERE" } } } }
cf_live_YOUR_KEY_HERE with your actual API key.Use it
Your agent now has access to 9 tools. Just ask it naturally:
> Send a verification email to user@example.com
> Add domain myapp.com and show me the DNS records
> Check if email msg_01jx... was delivered
Available MCP Tools
send_emailSend transactional emails
verify_tokenVerify email/magic link tokens
get_email_statusCheck delivery status
create_projectCreate a new project
create_api_keyGenerate API keys
add_domainRegister sending domain
verify_domainVerify DNS records
list_domainsList all domains
scrape_brandAuto-detect brand from URL
Other MCP Clients
Evensee works with any MCP-compatible client. Copy the JSON config above and adapt it for your setup:
| Client | Config location |
|---|---|
| Claude Code | .mcp.json in project root |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Cursor | .cursor/mcp.json in project root |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |