Alerts

Create an alert

A rule (what to watch, the filter) times channels. mode instant sends each matching mention as it happens; hourly sends one digest every UTC hour (five minutes past) for the previous full hour, nothing when it had no mention over the rule's floor, to Slack, Telegram and webhook channels only (no schedule); daily sends one digest at schedule.hour in schedule.timezone; weekly sends one a week on schedule.weekday (0 Sunday to 6 Saturday). filter.anyOf adds OR: groups of conditions in the vocabulary of the mentions list, at least one of which must hold on top of the rest of the filter.

POST
/v1/alerts
AuthorizationBearer <token>

API key minted via POST /v1/api-keys (format mk_live_...)

In: header

namestring
Length1 <= length <= 80
enabled?boolean
Defaulttrue
mode?string
Default"instant"
Value in"instant" | "hourly" | "daily" | "weekly"
filter?
Default{}
schedule?

Required for daily and weekly alerts (weekly ones also need schedule.weekday). Hourly alerts take none: they send every UTC hour, so a time of day and a zone are ignored and a weekday is refused.

event?string|null

Custom event name for webhook payloads; null for the mode default.

Match^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$
Lengthlength <= 60
channelIds?array<string>

Channel ids from GET /v1/channels.

Default[]
Itemsitems <= 20

Response Body

application/json

application/json

application/json

curl -X POST "https://api.mentio.dev/v1/alerts" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{
  "id": "string",
  "name": "string",
  "enabled": true,
  "mode": "instant",
  "filter": {
    "keywordIds": [
      "string"
    ],
    "groupIds": [
      "string"
    ],
    "platforms": [
      "bluesky"
    ],
    "minRelevance": 100,
    "minConfidence": 1,
    "sentiments": [
      "positive"
    ],
    "intents": [
      "string"
    ],
    "excludeAuthors": [
      "string"
    ],
    "minFollowers": 0,
    "tags": [
      "string"
    ],
    "linkHosts": [
      "string"
    ],
    "languages": [
      "string"
    ],
    "countries": [
      "us"
    ],
    "notCountries": [
      "us"
    ],
    "automated": true,
    "organization": true,
    "ratings": [
      1
    ],
    "notRatings": [
      1
    ],
    "minLikes": 0,
    "minReposts": 0,
    "minReplies": 0,
    "minQuotes": 0,
    "minViews": 0,
    "minBookmarks": 0,
    "anyOf": [
      {
        "q": "string",
        "keywordIds": [
          "string"
        ],
        "notKeywordIds": [
          "string"
        ],
        "keywordKinds": [
          "brand"
        ],
        "groupIds": [
          "string"
        ],
        "notGroupIds": [
          "string"
        ],
        "platforms": [
          "bluesky"
        ],
        "notPlatforms": [
          "bluesky"
        ],
        "status": "open",
        "relevant": true,
        "minRelevance": 100,
        "minConfidence": 1,
        "sentiments": [
          "positive"
        ],
        "notSentiments": [
          "positive"
        ],
        "intents": [
          "string"
        ],
        "notIntents": [
          "string"
        ],
        "automated": true,
        "languages": [
          "string"
        ],
        "notLanguages": [
          "string"
        ],
        "countries": [
          "us"
        ],
        "notCountries": [
          "us"
        ],
        "organization": true,
        "tags": [
          "string"
        ],
        "notTags": [
          "string"
        ],
        "linkHosts": [
          "string"
        ],
        "notLinkHosts": [
          "string"
        ],
        "subreddits": [
          "string"
        ],
        "notSubreddits": [
          "string"
        ],
        "minFollowers": 0,
        "maxFollowers": 0,
        "isReply": true,
        "kind": "post",
        "excludeAuthors": [
          "string"
        ],
        "ratings": [
          1
        ],
        "notRatings": [
          1
        ],
        "minLikes": 0,
        "minReposts": 0,
        "minReplies": 0,
        "minQuotes": 0,
        "minViews": 0,
        "minBookmarks": 0
      }
    ]
  },
  "schedule": {
    "hour": 23,
    "minute": 0,
    "timezone": "string",
    "skipEmpty": true,
    "weekday": 6
  },
  "event": "string",
  "channels": [
    {
      "id": "string",
      "kind": "slack",
      "label": "string"
    }
  ],
  "stats": {
    "sentLast7d": 0,
    "lastSentAt": "string",
    "nextRunAt": "string"
  },
  "createdAt": "string"
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "retryAfterSeconds": 0
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "retryAfterSeconds": 0
  }
}