Brand Impersonation

Match Types & Keyword Logic

Full vs Fuzzy match

Full – fires when the keyword appears verbatim anywhere inside a newly registered domain.
Fuzzy – catches near‑miss variants (missing letters, homoglyph swaps, extra characters & other typosquatting tricks). Behind the scenes we combine Damerau‑Levenshtein, Jaro‑Winkler and Jaccard algorithms to keep false‑positives low.

Additional keywords

Use additional_keywords to further narrow (or widen) the search:

  • mode:"include" – the domain must contain at least one included value in addition to the main keyword.
  • mode:"exclude" – drop the match if the value is present. Handy for ignoring staging or sandbox domains.

All endpoints live under https://monids.com/alerts/api/ and require a personal token unless otherwise noted. Generate or revoke a token from your Preferences page. Include it in every request:

curl -H "Authorization: Token <YOUR_TOKEN>" \
  https://monids.com/alerts/api/user-alerts/

REST API

List my alerts

curl -H "Authorization: Token <YOUR_TOKEN>" \
  https://monids.com/alerts/api/user-alerts/

Read a single alert

curl -H "Authorization: Token <YOUR_TOKEN>" \
  https://monids.com/alerts/api/user-alerts/<ALERT_ID>/

Create a new alert

The body accepts:

  • keyword (string) – the primary term you want to monitor.
  • match_type – one of "full" or "fuzzy".
  • additional_keywords (optional) – list of objects with value + mode fields.
    Example: [{"value":"login","mode":"include"},{"value":"dev","mode":"exclude"}]
curl -X POST \
  -H "Authorization: Token <YOUR_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"paypal","match_type":"fuzzy",
       "additional_keywords":[
         {"value":"invoice","mode":"include"},
         {"value":"sandbox","mode":"exclude"}
       ]}' \
  https://monids.com/alerts/api/user-alerts/

Update or delete an alert

# Update
curl -X PUT \
  -H "Authorization: Token <YOUR_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"match_type":"full"}' \
  https://monids.com/alerts/api/user-alerts/<ALERT_ID>/

# Delete
curl -X DELETE \
  -H "Authorization: Token <YOUR_TOKEN>" \
  https://monids.com/alerts/api/user-alerts/<ALERT_ID>/

List my events

curl -H "Authorization: Token <YOUR_TOKEN>" \
  https://monids.com/alerts/alert-events/?format=json

Filter events to a single alert

curl -H "Authorization: Token <YOUR_TOKEN>" \
  'https://monids.com/alerts/alert-events/?alert_id=<ALERT_ID>&format=json'

View my preferences

curl -H "Authorization: Token <YOUR_TOKEN>" \
  https://monids.com/alerts/api/preferences/

Update my preferences

curl -X PUT \
  -H "Authorization: Token <YOUR_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"want_email":true,
       "destination_email":"me@example.com",
       "want_slack":true,
       "slack_webhook_url":"https://hooks.slack.com/services/ABC/DEF/GHI"}' \
  https://monids.com/alerts/api/preferences/