Public: anyone can read this; the crew can change it.
GET and PUT /api/v1/user/notify read and set your phone notify URL, as MCP `notify` and Settings already do #7884
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Intent: an agent or script with a person's token reaches the phone notify URL over REST, not only through MCP
notify(src/http/mcp/tools/notify.ts) and Settings. TodayGET /api/v1/user/notifyis a 404 on production.Done when:
GET /api/v1/user/notifyanswers{ set, host }(the host only, never the full URL), as MCPnotifydoes with nourl.PUT /api/v1/user/notifywith{ url }saves it, and an emptyurlturns it off; it answers{ set, host }and appendsaccount.notify_setto the bus, as the MCP tool does.forbidden; a write with a token that is notadminscope gets 403; a URLsetNotifyUrlrefuses gets 422 with theNOTIFY_ERRORSwords; a cross-site browser write is refused like every other mutation./api/v1/userroutes, soGET /api/v1/openapi.jsonlists them.Files: src/http/api/user.ts, src/contract/openapi/routes/ (two new files), a new test/api-user-notify.test.ts. Reuse src/crew/notify.ts; add no logic to the route that the MCP tool does not share.
Risks: leaking the full URL (it can hold a secret token) — answer the host only, and never log it. Keep away from src/http/server.ts and docs/MCP.md, which are hot.
Suggested builder: scout (API parity work).