Public endpoints for the Mindie umbrella. No auth, no API key. Drop the widget script into your site or call directly from your backend.
Drop these one-liners into your <head> or where you want the widget to appear.
<script src="https://inbox.mindie.dev/widget.js"
data-board="YOUR_PUBLIC_KEY"
data-color="#10b981"
data-position="br"
async></script>
<script src="https://inbox.mindie.dev/waitlist.js"
data-list="YOUR_LIST_KEY"
data-color="#10b981"
data-theme="dark"
defer></script>
Renders an inline form at the script tag's location. After signup, shows a position-in-line card with a copy-able referral link.
Submit feedback to a board.
# Request
curl -X POST https://inbox.mindie.dev/v1/feedback/public/YOUR_KEY \
-H "Content-Type: application/json" \
-d '{"title":"Dark mode please","body":"My eyes","email":"[email protected]"}'
# Response
{ "id": "cfb_xyz123..." }
Read public board metadata (used by the widget to fetch brand color, emoji).
Get list metadata + total signups.
# Response
{
"id": "cwl_abc...",
"name": "Mindie Newsletter",
"publicKey": "MindieNews",
"total": 42,
"referralOn": true
}
Submit an email to the waitlist. Returns position + referral code.
# Request
curl -X POST https://inbox.mindie.dev/v1/waitlists/public/YOUR_KEY/signup \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]","ref":"OPTIONAL_REFERRAL_CODE"}'
# Response
{
"position": 324,
"referralCode": "k2pf83",
"already": false
}
Look up a returning visitor's position.
Get current status + 24h history for an uptime monitor.
# Response
{
"name": "InboxKit API",
"url": "https://inbox.mindie.dev/v1/health",
"currentOk": true,
"lastChecked": "2026-05-18T23:10:00.150Z",
"uptime24h": 100,
"buckets": [
{ "hour": 23, "ok": 60, "fail": 0 },
...
]
}
Recent HN + Reddit mentions for a tracked keyword.
# Response
{
"term": "mindie",
"sources": ["hn", "reddit"],
"total": 21,
"mentions": [
{
"source": "hn",
"title": "Anthropic acquires Stainless",
"url": "https://news.ycombinator.com/item?id=...",
"author": "wiether",
"score": 0,
"postedAt": "2026-05-18T20:19:26.000Z"
}
]
}
Per-endpoint rate limiting via Nest Throttler: 60 requests per minute per IP. Public endpoints are not strictly throttled today, but excessive abuse will earn a 429.
| Surface | Limit | Notes |
|---|---|---|
| POST /v1/feedback/public/* | 60/min/IP | Spam protection planned |
| POST /v1/waitlists/public/*/signup | 60/min/IP | Per-list rate limit planned |
| GET /v1/ping/public/* | 60/min/IP | Use a CDN if embedding |
| GET /v1/digest/public/* | 60/min/IP | Returns last 25 mentions |
All public endpoints accept Origin: * with credentials. Safe to call from any browser.