Documentation

Get up and running
in under 10 minutes.

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.

Python client

Install and send your first email in three lines.

install & send
# 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"},
)

Common patterns

The five things you'll do in your first week.

Idempotent send

Pass an ``idempotency_key`` and retries from your job runner won't duplicate the message. Same key + same tenant → same OutboundMessage row.

Workflow enroll

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.

Manual suppression

Block a recipient via ``POST /api/v1/suppressions/`` with a reason. Optionally scope to marketing-only so transactional still flows.

Webhook subscriber

Receive delivery / bounce / complaint events at your endpoint. HMAC-signed, replay-protected, normalized event shape.

LLM-drafted template

Provide a brief; the LLM produces a versioned draft. Operator approves before any send uses it. Token usage tracked.

Custom sender profile

Different from-address per category — e.g. ``noreply@`` for transactional, ``newsletter@`` for marketing. Same tenant, separate reputations.

Where to go next

Full reference documentation

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.