Alerts

Create an alert

A rule (what to watch, the filter) times channels. mode instant sends each matching mention as it happens; daily sends one digest at schedule.hour in schedule.timezone; weekly sends one a week on schedule.weekday (0 Sunday to 6 Saturday).

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" | "daily" | "weekly"
filter?
Default{}
schedule?

Required for daily and weekly alerts (weekly ones also need schedule.weekday).

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"
    ],
    "platforms": [
      "bluesky"
    ],
    "minRelevance": 100,
    "sentiments": [
      "positive"
    ],
    "intents": [
      "string"
    ],
    "excludeAuthors": [
      "string"
    ],
    "minFollowers": 0,
    "tags": [
      "string"
    ],
    "linkHosts": [
      "string"
    ],
    "languages": [
      "string"
    ],
    "automated": true
  },
  "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
  }
}