Skip to main content
This quickstart takes you from a new account to a sent email, then shows the same send through the API.

1. Create a workspace

Sign up at app.xem.email, or at <your-app-url>/auth/register on a self-hosted install.

2. Connect a sender

Xem sends through a provider you choose.
  • Amazon SES or any SMTP server: go to Settings → SMTP senders and add a connection. For SES, follow Send with Amazon SES.
  • Managed sending (hosted app only): go to Settings → Managed sending and verify your domain.
Authenticate your domain with SPF, DKIM and DMARC before sending to real people.

3. Add contacts

Go to Audience → Lists, create a list, and choose Import Contacts. You can upload a CSV or a subscriber export from beehiiv, Substack, Mailchimp, Ghost or Kit. See Import contacts.

4. Send your first email

Create a campaign, pick a template, choose your list and sender, and send a test to yourself first. When it looks right, send or schedule it.

5. Send through the API

Create an API key in Settings → API keys, then send a single email:
Xem queues the email in your outbox and returns its id:
  • Use templateId and data instead of html to send a saved template with variables.
  • requestId is optional. It must be a UUID. Retrying the same message with the same id will not send it twice; reusing the id for a different message returns 409.
  • Add "scheduleAt": "2026-11-02T09:00:00Z" to send later.
On a self-hosted install, replace https://api.xem.email with your API URL. The full request schema is in the API reference.

Next steps