Premium action hits the API
An agent hits a premium SendyKit endpoint and receives a 402 response that explains the machine-payment requirement.
SendyKit wraps around Sendy without modifying core, giving humans and agents a modern API, CLI, analytics, AI, health diagnostics, and managed email operations. The current paid-agent path is Stripe-native machine payments for premium actions. Sending still requires verified-domain trust.
An agent hits a premium SendyKit endpoint and receives a 402 response that explains the machine-payment requirement.
The agent retries with an X-Stripe-Machine-Payment proof or intent reference. That is the current customer path for premium actions.
For sending, the agent still needs verified domain ownership and the sender-trust path before using shared delivery infrastructure.
After DNS confirmation, the agent can send through the verified, reputation-protected path with warm-up and abuse controls still in force.
| Tier | Price | Examples |
|---|---|---|
| Read | $0.0001 / req | Campaigns, subscribers, analytics |
| Write | $0.001 / req | Draft campaigns, subscriber updates |
| AI | $0.005 / req | Authoring, subject lines, variants |
| Analytics | $0.0005 / req | Reports, dashboards, summaries |
| Bulk | $0.05 / req | Imports, batch actions |
Current target: Stripe-native machine payments for premium agent work. Market it as machine payments, not as a separate raw protocol path.
| Tier | Price | Requires |
|---|---|---|
| Send | $0.01 / email | Verified domain + sender token |
| Verify | $1 one-time | DNS ownership proof + DKIM path |
Once verified, agents send through a trust-gated path with warm-up limits, reputation scoring, and isolated IP protection.
Verification returns a sender token tied to DNS ownership. Remove the DNS records and the token can be suspended automatically.
New senders start small. Limits expand with clean behavior instead of letting fresh domains spray shared infrastructure on day one.
Bounces, complaints, spam traps, and unhealthy unsubscribe rates reduce sender trust. Clean sending earns more headroom.
New verified senders start on an isolated pool so bad actors cannot immediately poison the reputation of paying SaaS tenants.
Acceptable-use requirements should be surfaced clearly in the payment and verification flow, not buried in a fake growth-hack promise.
If an agent cannot place DNS records itself, it can still hand the exact records to a human and resume after verification. No fake purity tests.
import requests
response = requests.post(
"https://app.sendykit.dev/sendykit/api/v2/ai/generate-email",
headers={
"X-API-Key": "sk_live_...",
"X-Stripe-Machine-Payment": "payment_proof_or_intent_ref",
"Content-Type": "application/json",
},
json={"brief": "Launch email for SaaS Growth"},
)
print(response.json())
const res = await fetch(
"https://app.sendykit.dev/sendykit/api/v2/ai/subject-lines",
{
method: "POST",
headers: {
"X-API-Key": "sk_live_...",
"X-Stripe-Machine-Payment": "payment_proof_or_intent_ref",
"Content-Type": "application/json",
},
body: JSON.stringify({ context: "Managed email ops" }),
}
);
console.log(await res.json());
req, _ := http.NewRequest(
http.MethodPost,
"https://app.sendykit.dev/sendykit/api/v2/ai/rewrite-for-email",
strings.NewReader(`{"text":"Ship the release today"}`),
)
req.Header.Set("X-API-Key", "sk_live_...")
req.Header.Set("X-Stripe-Machine-Payment", "payment_proof_or_intent_ref")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil { log.Fatal(err) }
That is the honest agent story: API and CLI for real automation, Stripe machine payments for premium actions, and explicit trust controls for anything that touches delivery reputation.