Developers
Transactional email for agents and pipelines
A template and a call — send_transactional, compose from a brief, enrol sequences from your events. Live API keys on Glow+. Same surface as GenieOS email for developers.
Hero surface
Transactional
send_transactional · send_test · compose_template — templates marketers own, IDs your agents call. The big deal for product engineers.
Open docs →REST
Public API
Compose templates from a brief, render previews, send transactionally, and list sends — idempotent and workspace-scoped.
Open docs →Agents
MCP tools
Cursor, Claude, and MCP clients — compose, send, and enrol sequences via GenieOS tools.
Open docs →
mail-genie · integrations
compose-send.shbash
# Compose a draft from a briefcurl -X POST https://api.genieos.pro/v1/templates/compose \ -H "Authorization: Bearer $GENIEOS_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "brief": "Welcome email for new Spark signups — warm, editorial tone", "key": "welcome" }' # Send transactionally (idempotent)curl -X POST https://api.genieos.pro/v1/templates/welcome/send \ -H "Authorization: Bearer $GENIEOS_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: welcome-$(uuidgen)" \ -d '{ "to": "[email protected]", "variables": { "firstName": "Alex" } }'compose-send.tsts
import { GenieOS } from "@genieos/sdk"; const client = new GenieOS({ apiKey: process.env.GENIEOS_API_KEY }); const draft = await client.templates.compose({ brief: "Product launch email for the summer collection", key: "summer-launch",}); const send = await client.templates.send("summer-launch", { to: "[email protected]", variables: { firstName: "Alex" }, idempotencyKey: `launch-${Date.now()}`,}); console.log(send.id);agent-prompt.mdmd
# In Cursor / Claude with GenieOS MCP connected Compose a welcome email for new Spark signups and save it as welcome.Then send a test to [email protected]. # Agent calls compose_template → send_testSame GenieOS key · REST · MCP · SDK