# Parlo > Developer email API for transactional and marketing email. > One REST API. Fair per-email pricing. DKIM/SPF/DMARC checks. Ships with an MCP > server and SDKs so AI coding agents can integrate it directly. Base URL: https://api.getparlo.io/v1 Auth: HTTP bearer token — `Authorization: Bearer parlo_live_xxx` The API is transactional-only (`/emails`). Marketing (audiences, templates, broadcasts) is designed and sent from the Parlo dashboard, not the API. ## Send a transactional email POST /v1/emails ``` curl https://api.getparlo.io/v1/emails \ -H "Authorization: Bearer parlo_live_xxx" \ -H "Content-Type: application/json" \ -d '{ "from": "you@yourdomain.com", "to": "user@example.com", "subject": "Welcome, [name]", "html": "

Hi [name]

", "data": { "name": "Alice" } }' ``` Response: `{ "id": "", "status": "queued" }` Optional fields: text, reply_to, cc, bcc, tags (object), data (object, fills [placeholder] tokens). Optional header: Idempotency-Key (safe retries). Note: transactional email has no unsubscribe link / List-Unsubscribe header. ## Email status GET /v1/emails/:id -> { id, to, subject, status, opened, clicked, last_event_at, created_at } status: queued | sent | delivered | bounced | complained | failed ## Domains POST /v1/domains { "name": "yourdomain.com" } -> returns DNS records (DKIM/SPF) to add. GET /v1/domains/:id -> status: pending | verified | failed POST /v1/domains/:id/verify -> re-check DNS ## Marketing Marketing campaigns (audiences, templates, broadcasts) are designed and sent from the Parlo dashboard, not the API. Contacts arrive by CSV import or an embed form. The API is transactional-only at launch. ## Errors JSON body: { "message": string, "code": string } 401 invalid key · 422 validation error (codes: invalid, blank, domain_not_verified, recipient_suppressed, quota_exceeded, already_registered) · 404 not found · 502 provider_error (upstream SES error) ## Links - OpenAPI 3.1 spec: https://getparlo.io/openapi.yaml - Full API reference (single file): https://getparlo.io/llms-full.txt - Docs: https://getparlo.io/docs - Pricing: https://getparlo.io/pricing - Sign up: https://app.getparlo.io/register