---
title: "Get an alert"
method: GET
path: "/v1/alerts/{id}"
tags: ["Alerts"]
---

# Get an alert

`GET /v1/alerts/{id}`

## Request

- Base URL: `https://api.rumoro.dev`
- URL: `https://api.rumoro.dev/v1/alerts/{id}`
- Auth: HTTP bearer

Returns one alert with its filter, mode, schedule, channels and delivery stats.

## Path parameters

- `id` string, required: The alert's id (feed_...).

## Response `200`

The requested alert

- Alert
  - `id` string, required: The alert's id (feed_...).
  - `name` string, required
  - `enabled` boolean, required
  - `mode` 'instant' | 'hourly' | 'daily' | 'weekly', required: instant sends each matching mention as it arrives. hourly sends a digest of the previous full UTC hour at five past the hour, so the hour's last mentions are scored. It skips hours with no mention at or above the rule's relevance minimum, and works with Slack, Telegram and webhook channels only. daily sends one digest at the scheduled local time. weekly sends one digest a week on schedule.weekday.
  - `filter` object, required
    - `keywordIds` string[]: Limits the rule to these keywords.
    - `groupIds` string[]: Limits the rule to keywords in these groups (grp_...), for example one rule for each client.
    - `platforms` string[]: Limits the rule to posts from these platforms.
    - `minRelevance` integer: The lowest relevance score the rule sends. Without it, only relevant mentions are sent, meaning a score of 40 or more. A lower value, down to 0, also sends matches the classifier rated as noise. A higher value sends fewer. Email channels always use 40, whatever the rule says. Mentions without a score are never sent.
    - `minConfidence` number: Sends only mentions whose classifier confidence is this value or higher, from 0 to 1. Mentions without a confidence are left out.
    - `sentiments` string[]: Keeps mentions with these sentiments only.
    - `intents` string[]: Sends only mentions with one or more of these intent or topic tags.
    - `excludeAuthors` string[]: Leaves out these authors, given as display names, handles or profile links.
    - `minFollowers` integer: Sends only posts by authors with this many followers or more. Unknown counts are left out.
    - `tags` string[]: Keeps authors your workspace gave one of these tags.
    - `linkHosts` string[]: Sends only posts that link to one of these hosts or its subdomains, so slack.com also matches api.slack.com. Posts without links are left out.
    - `languages` string[]: Sends only posts in these languages, as ISO 639-1 codes such as en, es or de. Posts with an unknown language are left out.
    - `automated` boolean: true sends only posts that look machine-made, such as bot or template posts. false sends only the others. Leave it out to send both.
    - `ratings` integer[]: Sends only reviews with one of these star ratings, from 1 to 5. Use [1, 2] for the unhappy ones. Posts that are not reviews are left out.
    - `notRatings` integer[]: Star ratings (1 to 5) to skip, such as [5]. Other posts still go out.
    - `minLikes` integer: Keeps posts with this many likes (upvotes, reactions) or more, counted when the post was collected. Posts without a like count are left out.
    - `minReposts` integer: Keeps posts with this many reposts (shares, retweets) or more, counted when the post was collected. Posts without a repost count are left out.
    - `minReplies` integer: Keeps posts with this many replies (comments) or more, counted when the post was collected. Posts without a reply count are left out.
    - `minQuotes` integer: Keeps posts with this many quotes or more, counted when the post was collected. Posts without a quote count are left out.
    - `minViews` integer: Keeps posts with this many views (plays) or more, counted when the post was collected. Posts without a view count are left out.
    - `minBookmarks` integer: Keeps posts with this many bookmarks (saves) or more, counted when the post was collected. Posts without a bookmark count are left out.
    - `anyOf` FilterGroup[]: Up to 10 OR'd groups (at least 1). A mention must meet every condition of some group, plus all other conditions, so the filter reads (other conditions) AND (group 1 OR group 2 ...). Groups take view filter fields (platforms, sentiments, intents, keywordKinds, the not lists and so on) but no nested anyOf.
      - `q` string: Searches post text and author names.
      - `keywordIds` string[]: Keeps matches of these keywords only.
      - `notKeywordIds` string[]: Keyword ids to exclude.
      - `keywordKinds` string[]: Keyword kinds to keep, out of brand, competitor and topic.
      - `groupIds` string[]: Limits to keywords from these groups (grp_...).
      - `notGroupIds` string[]: Hides matches from keywords that belong to these groups.
      - `platforms` string[]: Keeps posts from these platforms only.
      - `notPlatforms` string[]: Platforms to exclude.
      - `status` 'open' | 'ignored' | 'done': Keeps mentions with this status only (open, ignored or done).
      - `relevant` boolean: Filter on the classifier's verdict. true keeps relevant mentions, false the rest.
      - `minRelevance` integer: Minimum relevance score a mention needs.
      - `minConfidence` number: Keeps mentions whose classifier confidence is this value or higher.
      - `sentiments` string[]: Keeps mentions with these sentiments only.
      - `notSentiments` string[]: Hides these sentiments. Unscored mentions stay.
      - `intents` string[]: Keeps mentions tagged with one of these intents or topics.
      - `notIntents` string[]: Hides mentions with these tags.
      - `automated` boolean: true keeps posts that look machine-made. false keeps the others.
      - `languages` string[]: Keeps posts in these languages only, as ISO 639-1 codes.
      - `notLanguages` string[]: Leaves out posts in these languages. Posts with an unknown language are kept.
      - `tags` string[]: Keeps authors your workspace gave one of these tags.
      - `notTags` string[]: Leaves out authors with one of these tags.
      - `linkHosts` string[]: Keeps posts that link to one of these hosts or its subdomains.
      - `notLinkHosts` string[]: Leaves out posts that link to these hosts.
      - `minFollowers` integer: Keeps authors with this many followers or more. Unknown counts are left out.
      - `maxFollowers` integer: Keeps authors with this many followers or fewer. Unknown counts are left out.
      - `isReply` boolean: true keeps replies and comments. false keeps posts that are not replies.
      - `kind` 'post' | 'comment' | 'repository': Only posts (post) or only comments (comment: replies, comments and answers). repository (GitHub repository events) is accepted and matches nothing, since Rumoro does not collect them. Omitted: all.
      - `excludeAuthors` string[]: Leaves out these authors, given as display names, handles or profile links.
      - `ratings` integer[]: Keeps reviews with one of these star ratings. Posts that are not reviews are left out.
      - `notRatings` integer[]: Hides reviews with these star ratings. Other posts are not affected.
      - `minLikes` integer: Keeps posts with this many likes (upvotes, reactions) or more, counted when the post was collected. Posts without a like count are left out.
      - `minReposts` integer: Keeps posts with this many reposts (shares, retweets) or more, counted when the post was collected. Posts without a repost count are left out.
      - `minReplies` integer: Keeps posts with this many replies (comments) or more, counted when the post was collected. Posts without a reply count are left out.
      - `minQuotes` integer: Keeps posts with this many quotes or more, counted when the post was collected. Posts without a quote count are left out.
      - `minViews` integer: Keeps posts with this many views (plays) or more, counted when the post was collected. Posts without a view count are left out.
      - `minBookmarks` integer: Keeps posts with this many bookmarks (saves) or more, counted when the post was collected. Posts without a bookmark count are left out.
  - `schedule` object, nullable, required: Null for instant and hourly alerts, which have no schedule.
    - `hour` integer, required
    - `minute` integer
    - `timezone` string, required
    - `skipEmpty` boolean
    - `weekday` integer: The day a weekly rule sends, from 0 for Sunday to 6 for Saturday. Required when mode is weekly and ignored for daily rules.
  - `event` string, required: The event name sent in webhook payloads. Unless you set one, it is the default for the mode.
  - `channels` object[], required: The channels the alert sends to.
    - `id` string, required
    - `kind` 'slack' | 'email' | 'webhook' | 'telegram', required
    - `label` string, required
  - `stats` object, required: Counted from this workspace's deliveries.
    - `sentLast7d` integer, required: Deliveries over the past 7 days, all channels together.
    - `lastSentAt` string, nullable, required: UTC time in ISO 8601.
    - `nextRunAt` string, nullable, required: When the next digest is due, for hourly, daily and weekly alerts. Null when the alert is disabled or instant.
  - `createdAt` string, required: UTC time in ISO 8601.

## Other responses

- `401`: The API key is missing or not valid
- `404`: No alert with this id

---

[API](https://skmtc.dev/rumoro/apis/rumoro-api.md) · [All operations](https://skmtc.dev/rumoro/apis/rumoro-api/llms.txt) · [OpenAPI document](https://skmtc.dev/rumoro/apis/rumoro-api/revisions/9ef63ea894d1?raw)
