{
  "version": "1.0.0",
  "reviewed": "2026-09-30",
  "api": "https://sendar.app/api",
  "mcp": "https://sendar.app/api/mcp",
  "pricing": [
    {
      "name": "Free",
      "monthlyUSD": 0,
      "annualUSD": 0,
      "monthlyEmails": 3000,
      "dailyEmails": 100,
      "domains": 1,
      "scheduledSend": false,
      "contactSales": false
    },
    {
      "name": "Starter",
      "monthlyUSD": 12,
      "annualUSD": 120,
      "monthlyEmails": 30000,
      "dailyEmails": null,
      "domains": 2,
      "scheduledSend": false,
      "contactSales": false
    },
    {
      "name": "Growth",
      "monthlyUSD": 39,
      "annualUSD": 390,
      "monthlyEmails": 100000,
      "dailyEmails": null,
      "domains": 5,
      "scheduledSend": true,
      "contactSales": false
    },
    {
      "name": "Scale",
      "monthlyUSD": 99,
      "annualUSD": 990,
      "monthlyEmails": 400000,
      "dailyEmails": null,
      "domains": 15,
      "scheduledSend": true,
      "contactSales": false
    },
    {
      "name": "Dedicated",
      "monthlyUSD": null,
      "annualUSD": null,
      "monthlyEmails": 1000000,
      "dailyEmails": null,
      "domains": 100,
      "scheduledSend": true,
      "contactSales": true,
      "startingMonthlyUSD": 199
    }
  ],
  "sections": [
    {
      "title": "Choose an integration",
      "body": "Use REST from server-side application code for transactional email, saved templates, batch sends and message history. Install skills for coding guidance. Connect MCP for account tools: setup, preview, domains, templates, message history and optional single-email sending. Skills installation alone does not authenticate an account."
    },
    {
      "title": "Permissions and prerequisites",
      "body": "REST uses a private server-side Bearer API key with its existing account permissions. MCP supports OAuth with S256 PKCE; new OAuth connections default to read-only. Sending requires an explicit grant bounded by domain, recipients and daily allowance. Verify your sending domain before live delivery. Account caps and suppression rules apply."
    },
    {
      "title": "Preview before sending",
      "body": "The MCP preview_email tool validates a proposed message without sending or consuming quota. A preview does not establish domain readiness or guarantee delivery. REST has no documented dry-run endpoint: test with a local mock first, then explicitly authorize one real send."
    },
    {
      "title": "Limits and reliable retries",
      "body": "Single-email REST requests support up to five attachments with 1.3 MiB total decoded content. Scheduled sending is available on Growth and above, up to 30 days ahead. Batch requests contain 1–100 items and have no documented idempotency guarantee. Use Idempotency-Key on POST /emails: 16–128 letters, digits, underscores, colons or hyphens. Reuse the exact key and payload for the same event. A 409 or timeout may mean an uncertain outcome: inspect history instead of generating another key."
    },
    {
      "title": "What success means",
      "body": "An API response or provider acceptance does not guarantee inbox delivery. Inspect the returned status and message history. Fix validation, authentication or quota errors before proceeding. Keep reset-token generation, expiry and account authorization in your own application."
    }
  ],
  "resources": [
    [
      "Public OpenAPI specification",
      "/openapi.json"
    ],
    [
      "Compact documentation index",
      "/llms.txt"
    ],
    [
      "Complete agent reference",
      "/llms-full.txt"
    ],
    [
      "Machine-readable capabilities and pricing",
      "/agent-capabilities.json"
    ],
    [
      "Runnable recipes (mocked by default)",
      "/downloads/sendar-recipes.mjs"
    ],
    [
      "Integration reference in Markdown",
      "/docs/agent-reference.md"
    ]
  ],
  "recipes": [
    {
      "id": "welcome",
      "title": "Welcome after signup",
      "body": "Trigger after the application commits a signup. Use the account/event identifier as the stable message key. Do not send again on each login."
    },
    {
      "id": "booking",
      "title": "Booking confirmation",
      "body": "Send after the booking transaction succeeds. Include date, time zone and reference from your booking record; use a separate event key for each reschedule."
    },
    {
      "id": "password-reset",
      "title": "Password reset",
      "body": "Your application creates and stores a secure, expiring, single-use token. Pass its HTTPS reset URL to the email recipe; never use the email provider to authenticate the user or generate the token."
    },
    {
      "id": "invoice",
      "title": "Invoice notification",
      "body": "Send after invoice creation. Supply the application’s authenticated payment URL and invoice reference. Do not place payment credentials in messages."
    },
    {
      "id": "migration",
      "title": "Migrate one workflow",
      "body": "Map sender, recipients, subject, body and template variables explicitly. Compare mock payloads, test an authorized recipient, then switch one workflow. Disable the old sender for that event to avoid duplicates; retain a rollback switch."
    }
  ],
  "openapi": "https://sendar.app/openapi.json",
  "skills": "https://github.com/Thutos/sendar-agent-skills"
}
