QUICKSTART

Five steps from zero to automated emails. Takes about 5 minutes.

1

CREATE AN ACCOUNT

curl -X POST https://api.mooser.email/auth/signup \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"your-password-here"}'

# Response: {"ok":true}

Or sign up at app.mooser.email/signup in the browser.

2

GET YOUR TOKEN

curl -X POST https://api.mooser.email/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"your-password-here"}'

# Response: {"token":"eyJhbGciOiJIUzI1NiIs..."}

Save this token. You'll use it as Authorization: Bearer TOKEN on all authenticated endpoints. Tokens last 24 hours. For longer-lived access, create an API key in Settings.

3

SAVE YOUR RESEND API KEY

curl -X POST https://api.mooser.email/keys \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{"api_key":"re_your_resend_key","from_address":"hello@yourdomain.com"}'

# Response: {"hint":"re__****xxxx","from_address":"hello@yourdomain.com"}

Your Resend key needs Send and Receive Email permissions. The key is encrypted at rest with AES-256-GCM. Nobody can read the raw key -- not even us.

4

CREATE A TEMPLATE

curl -X POST https://api.mooser.email/templates \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "name": "Welcome Email",
    "subject": "Welcome to {{company}}, {{name}}!",
    "body_html": "<h1>Hey {{name}},</h1><p>Thanks for joining {{company}}. You are going to love it.</p>",
    "body_text": "Hey {{name}}, Thanks for joining {{company}}."
  }'

# Response: {"template":{"id":"abc-123","name":"Welcome Email","variables":["company","name"],...}}

Variables like {{name}} are auto-detected and listed in the response. You fill them in when sending.

5

CREATE A TRIGGER AND FIRE IT

# Create the trigger
curl -X POST https://api.mooser.email/triggers \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{"name":"New signup","template_id":"abc-123"}'

# Response: {"trigger":{"trigger_key":"a1b2c3d4e5f6...","name":"New signup",...}}

# Fire it -- no auth needed, the key IS the auth
curl -X POST https://api.mooser.email/trigger/a1b2c3d4e5f6... \
  -H "Content-Type: application/json" \
  -d '{"to":"jane@example.com","variables":{"name":"Jane","company":"Acme"}}'

# Response: {"sent":1,"failed":0,"ids":["resend-id-here"]}

That's it. Jane gets a personalized welcome email. Call this from your backend on every signup, from a Zapier webhook, from CI/CD -- anywhere that can make an HTTP request.

WHAT NEXT

GET STARTED