Sign up, create an API key, drop in the Python client, send your first templated email. That's the path. Here's what to read.
Create your free account. We auto-create your first tenant with the common transactional templates already seeded.
Go to API keys → New key. Copy it once — we don't show it again. Store it as SKYMAILR_API_KEY in your app's env.
One pip install. Wire the client into your Django / FastAPI / Flask app. Replace one ``send_mail`` call with a templated send.
Install and send your first email in three lines.
# install pip install skymailr-client # in your app from skymailr_client import SkyMailrClient client = SkyMailrClient( base_url="https://app.skymailr.com", api_key=os.environ["SKYMAILR_API_KEY"], ) client.send_template_email( template_key="welcome_new_user", to_email="alice@example.com", context={"user_name": "Alice"}, )
The five things you'll do in your first week.
Pass an ``idempotency_key`` and retries from your job runner won't duplicate the message. Same key + same tenant → same OutboundMessage row.
Drop a user into a drip on signup. The workflow engine handles the wait timers and renders each step's template with the metadata you supplied.
Block a recipient via ``POST /api/v1/suppressions/`` with a reason. Optionally scope to marketing-only so transactional still flows.
Receive delivery / bounce / complaint events at your endpoint. HMAC-signed, replay-protected, normalized event shape.
Provide a brief; the LLM produces a versioned draft. Operator approves before any send uses it. Token usage tracked.
Different from-address per category — e.g. ``noreply@`` for transactional, ``newsletter@`` for marketing. Same tenant, separate reputations.
The complete API reference, deployment guide, operator runbook, and architecture documentation are being moved to a public docs site. In the meantime, ping support@skymailr.com for any specific reference material — we'll send it over.