base url https://mymuse.email · auth Authorization: Bearer mm_... on everything except /, /docs, /skill, /v0/signup, /v0/health
Create an account + api key. Body: {"email": "you@example.com"}. The key is returned once — save it.
curl -s -X POST https://mymuse.email/v0/signup \
-H 'Content-Type: application/json' -d '{"email":"you@example.com"}'
# {"api_key":"mm_...","warning":"This key is shown once..."}
Create an inbox. Body: {"name": "deckard"} → {"id":"inbox_...","address":"deckard@mymuse.email"}. Omit name for a random address.
List your inboxes.
Delete an inbox and all its mail.
Rename an inbox. Body: {"name": "newname"} → new address newname@mymuse.email. Inbox id, history, and threads are kept.
List messages, newest first. Params: limit (default 50, max 200), label (e.g. unread), thread_id.
Get one message, with attachment metadata.
Send. Body: {"to":["a@b.c"],"subject":"..","text":".."} — or "html". Optional "cc", and "attachments": [{"filename","content_type","content":"base64..."}].
Reply in-thread. Body: {"text":".."} or {"html":".."} — sets In-Reply-To/References and Re: subject automatically.
Forward. Body: {"to":["a@b.c"],"text":"optional note"}.
Labels. Body: {"add_labels":["follow-up"],"remove_labels":["unread"]}.
Download an attachment.
List threads by recent activity, with message counts.
Get a thread with all its messages in order.