v2

latestOpenAPI 3.1.0Commercial API license2026-08-01592492.6 KB
internal

Weekly sweep: send win-back emails to inactive Basic/Pro orgs (30-90d stale)

Weekly cron targeting paid orgs whose most-recent api_keys.last_used_at is between 30 and 90 days ago.

Audience (audit R15):

  • status='active' (skip canceled / past_due / payment_at_risk)
  • tier IN ('basic', 'pro') — free-tier excluded: free cooling-off is evaluation behavior, not churn, and over-emailing degrades sender reputation.
  • max(api_keys.last_used_at) between 30 and 90 days ago.

Upper bound (90d) prevents cold-contacting fully abandoned trials indefinitely. Frequency cap (30d) in send.py means a user stuck in the 30-90 band gets at most one win-back every 30 days, not once per weekly cron fire.

post/internal/cron/winback

Headers

x-internal-secretstring nullable

Response

Successful Response

object required