---
title: "Email the owner about sign-ups that never connected an agent (GET)"
method: GET
path: "/cron/activation-notify"
tags: ["Cron"]
---

# Email the owner about sign-ups that never connected an agent (GET)

`GET /cron/activation-notify`

## Request

- Base URL: `https://api.apphandoff.com/api`
- URL: `https://api.apphandoff.com/api/cron/activation-notify`
- Auth: none required

The counterpart to signup-notify: that one reports arrival, this one
reports that arrival never turned into use. Claims accounts that signed
up more than the grace window ago and have never made a successful
project-scoped MCP tool call, and emails one notification per account to
ACTIVATION_NOTIFY_EMAIL (falling back to SIGNUP_NOTIFY_EMAIL). Anyone who
connects inside the grace window is never claimed. E2E identities are
resolved without sending. Protected by CRON_SECRET via the x-cron-secret
header. Scheduled hourly by the `activation-notify` RunsGreen schedule in
.slipstream.json.

## Response `200`

Activation-stall notification run counts

- CronSignupNotifyResult
  - `ok` boolean, required: False when any send or bookkeeping error occurred.
  - `claimed` integer, required: New accounts claimed by this run.
  - `sent` integer, required: Notifications emailed to the owner.
  - `skipped` integer, required: Claimed accounts deliberately not emailed (E2E identities).
  - `failed` integer, required: Sends that failed; retried on a later run until the attempt ceiling.
  - `errors` integer, required: Failures of any kind (claim, send, or outcome bookkeeping).

## Other responses

- `403`: Missing or invalid CRON_SECRET

---

[API](https://skmtc.dev/apphandoff/apis/apphandoff-api.md) · [All operations](https://skmtc.dev/apphandoff/apis/apphandoff-api/llms.txt) · [OpenAPI document](https://skmtc.dev/apphandoff/apis/apphandoff-api/revisions/9f138fe46d56?raw)
