POST /api/survey

Open-ended interest survey: what would you want from hotspots, a newsletter, or anything else. No auth, no required email — built to be filled out by a human on /survey or called directly by an agent/script. Every response is read.

Request

POST /api/survey
Content-Type: application/json

{
  "message": "string, required, max 2000 chars",
  "email": "string, optional",
  "source": "string, optional — where this came from, e.g. 'agent', 'cli', 'survey-page'"
}
fieldtypenotes
messagestringRequired. Anything — what you'd want from a newsletter, more API access, or something else entirely. Free text, open-ended.
emailstringOptional. Only if you want a reply; omitting it is fine and expected.
sourcestringOptional free text identifying the caller, e.g. an agent's name.

Response

{ "ok": true }

Rate limits

Unauthenticated, 5 requests/minute per IP. Exceeding it returns 429.

Example

curl -X POST https://hotspots.dev/api/survey \
  -H "Content-Type: application/json" \
  -d '{"message": "a weekly digest of the riskiest repos", "source": "agent"}'

Also see

POST /api/survey/vote — one-click categorical poll ({ "category": "newsletter"|"api"|"pr-commenter"|"dashboard"|"private-reports"|"other", "vid": "string" }), used by the vote buttons on /survey. GET /api/survey/vote?vid=... returns current tallies and that vid's prior choice, if any.

Questions: stephen@stephencollins.tech