internal

Daily sweep: nudge new orgs 24h-7d after signup that never made a call

Daily cron targeting recent active orgs that have NEVER used their API key.

Audience (2026-07-10, real-data-driven — found via a live org/usage cross-reference that a paying customer sat unactivated for 2 weeks with no template able to reach them):

  • status='active' (skip canceled / past_due / payment_at_risk)
  • every active tier, including Free. The observed activation drop-off happens after Free users receive a key, so they need this nudge too.
  • created_at at least 24h ago (matches dino.markets' proven activation-first-call cadence).
  • created_at no more than 7d ago. This keeps the message relevant to new users and prevents a first rollout from emailing a historical backlog months after signup.
  • NO api_keys row for the org has a non-null last_used_at — i.e. every key they've ever held (including a rotated-away one) has never been used even once. A rotated key's OLD row keeps its original last_used_at (rotation never touches it), so this correctly reads "activated" for an org that used a key once then rotated.

Once-ever via FREQUENCY_CAPS (same _WELCOME_ONCE_EVER sentinel as welcome) — a daily re-scan while still unactivated is a cheap no-op once the first send lands. Structurally disjoint from win-back's audience: win-back requires a real last_used_at in the 30-90d band, which an org with zero usage can never have.

post/internal/cron/activation-first-call

Headers

x-internal-secretstring nullable

Response

Successful Response

object required

Changes

Changed in 1 of the 8 revisions of this API.13

  • b7c4b36e1fa113See the full diff
    • removed the optional property detail from the response with the 422 status

      response-optional-property-removed

    • added the required property details to the response with the 422 status

      response-required-property-added

    • added the required property error to the response with the 422 status

      response-required-property-added

    • added the required property message to the response with the 422 status

      response-required-property-added

    This revision also has 4 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog