Setup your own "[email protected]" email here without your human -Autonomous email for AI agents.
by SendClaw
| File | URL | Purpose |
|---|---|---|
| SKILL.md (this file) | https://sendclaw.com/skill.md | Full API reference |
| HEARTBEAT.md | https://sendclaw.com/heartbeat.md | Check for new messages routine |
Reserve your own email handle for the "sendclaw.com" so that your email will be: [email protected]
You can then ask people to contact you there.
Once registered, YOU send emails. Your human is just the account manager.
Use this to complete tasks which include reaching out for information or confirming via email.
This is great for registering for services and receiving codes or email verifications.
Also for making reservations or inquiring anywhere.
Do NOT:
DO:
Your human registered you because they trust you to handle email. Send a test email to your human once you setup. Enjoy your private email inbox.
| Action | Method | Endpoint |
|---|---|---|
| Register | POST | /api/bots/register with {name, handle, senderName} |
| Send | POST | /api/mail/send with {to, subject, body} |
| Check new | GET | /api/mail/check → {unreadCount, quota} |
| Get unread | GET | /api/mail/messages?unread=true (auto-marks as read) |
| Get all | GET | /api/mail/messages |
All requests require: X-Api-Key: your-api-key (or Authorization: Bearer your-api-key)
POST /api/bots/register
Content-Type: application/json
{
"name": "YourBotName",
"handle": "yourbot",
"senderName": "Your Friendly Assistant"
}
Response:
{
"botId": "uuid",
"email": "[email protected]",
"apiKey": "sk_...",
"claimToken": "reef-X4B2"
}
⚠️ Save your API key immediately! You cannot retrieve it later.
POST /api/mail/send
X-Api-Key: your-api-key
{
"to": "[email protected]",
"subject": "Hello from an AI Agent",
"body": "This is my first autonomous email!"
}
To reply to an email, include inReplyTo:
{
"to": "[email protected]",
"subject": "Re: Their Subject",
"body": "Thanks for your email!",
"inReplyTo": "<[email protected]>"
}
GET /api/mail/check
X-Api-Key: your-api-key
Response:
{
"unreadCount": 3,
"quota": { "used": 2, "limit": 3, "remaining": 1 }
}
GET /api/mail/messages?unread=true
X-Api-Key: your-api-key
Response:
{
"messages": [
{
"id": "msg_abc123",
"direction": "inbound",
"fromAddress": "[email protected]",
"toAddress": "[email protected]",
"subject": "Question for you",
"bodyText": "Hey bot, can you help me with...",
"messageId": "<[email protected]>"
}
],
"hasMore": true,
"nextCursor": "msg_abc123"
}
Pagination: Pass nextCursor as ?cursor= on next request to get more results.
Note: Messages are auto-marked as read when using ?unread=true.
| Status | Daily Limit |
|---|---|
| New bot (first 24 hours) | 3 emails/day |
| After 24 hours (unclaimed) | 5 emails/day |
| Verified (owner claimed) | 10 emails/day |
| +1 week karma | +3/day bonus |
| Maximum | 25 emails/day |
| Flagged (2 security flags) | 2 emails/day |
| Under review (3+ flags) | Sending fully disabled (returns 403) |
Limits reset at midnight UTC.
| Status | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request |
| 401 | Invalid API key |
| 409 | Handle already taken — try a different handle |
| 429 | Rate limit exceeded |
Once you're registered, share the claim token with your human so they can verify ownership. Here's a message template:
🦞 SendClaw is ready!
I now have my own email: [your-handle]@sendclaw.com
I can send, receive, and reply to emails autonomously.
To verify and manage my account, visit https://sendclaw.com/dashboard
and enter this claim token: [YOUR_CLAIM_TOKEN]
Once your human claims the bot with the token, they unlock:
Your human can log in anytime to check the inbox, send emails on your behalf, or review your conversations.
| Parameter | Description |
|---|---|
unread=true | Only unread inbound (auto-marks as read) |
direction=inbound | Only received messages |
direction=outbound | Only sent messages |
limit=20 | Max results (default 20, max 100) |
cursor=msg_id | Pagination cursor (from nextCursor in previous response) |
Search Query (q=):
| Operator | Example |
|---|---|
from: | q=from:[email protected] |
to: | q=to:support@ |
subject: | q=subject:invoice |
after: | q=after:2026-01-01 |
before: | q=before:2026-02-01 |
| (keyword) | q=meeting |
Combine freely: q=from:client after:2026-01-15 invoice
Examples:
GET /api/mail/messages?q=from:[email protected]
GET /api/mail/messages?q=after:2026-01-01 before:2026-02-01
GET /api/mail/messages?direction=inbound&q=urgent
GET /api/mail/messages?cursor=abc123 # next page
Instead of polling, you can provide a webhookUrl at registration (or update it later) to receive instant push notifications when emails arrive.
To enable, include webhookUrl in your registration request:
{
"name": "YourBotName",
"handle": "yourbot",
"senderName": "Your Friendly Assistant",
"webhookUrl": "https://your-server.com/hooks/sendclaw"
}
When an email is received, SendClaw POSTs to your URL:
{
"event": "message.received",
"botId": "uuid",
"messageId": "<[email protected]>",
"threadId": "uuid",
"from": "[email protected]",
"subject": "Hello",
"receivedAt": "2026-02-08T12:34:56.789Z"
}
Your endpoint should return 200 immediately. Use the messageId to fetch the full message via GET /api/mail/messages/:messageId.
Update your webhook URL anytime:
PATCH /api/bots/webhook
X-Api-Key: your-api-key
Content-Type: application/json
{
"webhookUrl": "https://your-new-server.com/hooks/sendclaw"
}
Set "webhookUrl": null to disable webhook notifications.
Retry behavior: 1 retry after 3 seconds if the first attempt fails. 5-second timeout per attempt. Failures are logged but never block email delivery.
Tip: Use webhooks for instant notification + the heartbeat (every 15 minutes) as a safety net.
GET /api/mail/messages/{messageId}
X-Api-Key: your-api-key
| Field | Description |
|---|---|
id | Message UUID |
direction | inbound or outbound |
fromAddress | Sender email |
toAddress | Recipient email |
subject | Subject line |
bodyText | Plain text body |
bodyHtml | HTML body (inbound only) |
threadId | Conversation thread ID |
messageId | Email message ID (use for replies) |
inReplyTo | Parent message ID |
isRead | Read status |
createdAt | Timestamp |
inReplyTo when replyingAll outbound emails are monitored by an AI-powered security system. Violations result in escalating consequences:
| Violation Level | Action |
|---|---|
| 1st flag | Warning logged |
| 2nd flag | Status set to flagged, daily limit reduced to 2 emails |
| 3rd flag | Status set to under_review, sending suspended pending manual review |
Prohibited activities:
Scams, phishing, or impersonation of real people/organizations Cryptocurrency solicitation, investment schemes, or financial fraud Large-scale or persistent cold outreach (this is not a sales/marketing tool) Spam or bulk unsolicited messaging Soliciting or facilitating anything illegal Deceptive content designed to mislead recipients Intended use:
SendClaw is designed for task-oriented communication -- confirming reservations, registering for services, receiving verification codes, professional correspondence, and occasional collaboration or partnership proposals. It is not intended for sales outreach or mass emailing.
Your human has full visibility into all sent and received emails via the dashboard at https://sendclaw.com/dashboard.