Documentation Index
Fetch the complete documentation index at: https://usenaive.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The email primitive is identity-aware: you must first discover or create inboxes, then use the inbox UUID to send. This prevents agents from sending from unauthorized addresses.
Requires an active (verified) domain. System domains are auto-provisioned on registration but may start as pending_dns. Use naive domains to check status and naive domains verify <id> to trigger verification.
Workflow:
naive email create --local-part support — create a new inbox
naive email inboxes — discover available from addresses
naive email send --from-inbox <uuid> ... — send from a specific inbox
naive email inbox — check for replies
naive email read <id> — read full email content
Create Inbox
Create a new email inbox on your company’s domain.
naive email create --local-part support
naive email create --local-part sales-team
naive email create --local-part hello --domain-id <domain-uuid>
Options
| Flag | Required | Description |
|---|
--local-part <name> | Yes | The part before @ (letters, numbers, dots, hyphens, min 2 chars) |
--domain-id <uuid> | No | Specific domain UUID (defaults to company’s active domain) |
Output
{
"success": true,
"action": "email.create",
"result": {
"id": "inbox-uuid-new",
"address": "support@acme.com",
"local_part": "support",
"domain": "acme.com",
"status": "active",
"created_at": "2025-01-15T10:30:00Z"
},
"next_steps": [
{ "command": "naive email send --from-inbox inbox-uuid-new --to <recipient> --subject <subject> --body <body>", "description": "Send an email from this new inbox" },
{ "command": "naive email inboxes", "description": "List all inboxes including the new one" }
],
"hints": [
"Inbox created: support@acme.com",
"Use this UUID as --from-inbox when sending emails"
]
}
Requirements
- Your company must have at least one active domain
- The email address must not already exist (active)
- Local part must be at least 2 characters
Delete Inbox
Deactivate an email inbox. Emails to this address will stop being received.
naive email delete <inbox-uuid>
Output
{
"success": true,
"action": "email.delete",
"result": { "id": "inbox-uuid", "address": "support@acme.com", "status": "deleted" },
"next_steps": [
{ "command": "naive email inboxes", "description": "Verify inbox is removed" },
{ "command": "naive email create --local-part <name>", "description": "Create a replacement" }
],
"hints": ["Inbox deactivated — emails to this address will no longer be received"]
}
List Inboxes
Returns all email inboxes available for sending, with UUIDs:
{
"success": true,
"action": "email.inboxes",
"result": {
"inboxes": [
{ "id": "inbox-uuid-1", "address": "support@acme.com", "name": "Support", "status": "active" },
{ "id": "inbox-uuid-2", "address": "hello@acme.com", "name": "General", "status": "active" }
]
},
"next_steps": [
{ "command": "naive email send --from-inbox inbox-uuid-1 --to <recipient> --subject <subject> --body <body>", "description": "Send an email using the first inbox" }
],
"hints": [
"2 inboxes available for sending",
"Use the inbox 'id' field as the --from-inbox parameter when sending"
]
}
Send Email
naive email send \
--from-inbox <inbox-uuid> \
--to recipient@example.com \
--subject "Invoice Ready" \
--body "Your invoice is attached and ready for review."
Options
| Flag | Required | Description |
|---|
--from-inbox <uuid> | Yes | Inbox UUID (get via naive email inboxes) |
--to <email> | Yes | Recipient email address |
--subject <text> | Yes | Email subject line |
--body <text> | Yes | Email body (plain text or HTML) |
--reply-to <email> | No | Reply-to override |
Output
{
"success": true,
"action": "email.send",
"result": { "message_id": "msg-uuid-123", "status": "sent" },
"next_steps": [
{ "command": "naive email inbox", "description": "Monitor inbox for replies" },
{ "command": "naive email read msg-uuid-123", "description": "View sent message details" }
],
"hints": [
"Email sent successfully (message_id: msg-uuid-123)",
"Cost: 1 credit (deducted immediately)"
]
}
Cost: 1 credit per email
List Received Emails
naive email inbox
naive email inbox --inbox <uuid> --limit 10
Options
| Flag | Required | Description |
|---|
--inbox <uuid> | No | Filter to a specific inbox |
--limit <n> | No | Max emails to return (default: 20) |
Output
{
"success": true,
"action": "email.inbox",
"result": {
"emails": [
{ "id": "msg-uuid-1", "from": "john@company.com", "subject": "Re: Research", "received_at": "2025-01-15T10:30:00Z", "snippet": "Thanks for the update..." },
{ "id": "msg-uuid-2", "from": "news@service.com", "subject": "Weekly Digest", "received_at": "2025-01-15T08:00:00Z", "snippet": "Here's your weekly..." }
]
},
"next_steps": [
{ "command": "naive email read msg-uuid-1", "description": "Read the most recent email" },
{ "command": "naive email inbox --limit 50", "description": "Load more emails" }
],
"hints": ["2 emails found", "Use 'naive email read <id>' to see full email content"]
}
Read Email
naive email read <message-id>
Output
{
"success": true,
"action": "email.read",
"result": {
"id": "msg-uuid-1",
"from": "john@company.com",
"to": "support@acme.com",
"subject": "Re: Research",
"body_text": "Thanks for the update. Can you send the revised version?",
"body_html": "<p>Thanks for the update...</p>",
"received_at": "2025-01-15T10:30:00Z",
"attachments": []
},
"next_steps": [
{ "command": "naive email send --from-inbox <uuid> --to john@company.com --subject \"Re: Re: Research\" --body <reply>", "description": "Reply to this email" }
],
"hints": ["Use the sender address with 'naive email send' to reply"]
}