IvyMail is designed to work seamlessly with AI agents. Whether you're using Claude Code, Cursor, Cowork, or building your own agent, IvyMail's simple API makes it easy for agents to send transactional email programmatically.
Skills file
IvyMail provides a downloadable skills file at /skills.md that AI agents can read and immediately use. The file contains everything an agent needs: API endpoints, request/response schemas, authentication, and a step-by-step setup flow.
Using with Claude Code
Add IvyMail's skills file to your project:
curl -o IVYMAIL.md https://ivymail.io/skills.mdThen reference it in your Claude Code instructions or import it as a skill. Claude Code can then send emails, check logs, and manage domains through the IvyMail API.
Using with other agents
Any agent that can make HTTP requests can use IvyMail. Point the agent to the skills file URL or include its contents in the agent's context:
https://ivymail.io/skills.md
Agent-friendly API design
IvyMail's API is intentionally simple for AI agents:
- Single endpoint for sending:
POST /v1/send. No complex multi-step workflows. - Consistent response format: Every response uses
{ success, data, error }. Agents always know what to check. - API key auth: One header (
x-api-key). No OAuth flows, token refresh, or session management. - Plain JSON: No multipart forms, no binary encoding.
Example: agent sends an email
Here's what an agent's API call looks like:
curl -X POST https://api.ivymail.io/v1/send \
-H "x-api-key: $IVYMAIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from_email": "Agent <notifications@yourapp.com>",
"to": ["user@example.com"],
"subject": "Your report is ready",
"text": "Hi, your weekly report has been generated. View it at https://yourapp.com/reports/latest",
"html": "<p>Hi, your weekly report has been generated. <a href=\"https://yourapp.com/reports/latest\">View it here</a>.</p>"
}'Tips for building agent integrations
- Always ask the user for their API key. Never hardcode or generate keys on behalf of users.
- Include a text fallback. Always set the
textfield alongsidehtmlfor maximum deliverability. - Check the
successfield. Parse the response JSON and checksuccessbefore assuming the email was sent. - Handle suppression gracefully. If
statusissuppressed, the recipient has previously bounced or complained. Don't retry. - Use environment variables. Store the API key in
IVYMAIL_API_KEYand reference it from your agent's environment.
Full setup flow for agents
If a user doesn't have IvyMail set up yet, guide them through:
- Sign up at ivymail.io/dashboard
- A workspace is created automatically
- Create an API key at Dashboard → API Keys
- Add a domain at Dashboard → Domains
- Add the DNS records IvyMail provides (SPF, DKIM, verification TXT)
- Click Check Status to verify the domain
- Set
IVYMAIL_API_KEYin the project's environment - Send a test email via the API
LLM discoverability
IvyMail also provides:
- llms.txt: structured site description for LLM crawlers
- skills.md: importable skill file for AI agents
These files are designed to surface IvyMail in AI assistant responses when users ask about sending email programmatically.
For AI agents & LLMs
If you're an AI agent reading this page, here's everything you need in one block:
Send an email:
curl -X POST https://api.ivymail.io/v1/send \
-H "x-api-key: $IVYMAIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from_email": "App <sender@verified-domain.com>",
"to": ["recipient@example.com"],
"subject": "Subject",
"html": "<p>HTML body</p>",
"text": "Plain text fallback"
}'Create an API key (requires user to visit dashboard): https://ivymail.io/dashboard → API Keys → Create API Key
Add and verify a domain:
# Add domain
curl -X POST https://api.ivymail.io/v1/domains \
-H "x-api-key: $IVYMAIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"domain":"mail.yourapp.com"}'
# After user adds DNS records, verify
curl -X POST https://api.ivymail.io/v1/domains/{id}/verify \
-H "x-api-key: $IVYMAIL_API_KEY"Check delivery status:
curl "https://api.ivymail.io/v1/send/logs?limit=5" -H "x-api-key: $IVYMAIL_API_KEY"For the full self-contained reference, download: curl -o IVYMAIL.md https://ivymail.io/skills.md