Documentation

The API behind the dashboard. Base URL defaults to http://localhost:8095.

AuthenticationSet INBOXALARM_API_KEY to require the X-API-Key header on every endpoint except GET /health. With no key set, bind to localhost or use a trusted reverse proxy.

Quickstart

  1. Run a one-off check

    Full SPF/DKIM/DMARC + blocklist check for a domain.

    curl -X POST http://localhost:8095/check \
      -H "X-API-Key: $INBOXALARM_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"domain": "example.com", "dkim_selectors": ["s1", "google"]}'
  2. Watch a domain

    Adds it to the watch list and captures a baseline on first add.

    curl -X POST http://localhost:8095/domains \
      -H "X-API-Key: $INBOXALARM_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"domain": "example.com"}'
  3. Check everything (cron this)

    Runs checks for every watched domain, diffs baselines, and dispatches alerts. Point a cron or systemd timer at it on your plan's cadence.

    curl -X POST http://localhost:8095/check-all \
      -H "X-API-Key: $INBOXALARM_API_KEY"
  4. Read recent alerts

    Tail of the alert log.

    curl -H "X-API-Key: $INBOXALARM_API_KEY" http://localhost:8095/alerts

API reference

MethodEndpointWhat it does
GET/healthLiveness + version. Public.
POST/checkFull check for one domain. Body: domain, dkim_selectors[].
GET/domainsList watched domains.
POST/domainsAdd a domain; captures a baseline on first add.
DELETE/domains/<domain>Remove a domain from the watch list.
POST/check-allCheck every watched domain; drift and failures dispatch alerts.
GET/alertsRecent alert log entries.

Full reference with request/response examples ships in the repo as OPENAPI.md.

Need a hand?

Email us with what you're building.

Contact us