Documentation

CeanAI Documentation

Connect CeanAI to your app in minutes. This guide covers everything from setup to sending your first email and beyond.

Overview

What is CeanAI?

CeanAI is a transactional email infrastructure service. You get reliable delivery, a user-friendly REST API, and a dashboard to manage templates, domains, automations, and analytics.

Dashboard First

No-code setup for domains, templates, automations, and analytics.

Secure

API key authentication, hashed keys, and abuse protection.

High Deliverability

Verified domains, DKIM, and enterprise-grade infrastructure.

Real-Time Analytics

Live delivery status, logs, usage, and trends.

Setup

Getting Started in 5 Steps

Follow this checklist to go from zero to sending your first email.

1

Create your account

Sign up at /signup. You get a 7-day free trial with 100 emails — no credit card required.

2

Verify a custom domain

Go to Dashboard → Custom Domains, add your domain, and copy the DKIM (TXT) and Return-Path (CNAME) records to your DNS provider. Click Verify DNS once records have propagated.

3

Create your first template

Go to Dashboard → Templates. Click Seed Default Templates to instantly create welcome, OTP, password reset, and login alert templates. Or build your own with {{variable}} placeholders.

4

Create an automation

Go to Dashboard → Automations. Choose an event type (e.g., user.signup) and link it to a template. From now on, that event automatically sends the right email.

5

Get an API key

Go to Dashboard → API Keys and create a key. Copy the full key immediately — it is shown only once. Use it in the X-API-Key header of every API request.

Integration

Connect Your App to CeanAI

Use the Events API to trigger automated emails from your backend. Choose your language below and copy the working code.

Important: Keep your API key secret. Never expose it in client-side code or public repositories. Calls should be made from your server.

Base URL

https://api.ceanai.com/api/v1

Replace with your actual backend URL if self-hosting.

nodejs
const API_URL = 'https://api.ceanai.com/api/v1';
const API_KEY = 'your_api_key';

async function sendEmail(eventType, to, data = {}) {
  const response = await fetch(`${API_URL}/events`, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-API-Key': API_KEY,
    },
    body: JSON.stringify({
      event: eventType,
      to,
      data,
    }),
  });

  if (!response.ok) {
    const err = await response.json();
    throw new Error(err.error?.message || 'Failed to send email');
  }

  return response.json();
}

// Example: send a welcome email
sendEmail('user.signup', 'user@example.com', {
  name: 'John',
  appName: 'MyApp',
});
API

API Reference

All API calls require an X-API-Key header. The Events API is the recommended way to send transactional emails.

POST/events

Trigger an automated email. CeanAI looks up the automation matching the event type, fills the linked template with your data, and sends the email.

Request body

{ "event": "user.signup", "to": "user@example.com", "data": { "name": "John", "appName": "MyApp" }, "idempotencyKey": "optional-unique-key" }
  • event — required, must match an automation event type
  • to — required, valid recipient email address
  • data — optional object passed to the template variables
  • idempotencyKey — optional string to prevent duplicate sends
POST/emails/send

Send a single email directly without using an automation or template. Useful for one-off or dynamic content.

nodejs
const API_URL = 'https://api.ceanai.com/api/v1';
const API_KEY = 'your_api_key';

async function sendDirectEmail({ to, subject, html, from }) {
  const response = await fetch(`${API_URL}/emails/send`, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-API-Key': API_KEY,
    },
    body: JSON.stringify({
      to,
      subject,
      html,
      from,
    }),
  });

  return response.json();
}

sendDirectEmail({
  to: 'user@example.com',
  subject: 'Welcome to MyApp',
  html: '<h1>Welcome!</h1><p>Thanks for joining.</p>',
  from: 'hello@yourdomain.com',
});
  • to — required recipient
  • subject — required email subject
  • html — required HTML body
  • from — required sender address on a verified domain
  • text — optional plain text fallback
  • replyTo — optional reply-to address

Other Endpoints

GET/keysList your API keys
POST/keysCreate a new API key
DELETE/keys/:idRevoke an API key
GET/templatesList templates
POST/templatesCreate a template
POST/templates/seedSeed default templates
POST/templates/:id/testSend a test email
GET/eventsList event logs (JWT auth)
GET/emailsList sent emails (JWT auth)

Common Event Types

EventDescriptionTypical Template
user.signupNew user registrationWelcome email
auth.otpOTP verification codeOTP email
password.resetPassword reset linkPassword reset
security.loginNew login notificationLogin alert
auth.magic-linkMagic link authenticationMagic link
notificationGeneric notificationCustom notification
Dashboard

Dashboard Guide

Everything you need to manage email is in the dashboard.

Overview

Quick stats on total sent, delivered, failed, and current usage. Your command center for email health.

Custom Domains

Add and verify domains. Copy DKIM and Return-Path records to your DNS provider to enable sending.

Templates

Create and edit email templates with {{variable}} placeholders. Seed default templates in one click.

Automations

Map event types to templates. Once set up, CeanAI sends emails automatically when events arrive.

API Keys

Create, name, and revoke keys. The full key is shown only once, so save it immediately.

Logs

Detailed history of every email with status, recipient, and timestamp. Search and filter easily.

Analytics

Charts for delivery rates, volume, event distribution, and failures over time.

Billing

View plan, usage, and billing history. Upgrade or downgrade from the dashboard.

Templates

Email Templates

Templates define the subject and body of your emails. Use variables to personalize content.

Using Variables

Wrap variable names in double curly braces: {{name}}. When an event is triggered, pass the value in the data object and CeanAI replaces it automatically.

Subject

Welcome to {{appName}}, {{name}}!

Body

Hi {{name}}, your verification code is {{code}}.

Data passed in API call

data: { name: "John", appName: "MyApp", code: "123456" }

Seed Default Templates

New workspaces can instantly create templates for common flows: welcome, OTP, password reset, login alert, and magic link. Go to Dashboard → Templates and click Seed Default Templates.

Automations

Event-Based Automations

Automations link an event type to a template. Once created, every matching event sends the email automatically.

How to Create an Automation

  1. 1Go to Dashboard → Automations
  2. 2Click "Create Automation"
  3. 3Choose an event type (e.g., user.signup)
  4. 4Select the template to use
  5. 5Save — the automation is now active

Note: Only one automation is allowed per event type. To change the template for an event, edit the existing automation.

Domains

Custom Domains

Send emails from your own domain to build trust and improve deliverability.

  1. 1Go to Dashboard → Custom Domains
  2. 2Click "Add Domain" and enter your domain (e.g., yourdomain.com)
  3. 3Copy the generated DKIM (TXT) and Return-Path (CNAME) records
  4. 4Add them to your DNS provider (Cloudflare, GoDaddy, Namecheap, etc.)
  5. 5Click "Verify DNS" in CeanAI once records have propagated
  6. 6Start sending from addresses like noreply@yourdomain.com
Analytics

Analytics & Logs

Track every email event and understand delivery performance.

Delivery Tracking

Sent, delivered, opened, bounced, and failed counts in real time.

Usage Statistics

Monitor your monthly quota and API call volume.

Event Logs

Search and filter every email event by status, recipient, or date.

Volume Trends

Daily and 30-day volume charts for delivery analysis.

Billing

Billing & Plans

Choose the plan that fits your volume. Upgrade or downgrade anytime.

PlanPriceEmail LimitAPI Keys
Free TrialFree100 emails (7 days)1
Starter$18/mo8,000/month5
Growth$49/mo40,000/month10
Pro$89/mo90,000/monthUnlimited

Usage resets according to your Paddle billing cycle. Go to Dashboard → Billing to manage your plan.

Help

Need Help?

Our team is here to help you get the most out of CeanAI.

If you run into issues with DNS verification, API errors, or template rendering, reach out and we will help you resolve it quickly.