Mentio
Was dieses MCP kann
Tracks and analyzes brand, competitor, topic, review, sentiment, intent, and audience mentions across social and review platforms, with alerts and outreach logs.
Tools
Eingabeschema
{'type': 'object', 'required': ['term'], 'properties': {'cap': {'anyOf': [{'type': 'object', 'required': ['mentions'], 'properties': {'mentions': {'type': 'integer', 'maximum': 1000000, 'minimum': 1, 'description': 'Matched mentions allowed per calendar month (UTC). Every match counts, relevant or not, the look-back a new keyword gets included, because every match bills.'}}, 'description': 'A monthly ceiling on the mentions this keyword may match. At the cap it stops matching until the first of the next month (UTC), or until the cap is raised or removed. It stays unmuted: it keeps its place and its daily keyword charge; pause it to stop that too.', 'additionalProperties': False}, {'type': 'null'}], 'description': 'A monthly mention cap; omit or null for none.'}, 'kind': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string', 'default': 'brand', 'description': 'brand: your own names. competitor: theirs. topic: the space. Drives share of voice and segments.'}, 'term': {'type': 'string', 'maxLength': 80, 'minLength': 2, 'description': 'The word or phrase to track, matched case-insensitively as a phrase.'}, 'context': {'anyOf': [{'type': 'string', 'maxLength': 300, 'description': 'A sentence the classifier reads for this keyword only, on top of the company profile or the group\'s own description (at most 300 characters): what the term means here, what to ignore. "Arc is our browser; ignore the geometry word." Null clears it.'}, {'type': 'null'}], 'description': 'A sentence the classifier reads for this keyword only, on top of the company profile or the group\'s own description (at most 300 characters): what the term means here, what to ignore. "Arc is our browser; ignore the geometry word." Null clears it.'}, 'groupId': {'type': 'string', 'minLength': 1, 'description': "The group to track it in (grp_...); omit for the workspace's default group. A term may be tracked once per group."}, 'matching': {'type': 'object', 'properties': {'requiredMode': {'enum': ['any', 'all'], 'type': 'string', 'description': 'any: at least one required term must appear. all: every one must.'}, 'caseSensitive': {'type': 'boolean', 'description': 'true: the term must appear in the case it was typed (RAG, never rag). Default false.'}, 'excludedTerms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'maxItems': 50, 'description': 'A post containing any of these is dropped. A `*` at the start or the end of an entry is a wildcard (beta.* matches beta.0.1; *bot matches nightlybot).'}, 'requiredTerms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'maxItems': 50, 'description': 'The post must ALSO contain these terms, any one of them or all of them per requiredMode. Empty: no requirement.'}, 'excludedAuthors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100, 'description': "Posts by these authors are dropped: profile or post links, @handles, u/names, Bluesky DIDs or display names, stored in canonical form like an alert's muted list."}}, 'description': 'Omitted fields are untouched; an empty list clears one.', 'additionalProperties': False}, 'platforms': {'anyOf': [{'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram'], 'type': 'string'}}, {'type': 'null'}], 'description': 'Platforms to search the term on; omit or null for every platform. [] searches it nowhere: a keyword that only collects reviews, which then needs reviewSources.'}, 'reviewSources': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'The id on the platform: the digits after "id" on the App Store, the package name on Google Play, the company\'s domain on Trustpilot (notion.so), a Place ID (ChIJ...) on Google Maps.'}, 'url': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': "The review page's link: an App Store or Google Play app (https://apps.apple.com/us/app/notion/id1232780281, https://play.google.com/store/apps/details?id=notion.id), a Trustpilot page (https://www.trustpilot.com/review/notion.so) or a Google Maps place (its full link, or a maps.app.goo.gl share link). Or give platform and id."}, 'language': {'type': 'string', 'maxLength': 10, 'minLength': 2, 'description': "Google Play only: the language of the reviews to read (en, es, de, pt-BR); Google Play answers one language at a time. Default: the link's hl, else en."}, 'platform': {'enum': ['appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': "appstore (Apple App Store), googleplay (Google Play), trustpilot (a company's Trustpilot page) or googlemaps (a place's Google reviews)."}, 'countries': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[A-Za-z]{2}$'}, 'maxItems': 20, 'minItems': 1, 'description': 'App Store and Google Play only: storefronts to read, two-letter codes, at most 20. Default: the one in the link, else us. Each is one more poll a day; the same review seen in two storefronts is one mention. Trustpilot and Google Maps have one page for everyone and take none.'}}, 'description': "A review page whose reviews become this keyword's mentions: its link, or the platform and the id.", 'additionalProperties': False}, 'maxItems': 10, 'description': 'Review pages this keyword collects, at most 10: App Store and Google Play apps, Trustpilot pages, Google Maps places. Every new review of one is a mention of the keyword, whatever its text says. Polled once a day (per country on the app stores). A newly connected page brings its last 30 days, the newest 100 reviews (per country), free and never sent as instant alerts; after that each review bills like any mention.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['name'], 'properties': {'mode': {'enum': ['instant', 'hourly', 'daily', 'weekly'], 'type': 'string', 'default': 'instant'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'event': {'anyOf': [{'type': 'string', 'pattern': '^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)*$', 'maxLength': 60}, {'type': 'null'}], 'description': 'Custom event name for webhook payloads; null for the mode default.'}, 'filter': {'type': 'object', 'default': {}, 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only authors your workspace tagged with any of these.'}, 'anyOf': {'type': 'array', 'items': {'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "Substring in the post text or the author's name."}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only authors your workspace tagged with any of these.'}, 'status': {'enum': ['open', 'ignored', 'done'], 'type': 'string', 'description': 'Only mentions in this status: open, ignored, done.'}, 'intents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only mentions carrying any of these intent or topic tags.'}, 'isReply': {'type': 'boolean', 'description': 'true: only replies and comments; false: only top-level posts.'}, 'notTags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Never authors tagged with any of these.'}, 'ratings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Only app store reviews with any of these star ratings; every other post fails it.'}, 'groupIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of keywords in any of these groups (grp_...).'}, 'minLikes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many likes (upvotes, reactions), as the platform reported them when the post was found. A post without that count never passes.'}, 'minViews': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many views (plays), as the platform reported them when the post was found. A post without that count never passes.'}, 'relevant': {'type': 'boolean', 'description': 'true: only mentions the classifier scored relevant; false: only the rest.'}, 'automated': {'type': 'boolean', 'description': 'true: only posts that read as machine-made; false: only the rest.'}, 'languages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Only posts in any of these languages (ISO 639-1).'}, 'linkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Only posts linking to any of these hosts, the host itself or a subdomain of it.'}, 'minQuotes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many quotes, as the platform reported them when the post was found. A post without that count never passes.'}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Only posts from any of these platforms.'}, 'keywordIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of any of these keywords.'}, 'minReplies': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many replies (comments), as the platform reported them when the post was found. A post without that count never passes.'}, 'minReposts': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many reposts (shares, retweets), as the platform reported them when the post was found. A post without that count never passes.'}, 'notIntents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Never mentions carrying these tags.'}, 'notRatings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Never reviews with these star ratings; posts that are not reviews still pass.'}, 'sentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Only these sentiments.'}, 'notGroupIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of keywords in these groups.'}, 'keywordKinds': {'type': 'array', 'items': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string'}, 'maxItems': 3, 'description': 'Only matches of keywords of any of these kinds: brand, competitor, topic.'}, 'maxFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at most this many followers; unknown reach never passes.'}, 'minBookmarks': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many bookmarks (saves), as the platform reported them when the post was found. A post without that count never passes.'}, 'minFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at least this many followers; unknown reach never passes.'}, 'minRelevance': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Only mentions scored at least this.'}, 'notLanguages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Never posts in these languages; an unknown language still passes.'}, 'notLinkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Never posts linking to these hosts.'}, 'notPlatforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Never posts from these platforms.'}, 'minConfidence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Only mentions whose classifier confidence is at least this.'}, 'notKeywordIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of these keywords.'}, 'notSentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Never these sentiments; an unscored mention still passes.'}, 'excludeAuthors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 200, 'description': 'Never these authors: display names, handles or profile URLs.'}}, 'description': 'A group of conditions, all of which must hold: the vocabulary of a view filter, without anyOf.', 'additionalProperties': False}, 'maxItems': 10, 'minItems': 1, 'description': 'OR across groups: a mention passes when it meets every condition of at least one group (1 to 10 groups). The other conditions still apply to every mention: the whole filter is (other conditions) AND (group 1 OR group 2 ...). A group takes the conditions of a view filter (platforms, sentiments, intents, keywordKinds, the not lists ...), with no anyOf of its own.'}, 'intents': {'type': 'array', 'items': {'type': 'string'}, 'description': 'At least one of these intent or topic tags.'}, 'ratings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Only app store reviews with any of these star ratings (1 to 5): [1, 2] sends the unhappy ones. Every other post fails it.'}, 'groupIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Only keywords in these groups (grp_...): one rule per customer, say.'}, 'minLikes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many likes (upvotes, reactions), as the platform reported them when the post was found. A post without that count never passes.'}, 'minViews': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many views (plays), as the platform reported them when the post was found. A post without that count never passes.'}, 'automated': {'type': 'boolean', 'description': 'true: only posts that read as machine-made (bots, templated posts); false: only the rest. Omit for both.'}, 'languages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Only posts in any of these languages (ISO 639-1: en, es, de). A post whose language is unknown never passes.'}, 'linkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Only posts linking to any of these hosts, the host itself or a subdomain of it (octolens.com also matches blog.octolens.com). A post with no links never passes.'}, 'minQuotes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many quotes, as the platform reported them when the post was found. A post without that count never passes.'}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'description': 'Only posts from these platforms.'}, 'keywordIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Only these keywords.'}, 'minReplies': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many replies (comments), as the platform reported them when the post was found. A post without that count never passes.'}, 'minReposts': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many reposts (shares, retweets), as the platform reported them when the post was found. A post without that count never passes.'}, 'notRatings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Never reviews with these star ratings (1 to 5): [5] keeps the five star reviews out. Posts that are not reviews still pass.'}, 'sentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'description': 'Only these sentiments.'}, 'minBookmarks': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many bookmarks (saves), as the platform reported them when the post was found. A post without that count never passes.'}, 'minFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at least this many followers. Unknown reach never passes.'}, 'minRelevance': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': "The rule's relevance floor. Absent, it sends relevant mentions only (scored 40 and up, the classifier's line); lower, down to 0, it also receives the matches the classifier scored as noise; higher, it hears less. Email channels keep the 40 line whatever the rule says. Unclassified mentions never pass."}, 'minConfidence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Only mentions whose classifier confidence is at least this, 0 to 1. A mention without a confidence never passes.'}, 'excludeAuthors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 200, 'description': 'Never these authors: display names, handles or profile URLs.'}}, 'additionalProperties': False}, 'enabled': {'type': 'boolean', 'default': True}, 'schedule': {'type': 'object', 'required': ['hour', 'timezone'], 'properties': {'hour': {'type': 'integer', 'maximum': 23, 'minimum': 0}, 'minute': {'type': 'integer', 'default': 0, 'maximum': 59, 'minimum': 0}, 'weekday': {'type': 'integer', 'maximum': 6, 'minimum': 0, 'description': 'Weekly rules: the day it sends, 0 Sunday to 6 Saturday. Required for mode weekly; ignored on daily rules.'}, 'timezone': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'skipEmpty': {'type': 'boolean', 'default': True}}, 'description': '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.', 'additionalProperties': False}, 'channelIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'default': [], 'maxItems': 20, 'description': 'Channel ids from GET /v1/channels.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': "The group's name: a customer, a campaign, a product. Unique per workspace."}, 'context': {'anyOf': [{'type': 'string', 'maxLength': 4000, 'description': 'What the classifier reads as "the company" for this group\'s keywords, in place of the WHOLE workspace profile, its relevance guidelines and competitor list included (at most 4000 characters): who the business is, what it sells, for whom, what is not it, and any rule that should apply to this group ("ignore job posts"). For a group per customer, the customer\'s description. Null: the workspace profile, as for every keyword before groups.'}, {'type': 'null'}], 'description': 'What the classifier reads as "the company" for this group\'s keywords, in place of the WHOLE workspace profile, its relevance guidelines and competitor list included (at most 4000 characters): who the business is, what it sells, for whom, what is not it, and any rule that should apply to this group ("ignore job posts"). For a group per customer, the customer\'s description. Null: the workspace profile, as for every keyword before groups.'}, 'externalId': {'anyOf': [{'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Your own id for the group (a customer id, say). Unique per workspace; find the group by it with GET /v1/groups?externalId=.'}, {'type': 'null'}], 'description': 'Your own id for the group (a customer id, say). Unique per workspace; find the group by it with GET /v1/groups?externalId=.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'filter': {'type': 'object', 'default': {}, 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'People carrying any of these tags.'}, 'muted': {'type': 'boolean', 'description': 'true: only muted people; false: only unmuted.'}, 'stages': {'type': 'array', 'items': {'enum': ['not_contacted', 'contacted', 'replied', 'in_talks', 'customer', 'not_a_fit'], 'type': 'string', 'description': 'Where your workspace stands with the person: not_contacted, contacted, replied, in_talks, customer or not_a_fit.'}, 'maxItems': 6, 'description': 'People at any of these outreach stages.'}, 'intents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 10, 'description': 'At least one mention carrying any of these intents.'}, 'notTags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Nobody carrying any of these tags.'}, 'ownerIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'People owned by any of these members (user ids); "none" matches people nobody owns.'}, 'automated': {'type': 'boolean', 'description': 'true: only people whose matched posts are mostly machine-made (bot accounts); false: only the rest.'}, 'linkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'At least one mention linking to any of these hosts, the host itself or a subdomain of it.'}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'People with an account on any of these platforms.'}, 'notIntents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 10, 'description': 'Nobody whose mentions carry any of these intents.'}, 'minMentions': {'type': 'integer', 'minimum': 1, 'description': 'At least this many matched mentions.'}, 'minNegative': {'type': 'integer', 'minimum': 1, 'description': 'At least this many negative mentions.'}, 'keywordKinds': {'type': 'array', 'items': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string'}, 'maxItems': 3, 'description': 'Mentioned a keyword of any of these kinds.'}, 'maxFollowers': {'type': 'integer', 'minimum': 0, 'description': 'At most this many followers. Unknown reach never matches.'}, 'minFollowers': {'type': 'integer', 'minimum': 0, 'description': 'At least this many followers. Unknown reach never matches.'}, 'newSinceDays': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'First seen within this many days.'}, 'notPlatforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Nobody with an account on these platforms.'}, 'neverKeywordKinds': {'type': 'array', 'items': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string'}, 'maxItems': 3, 'description': 'Never mentioned a keyword of these kinds.'}}, 'additionalProperties': False}, 'description': {'type': 'string', 'default': '', 'maxLength': 500}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Unique per workspace, case-insensitive.'}, 'filter': {'type': 'object', 'default': {}, 'properties': {'q': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "Substring in the post text or the author's name."}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only authors your workspace tagged with any of these.'}, 'anyOf': {'type': 'array', 'items': {'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "Substring in the post text or the author's name."}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only authors your workspace tagged with any of these.'}, 'status': {'enum': ['open', 'ignored', 'done'], 'type': 'string', 'description': 'Only mentions in this status: open, ignored, done.'}, 'intents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only mentions carrying any of these intent or topic tags.'}, 'isReply': {'type': 'boolean', 'description': 'true: only replies and comments; false: only top-level posts.'}, 'notTags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Never authors tagged with any of these.'}, 'ratings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Only app store reviews with any of these star ratings; every other post fails it.'}, 'groupIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of keywords in any of these groups (grp_...).'}, 'minLikes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many likes (upvotes, reactions), as the platform reported them when the post was found. A post without that count never passes.'}, 'minViews': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many views (plays), as the platform reported them when the post was found. A post without that count never passes.'}, 'relevant': {'type': 'boolean', 'description': 'true: only mentions the classifier scored relevant; false: only the rest.'}, 'automated': {'type': 'boolean', 'description': 'true: only posts that read as machine-made; false: only the rest.'}, 'languages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Only posts in any of these languages (ISO 639-1).'}, 'linkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Only posts linking to any of these hosts, the host itself or a subdomain of it.'}, 'minQuotes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many quotes, as the platform reported them when the post was found. A post without that count never passes.'}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Only posts from any of these platforms.'}, 'keywordIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of any of these keywords.'}, 'minReplies': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many replies (comments), as the platform reported them when the post was found. A post without that count never passes.'}, 'minReposts': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many reposts (shares, retweets), as the platform reported them when the post was found. A post without that count never passes.'}, 'notIntents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Never mentions carrying these tags.'}, 'notRatings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Never reviews with these star ratings; posts that are not reviews still pass.'}, 'sentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Only these sentiments.'}, 'notGroupIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of keywords in these groups.'}, 'keywordKinds': {'type': 'array', 'items': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string'}, 'maxItems': 3, 'description': 'Only matches of keywords of any of these kinds: brand, competitor, topic.'}, 'maxFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at most this many followers; unknown reach never passes.'}, 'minBookmarks': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many bookmarks (saves), as the platform reported them when the post was found. A post without that count never passes.'}, 'minFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at least this many followers; unknown reach never passes.'}, 'minRelevance': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Only mentions scored at least this.'}, 'notLanguages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Never posts in these languages; an unknown language still passes.'}, 'notLinkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Never posts linking to these hosts.'}, 'notPlatforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Never posts from these platforms.'}, 'minConfidence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Only mentions whose classifier confidence is at least this.'}, 'notKeywordIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of these keywords.'}, 'notSentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Never these sentiments; an unscored mention still passes.'}, 'excludeAuthors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 200, 'description': 'Never these authors: display names, handles or profile URLs.'}}, 'description': 'A group of conditions, all of which must hold: the vocabulary of a view filter, without anyOf.', 'additionalProperties': False}, 'maxItems': 10, 'minItems': 1, 'description': 'OR across groups: a mention passes when it meets every condition of at least one group (1 to 10 groups). The other conditions still apply to every mention: the whole filter is (other conditions) AND (group 1 OR group 2 ...). A group takes the conditions of a view filter (platforms, sentiments, intents, keywordKinds, the not lists ...), with no anyOf of its own.'}, 'status': {'enum': ['open', 'ignored', 'done'], 'type': 'string', 'description': 'Only mentions in this status: open, ignored, done.'}, 'intents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only mentions carrying any of these intent or topic tags.'}, 'isReply': {'type': 'boolean', 'description': 'true: only replies and comments; false: only top-level posts.'}, 'notTags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Never authors tagged with any of these.'}, 'ratings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Only app store reviews with any of these star ratings; every other post fails it.'}, 'groupIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of keywords in any of these groups (grp_...).'}, 'minLikes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many likes (upvotes, reactions), as the platform reported them when the post was found. A post without that count never passes.'}, 'minViews': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many views (plays), as the platform reported them when the post was found. A post without that count never passes.'}, 'relevant': {'type': 'boolean', 'description': 'true: only mentions the classifier scored relevant; false: only the rest.'}, 'automated': {'type': 'boolean', 'description': 'true: only posts that read as machine-made; false: only the rest.'}, 'languages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Only posts in any of these languages (ISO 639-1).'}, 'linkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Only posts linking to any of these hosts, the host itself or a subdomain of it.'}, 'minQuotes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many quotes, as the platform reported them when the post was found. A post without that count never passes.'}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Only posts from any of these platforms.'}, 'keywordIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of any of these keywords.'}, 'minReplies': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many replies (comments), as the platform reported them when the post was found. A post without that count never passes.'}, 'minReposts': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many reposts (shares, retweets), as the platform reported them when the post was found. A post without that count never passes.'}, 'notIntents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Never mentions carrying these tags.'}, 'notRatings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Never reviews with these star ratings; posts that are not reviews still pass.'}, 'sentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Only these sentiments.'}, 'notGroupIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of keywords in these groups.'}, 'keywordKinds': {'type': 'array', 'items': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string'}, 'maxItems': 3, 'description': 'Only matches of keywords of any of these kinds: brand, competitor, topic.'}, 'maxFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at most this many followers; unknown reach never passes.'}, 'minBookmarks': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many bookmarks (saves), as the platform reported them when the post was found. A post without that count never passes.'}, 'minFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at least this many followers; unknown reach never passes.'}, 'minRelevance': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Only mentions scored at least this.'}, 'notLanguages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Never posts in these languages; an unknown language still passes.'}, 'notLinkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Never posts linking to these hosts.'}, 'notPlatforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Never posts from these platforms.'}, 'minConfidence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Only mentions whose classifier confidence is at least this.'}, 'notKeywordIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of these keywords.'}, 'notSentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Never these sentiments; an unscored mention still passes.'}, 'excludeAuthors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 200, 'description': 'Never these authors: display names, handles or profile URLs.'}}, 'description': 'The filter; empty selects every mention.', 'additionalProperties': False}, 'description': {'type': 'string', 'default': '', 'maxLength': 500, 'description': 'What the view is for, shown under its name.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id', 'activityId'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Person id (aut_...)'}, 'activityId': {'type': 'string', 'minLength': 1, 'description': 'Activity id (act_...), from list_activities'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Alert id (feed_...)'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Group id (grp_...)'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Keyword id (kw_...)'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Segment id (seg_...), from list_segments'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'View id (vw_...)'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Attention item id (att_...)'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Alert id (feed_...)'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['by'], 'properties': {'by': {'enum': ['platform', 'keyword', 'sentiment', 'intent', 'status', 'hour', 'person', 'language'], 'type': 'string', 'description': 'The dimension to group by: platform, keyword, sentiment (unclassified included), intent (a mention can carry several), status (open, ignored, done), hour (weekday and hour of day in `timezone`), person (who posted; anonymous posts are left out), language (ISO 639-1; "unknown" for posts without one).'}, 'to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Last day, YYYY-MM-DD, inclusive, in `timezone`. Default today.'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'First day, YYYY-MM-DD, inclusive, in `timezone`.'}, 'range': {'enum': ['7d', '30d', '90d', '365d'], 'type': 'string', 'description': 'Preset window ending today. Ignored when from or to is given. Default 30d.'}, 'compare': {'type': 'boolean', 'description': 'true adds the period of the same length right before the window as `previous`.'}, 'timezone': {'type': 'string', 'maxLength': 64, 'description': "IANA zone the days are cut in (Europe/Madrid). Default UTC. One offset, the zone's at the end of the window, applies to the whole window."}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string'}, 'maxItems': 20, 'description': 'Only these platforms. Repeatable, or comma-separated; omit for every platform.'}, 'keywordIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 50, 'description': 'Only these keyword ids. Repeatable, or comma-separated; omit for every keyword.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'by': {'enum': ['platform', 'keyword', 'sentiment'], 'type': 'string', 'description': 'Split into one series per platform, per keyword (the top 20 by matched, the rest folded into "other") or per sentiment (positive, neutral, negative, unclassified). Omit for one total series.'}, 'to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Last day, YYYY-MM-DD, inclusive, in `timezone`. Default today.'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'First day, YYYY-MM-DD, inclusive, in `timezone`.'}, 'range': {'enum': ['7d', '30d', '90d', '365d'], 'type': 'string', 'description': 'Preset window ending today. Ignored when from or to is given. Default 30d.'}, 'bucket': {'enum': ['hour', 'day', 'week', 'month'], 'type': 'string', 'description': 'Point granularity: hour (windows of at most 14 days), day, week (Monday start) or month. Default: day up to 90 days, week beyond.'}, 'compare': {'type': 'boolean', 'description': 'true adds the period of the same length right before the window as `previous`.'}, 'timezone': {'type': 'string', 'maxLength': 64, 'description': "IANA zone the days are cut in (Europe/Madrid). Default UTC. One offset, the zone's at the end of the window, applies to the whole window."}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string'}, 'maxItems': 20, 'description': 'Only these platforms. Repeatable, or comma-separated; omit for every platform.'}, 'keywordIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 50, 'description': 'Only these keyword ids. Repeatable, or comma-separated; omit for every keyword.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Last day, YYYY-MM-DD, inclusive, in `timezone`. Default today.'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'First day, YYYY-MM-DD, inclusive, in `timezone`.'}, 'range': {'enum': ['7d', '30d', '90d', '365d'], 'type': 'string', 'description': 'Preset window ending today. Ignored when from or to is given. Default 30d.'}, 'compare': {'type': 'boolean', 'description': 'true adds the period of the same length right before the window as `previous`.'}, 'timezone': {'type': 'string', 'maxLength': 64, 'description': "IANA zone the days are cut in (Europe/Madrid). Default UTC. One offset, the zone's at the end of the window, applies to the whole window."}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string'}, 'maxItems': 20, 'description': 'Only these platforms. Repeatable, or comma-separated; omit for every platform.'}, 'keywordIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 50, 'description': 'Only these keyword ids. Repeatable, or comma-separated; omit for every keyword.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Group id (grp_...)'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Keyword id (kw_...)'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'ai': {'type': 'boolean', 'description': 'true: also ask a language model for a rewritten context. Default false.'}, 'id': {'type': 'string', 'minLength': 1, 'description': 'Keyword id (kw_...)'}, 'range': {'enum': ['7d', '30d', '90d'], 'type': 'string', 'description': 'Trailing window ending today: 7d, 30d (default) or 90d.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Mention id (mention match id, mm_...)'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'platform': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Only count mentions from this platform'}, 'keywordId': {'type': 'string', 'description': 'Only count mentions matching this keyword id'}, 'sinceDays': {'type': 'integer', 'default': 7, 'maximum': 365, 'minimum': 1, 'description': 'Look-back window in days'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': "Audience author id (aut_...), from list_people or a mention's authorId"}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Last day, YYYY-MM-DD, inclusive, in `timezone`. Default today.'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'First day, YYYY-MM-DD, inclusive, in `timezone`.'}, 'range': {'enum': ['7d', '30d', '90d', '365d'], 'type': 'string', 'description': 'Preset window ending today. Ignored when from or to is given. Default 30d.'}, 'bucket': {'enum': ['day', 'week'], 'type': 'string', 'description': 'Series bucket: day (default up to 90 days) or week.'}, 'compare': {'type': 'boolean', 'description': 'true adds the period of the same length right before the window as `previous`.'}, 'timezone': {'type': 'string', 'maxLength': 64, 'description': "IANA zone the days are cut in (Europe/Madrid). Default UTC. One offset, the zone's at the end of the window, applies to the whole window."}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string'}, 'maxItems': 20, 'description': 'Only these platforms. Repeatable, or comma-separated; omit for every platform.'}, 'keywordIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 50, 'description': 'Only these keyword ids. Repeatable, or comma-separated; omit for every keyword.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Last day, YYYY-MM-DD, inclusive, in `timezone`. Default today.'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'First day, YYYY-MM-DD, inclusive, in `timezone`.'}, 'range': {'enum': ['7d', '30d', '90d', '365d'], 'type': 'string', 'description': 'Preset window ending today. Ignored when from or to is given. Default 30d.'}, 'compare': {'type': 'boolean', 'description': 'true adds the period of the same length right before the window as `previous`.'}, 'timezone': {'type': 'string', 'maxLength': 64, 'description': "IANA zone the days are cut in (Europe/Madrid). Default UTC. One offset, the zone's at the end of the window, applies to the whole window."}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string'}, 'maxItems': 20, 'description': 'Only these platforms. Repeatable, or comma-separated; omit for every platform.'}, 'keywordIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 50, 'description': 'Only these keyword ids. Repeatable, or comma-separated; omit for every keyword.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'by': {'enum': ['day', 'platform', 'keyword', 'group'], 'type': 'string', 'default': 'keyword', 'description': 'The dimension to group by: day (one row per UTC day of the window), platform, keyword (default: the row a margin is computed from), or group (what a customer or a campaign cost).'}, 'limit': {'type': 'integer', 'default': 100, 'maximum': 500, 'minimum': 1, 'description': 'Rows per page, 1 to 500 (default 100). Only by=keyword can outgrow a page; a window has at most 90 days and a dozen platforms.'}, 'month': {'type': 'string', 'pattern': '^\\d{4}-(0[1-9]|1[0-2])$', 'description': 'A calendar month (YYYY-MM, UTC) instead of a trailing window: from its first day to its last, or to today for the running month. A future month is a 400.'}, 'range': {'enum': ['7d', '30d', '90d'], 'type': 'string', 'description': 'Trailing window of UTC days ending today: 7d, 30d, 90d (default 30d). Ignored when `month` is given.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': 'Skip this many rows.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': "Audience author id (aut_...), from list_people or a mention's authorId"}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'kinds': {'type': 'array', 'items': {'enum': ['mention.spike', 'sentiment.negative_spike', 'keyword.noisy', 'channel.failing'], 'type': 'string', 'description': "mention.spike: far more mentions in the last hour than the keyword usually gets. sentiment.negative_spike: the negative share of the last 24 hours jumped. keyword.noisy: most scored matches are noise. channel.failing: the channel's last sends all failed."}, 'maxItems': 4, 'description': 'Only these kinds.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Items to return, 50 by default.'}, 'cursor': {'type': 'string', 'description': 'nextCursor from the previous call.'}, 'status': {'enum': ['open', 'resolved', 'dismissed', 'all'], 'type': 'string', 'description': 'open (default), resolved, dismissed, or all.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'externalId': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Only the group carrying exactly this externalId.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "Text to find in the term or in the keyword's context, case-insensitive."}, 'kind': {'type': 'array', 'items': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string'}, 'maxItems': 3, 'description': 'Only these kinds: brand, competitor, topic. Repeatable, or comma-separated.'}, 'sort': {'enum': ['newest', 'oldest', 'term', 'mentions', 'relevant', 'recent', 'lastMention'], 'type': 'string', 'default': 'newest', 'description': 'newest: created most recently first. oldest: the reverse. term: A to Z. mentions: most matches first. relevant: most relevant matches first. recent: most matches in the last 7 days first. lastMention: newest matched post first, keywords with none last.'}, 'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Page size, 1 to 500. Omit for every keyword after `offset`.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': 'Skip this many keywords.'}, 'status': {'type': 'array', 'items': {'enum': ['active', 'muted', 'paused', 'noisy', 'capped'], 'type': 'string', 'description': 'active: tracking. muted: switched off by a person. paused: switched off by the wallet for lack of balance. noisy: switched off by the noise brake, mostly irrelevant matches on a workspace running on its welcome credit. capped: at its monthly mention cap until the month turns.'}, 'maxItems': 4, 'description': 'Only keywords in these states: active, muted, paused, capped. Repeatable, or comma-separated.'}, 'groupId': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 50, 'description': 'Only keywords in any of these groups (grp_...). Repeatable, or comma-separated.'}, 'platform': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Only keywords tracked on any of these platforms: its term searched there (every platform when its platforms are null), or for appstore and googleplay, an app of that store among its reviewSources. Repeatable, or comma-separated.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size (default 25).'}, 'cursor': {'type': 'string', 'description': 'Opaque cursor from a previous page.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Match the display name or the profile handle/url'}, 'tag': {'type': 'string', 'maxLength': 40, 'minLength': 1, 'description': 'Only people carrying this tag'}, 'sort': {'enum': ['mentions', 'recent', 'reach', 'new'], 'type': 'string', 'default': 'mentions', 'description': '"mentions": most matches first; "recent": last seen first; "reach": most followers first; "new": first seen most recently first'}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'People carrying any of these tags'}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'muted': {'type': 'boolean', 'description': 'true: only muted people; false: only unmuted; omit: everyone'}, 'since': {'type': 'integer', 'description': 'Only people whose first matched mention is at or after this instant (ISO 8601, or epoch ms): new voices'}, 'handle': {'type': 'string', 'maxLength': 300, 'minLength': 1, 'description': 'Find one person by an account: a handle (@jane, u/jane) or a profile or post link (https://x.com/jane). Exact, case-insensitive; add platform to pick one platform'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': 'Skip this many people (paging)'}, 'stages': {'type': 'array', 'items': {'enum': ['not_contacted', 'contacted', 'replied', 'in_talks', 'customer', 'not_a_fit'], 'type': 'string', 'description': 'Where your workspace stands with the person: not_contacted, contacted, replied, in_talks, customer or not_a_fit.'}, 'maxItems': 6, 'description': 'People at any of these outreach stages (not_contacted, contacted, replied, in_talks, customer, not_a_fit)'}, 'intents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 10, 'description': 'At least one mention carrying any of these intents'}, 'ownerIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'People owned by any of these members (user ids); "none" for people nobody owns'}, 'platform': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Only people with an account on this platform'}, 'automated': {'type': 'boolean', 'description': 'true: only people whose matched posts are mostly machine-made (bot accounts); false: only the rest'}, 'linkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'At least one mention linking to any of these hosts, the host itself or a subdomain of it (octolens.com also matches blog.octolens.com)'}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string'}, 'maxItems': 20, 'description': 'People with an account on any of these platforms'}, 'segmentId': {'type': 'string', 'minLength': 1, 'description': 'A saved segment (from list_segments) applied on top of the other filters'}, 'minMentions': {'type': 'integer', 'minimum': 1, 'description': 'At least this many matched mentions'}, 'minNegative': {'type': 'integer', 'minimum': 1, 'description': 'At least this many negative mentions'}, 'keywordKinds': {'type': 'array', 'items': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string'}, 'maxItems': 3, 'description': 'Mentioned a keyword of any of these kinds (brand, competitor, topic)'}, 'maxFollowers': {'type': 'integer', 'minimum': 0}, 'minFollowers': {'type': 'integer', 'minimum': 0, 'description': 'At least this many followers (unknown reach never matches)'}, 'newSinceDays': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'First seen within this many days'}, 'neverKeywordKinds': {'type': 'array', 'items': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string'}, 'maxItems': 3, 'description': 'Never mentioned a keyword of these kinds'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['channel', 'id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': "Person id (aut_...), from list_people or a mention's authorId"}, 'note': {'type': 'string', 'default': '', 'maxLength': 2000, 'description': 'What was sent or said, briefly.'}, 'channel': {'enum': ['email', 'x', 'linkedin', 'bluesky', 'reddit', 'github', 'call', 'meeting', 'other'], 'type': 'string', 'description': 'How they were reached: email, x, linkedin, bluesky, reddit, github, call, meeting or other.'}, 'memberId': {'type': 'string', 'minLength': 1, 'description': 'The member who reached out (user id). Defaults to the signed-in member; an API key that omits it logs an unattributed activity.'}, 'occurredAt': {'type': 'integer', 'description': 'When the contact happened (ISO 8601, or epoch ms). Defaults to now.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id', 'into'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'The account to fold in (aut_...)'}, 'into': {'type': 'string', 'minLength': 1, 'description': 'The person to fold it into (aut_...)'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['authors', 'id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Rule id'}, 'authors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 50, 'minItems': 1, 'description': "Profile or post links (x.com/name, linkedin.com/in/name, reddit.com/user/name, a post URL), handles (@name, u/name), Bluesky DIDs or display names. A link is stored as the author's profile; a plain name or handle matches that name on every platform."}}, 'description': "Authors to add to or remove from the alert's muted list.", 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': "Substring search in the post text or the author's name."}, 'sort': {'enum': ['newest', 'priority'], 'type': 'string', 'default': 'newest', 'description': 'newest: by match time, newest first. priority: by attention score, highest first; priority ranks the last 30 days of matches only, older ones stay reachable under newest. Cursors are specific to a sort.'}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Only authors your workspace tagged with any of these (exact, case-sensitive). Repeatable, or comma-separated.'}, 'anyOf': {'type': 'array', 'items': {'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "Substring in the post text or the author's name."}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only authors your workspace tagged with any of these.'}, 'status': {'enum': ['open', 'ignored', 'done'], 'type': 'string', 'description': 'Only mentions in this status: open, ignored, done.'}, 'intents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only mentions carrying any of these intent or topic tags.'}, 'isReply': {'type': 'boolean', 'description': 'true: only replies and comments; false: only top-level posts.'}, 'notTags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Never authors tagged with any of these.'}, 'ratings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Only app store reviews with any of these star ratings; every other post fails it.'}, 'groupIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of keywords in any of these groups (grp_...).'}, 'minLikes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many likes (upvotes, reactions), as the platform reported them when the post was found. A post without that count never passes.'}, 'minViews': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many views (plays), as the platform reported them when the post was found. A post without that count never passes.'}, 'relevant': {'type': 'boolean', 'description': 'true: only mentions the classifier scored relevant; false: only the rest.'}, 'automated': {'type': 'boolean', 'description': 'true: only posts that read as machine-made; false: only the rest.'}, 'languages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Only posts in any of these languages (ISO 639-1).'}, 'linkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Only posts linking to any of these hosts, the host itself or a subdomain of it.'}, 'minQuotes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many quotes, as the platform reported them when the post was found. A post without that count never passes.'}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Only posts from any of these platforms.'}, 'keywordIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of any of these keywords.'}, 'minReplies': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many replies (comments), as the platform reported them when the post was found. A post without that count never passes.'}, 'minReposts': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many reposts (shares, retweets), as the platform reported them when the post was found. A post without that count never passes.'}, 'notIntents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Never mentions carrying these tags.'}, 'notRatings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Never reviews with these star ratings; posts that are not reviews still pass.'}, 'sentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Only these sentiments.'}, 'notGroupIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of keywords in these groups.'}, 'keywordKinds': {'type': 'array', 'items': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string'}, 'maxItems': 3, 'description': 'Only matches of keywords of any of these kinds: brand, competitor, topic.'}, 'maxFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at most this many followers; unknown reach never passes.'}, 'minBookmarks': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many bookmarks (saves), as the platform reported them when the post was found. A post without that count never passes.'}, 'minFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at least this many followers; unknown reach never passes.'}, 'minRelevance': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Only mentions scored at least this.'}, 'notLanguages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Never posts in these languages; an unknown language still passes.'}, 'notLinkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Never posts linking to these hosts.'}, 'notPlatforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Never posts from these platforms.'}, 'minConfidence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Only mentions whose classifier confidence is at least this.'}, 'notKeywordIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of these keywords.'}, 'notSentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Never these sentiments; an unscored mention still passes.'}, 'excludeAuthors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 200, 'description': 'Never these authors: display names, handles or profile URLs.'}}, 'description': 'A group of conditions, all of which must hold: the vocabulary of a view filter, without anyOf.', 'additionalProperties': False}, 'maxItems': 10, 'minItems': 1, 'description': 'OR across groups: a mention passes when it meets every condition of at least one group (1 to 10 groups). The other conditions still apply to every mention: the whole filter is (other conditions) AND (group 1 OR group 2 ...). A group takes the conditions of a view filter (platforms, sentiments, intents, keywordKinds, the not lists ...), with no anyOf of its own.'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'How many mentions to return, 1 to 100. Default 10: narrow the filters before asking for more.'}, 'since': {'type': 'integer', 'description': 'Only posts published at or after this instant (ISO 8601, or epoch ms).'}, 'until': {'type': 'integer', 'description': 'Only posts published at or before this instant (ISO 8601, or epoch ms).'}, 'intent': {'type': 'string', 'description': 'Only mentions carrying this intent or topic tag (buy_intent, question, complaint, praise, comparison, churn_intent, bug_report, pricing, hiring, event, promotional, testimonial, industry_insight, launch, feedback).'}, 'status': {'enum': ['open', 'ignored', 'done'], 'type': 'string', 'description': 'Only mentions in this status. Omit for every status.'}, 'viewId': {'type': 'string', 'minLength': 1, 'description': "Apply a saved view's filter (an id from GET /v1/views) on top of the other filters, every condition ANDed: exactly what the view selects. Unknown ids are a 404."}, 'alertId': {'type': 'string', 'minLength': 1, 'description': "Apply an alert rule's filter (an id from GET /v1/alerts) on top of the other filters: the same mentions the rule would send, for a feed-shaped export or a preview. Unknown ids are a 404."}, 'intents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Only mentions carrying any of these intent or topic tags.'}, 'isReply': {'type': 'boolean', 'description': 'true: only replies and comments (posts answering another post); false: only top-level posts. Omitted: both.'}, 'notTags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Never authors your workspace tagged with any of these.'}, 'ratings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Only app store reviews with any of these star ratings (1 to 5): ratings=1,2 is the unhappy ones. Every other post fails it.'}, 'snoozed': {'type': 'boolean', 'description': 'true: only mentions currently snoozed. Otherwise snoozed mentions stay out until they wake.'}, 'groupIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of keywords in any of these groups (grp_...). Repeatable, or comma-separated.'}, 'minLikes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many likes (upvotes, reactions), as the platform reported them when the post was found. A post without that count never passes.'}, 'minViews': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many views (plays), as the platform reported them when the post was found. A post without that count never passes.'}, 'personId': {'type': 'string', 'minLength': 1, 'description': 'Only this person (an id from /v1/people), merged accounts included. Implies includeMuted.'}, 'platform': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Only posts from this platform.'}, 'relevant': {'type': 'boolean', 'description': 'true: only mentions the classifier scored relevant; false: only the rest (unclassified included).'}, 'automated': {'type': 'boolean', 'description': 'true: only mentions that read as machine-made (a bot account, a scheduled or templated post, AI-written text); false: only the rest, mentions judged before this existed included. Omitted: everything.'}, 'keywordId': {'type': 'string', 'description': 'Only matches of this keyword.'}, 'languages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Only posts in any of these languages (ISO 639-1: en, es, de). A post whose language is unknown never passes.'}, 'linkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Only posts linking to any of these hosts, the host itself or a subdomain of it (octolens.com also matches blog.octolens.com). Repeatable, or comma-separated.'}, 'minQuotes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many quotes, as the platform reported them when the post was found. A post without that count never passes.'}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Only posts from any of these platforms.'}, 'sentiment': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Only this sentiment.'}, 'assigneeId': {'type': 'string', 'minLength': 1, 'description': 'Only mentions assigned to this workspace member (user id).'}, 'keywordIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of any of these keywords.'}, 'minReplies': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many replies (comments), as the platform reported them when the post was found. A post without that count never passes.'}, 'minReposts': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many reposts (shares, retweets), as the platform reported them when the post was found. A post without that count never passes.'}, 'notIntents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Never mentions carrying these intent or topic tags.'}, 'notRatings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Never reviews with these star ratings (1 to 5): notRatings=5 hides the five star reviews. Posts that are not reviews still pass.'}, 'sentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Only these sentiments.'}, 'notGroupIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of keywords in these groups.'}, 'includeMuted': {'type': 'boolean', 'description': 'true: include mentions by people you muted, hidden by default.'}, 'keywordKinds': {'type': 'array', 'items': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string'}, 'maxItems': 3, 'description': 'Only matches of keywords of any of these kinds: brand, competitor, topic. Repeatable, or comma-separated.'}, 'maxFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at most this many followers. Unknown reach never passes.'}, 'minBookmarks': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many bookmarks (saves), as the platform reported them when the post was found. A post without that count never passes.'}, 'minFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at least this many followers. Unknown reach never passes.'}, 'minRelevance': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Only mentions scored at least this; unclassified ones are excluded.'}, 'notLanguages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Never posts in these languages. A post whose language is unknown still passes.'}, 'notLinkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Never posts linking to these hosts, the host itself or a subdomain of it.'}, 'notPlatforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Never posts from these platforms.'}, 'minConfidence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Only mentions whose classifier confidence is at least this, 0 to 1. Mentions without a confidence are excluded.'}, 'notKeywordIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of these keywords.'}, 'notSentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Never these sentiments. A mention the classifier has not scored yet still passes.'}, 'excludeAuthors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 200, 'description': 'Hide these authors: display names, handles or profile URLs. Repeatable, or one comma-separated value.'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': "Audience author id (aut_...), from list_people or a mention's authorId"}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['authors', 'id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Rule id'}, 'authors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 50, 'minItems': 1, 'description': "Profile or post links (x.com/name, linkedin.com/in/name, reddit.com/user/name, a post URL), handles (@name, u/name), Bluesky DIDs or display names. A link is stored as the author's profile; a plain name or handle matches that name on every platform."}}, 'description': "Authors to add to or remove from the alert's muted list.", 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Rule id'}, 'mode': {'enum': ['instant', 'hourly', 'daily', 'weekly'], 'type': 'string'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'event': {'anyOf': [{'type': 'string', 'pattern': '^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)*$', 'maxLength': 60}, {'type': 'null'}]}, 'filter': {'type': 'object', 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only authors your workspace tagged with any of these.'}, 'anyOf': {'type': 'array', 'items': {'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "Substring in the post text or the author's name."}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only authors your workspace tagged with any of these.'}, 'status': {'enum': ['open', 'ignored', 'done'], 'type': 'string', 'description': 'Only mentions in this status: open, ignored, done.'}, 'intents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only mentions carrying any of these intent or topic tags.'}, 'isReply': {'type': 'boolean', 'description': 'true: only replies and comments; false: only top-level posts.'}, 'notTags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Never authors tagged with any of these.'}, 'ratings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Only app store reviews with any of these star ratings; every other post fails it.'}, 'groupIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of keywords in any of these groups (grp_...).'}, 'minLikes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many likes (upvotes, reactions), as the platform reported them when the post was found. A post without that count never passes.'}, 'minViews': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many views (plays), as the platform reported them when the post was found. A post without that count never passes.'}, 'relevant': {'type': 'boolean', 'description': 'true: only mentions the classifier scored relevant; false: only the rest.'}, 'automated': {'type': 'boolean', 'description': 'true: only posts that read as machine-made; false: only the rest.'}, 'languages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Only posts in any of these languages (ISO 639-1).'}, 'linkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Only posts linking to any of these hosts, the host itself or a subdomain of it.'}, 'minQuotes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many quotes, as the platform reported them when the post was found. A post without that count never passes.'}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Only posts from any of these platforms.'}, 'keywordIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of any of these keywords.'}, 'minReplies': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many replies (comments), as the platform reported them when the post was found. A post without that count never passes.'}, 'minReposts': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many reposts (shares, retweets), as the platform reported them when the post was found. A post without that count never passes.'}, 'notIntents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Never mentions carrying these tags.'}, 'notRatings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Never reviews with these star ratings; posts that are not reviews still pass.'}, 'sentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Only these sentiments.'}, 'notGroupIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of keywords in these groups.'}, 'keywordKinds': {'type': 'array', 'items': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string'}, 'maxItems': 3, 'description': 'Only matches of keywords of any of these kinds: brand, competitor, topic.'}, 'maxFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at most this many followers; unknown reach never passes.'}, 'minBookmarks': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many bookmarks (saves), as the platform reported them when the post was found. A post without that count never passes.'}, 'minFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at least this many followers; unknown reach never passes.'}, 'minRelevance': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Only mentions scored at least this.'}, 'notLanguages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Never posts in these languages; an unknown language still passes.'}, 'notLinkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Never posts linking to these hosts.'}, 'notPlatforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Never posts from these platforms.'}, 'minConfidence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Only mentions whose classifier confidence is at least this.'}, 'notKeywordIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of these keywords.'}, 'notSentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Never these sentiments; an unscored mention still passes.'}, 'excludeAuthors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 200, 'description': 'Never these authors: display names, handles or profile URLs.'}}, 'description': 'A group of conditions, all of which must hold: the vocabulary of a view filter, without anyOf.', 'additionalProperties': False}, 'maxItems': 10, 'minItems': 1, 'description': 'OR across groups: a mention passes when it meets every condition of at least one group (1 to 10 groups). The other conditions still apply to every mention: the whole filter is (other conditions) AND (group 1 OR group 2 ...). A group takes the conditions of a view filter (platforms, sentiments, intents, keywordKinds, the not lists ...), with no anyOf of its own.'}, 'intents': {'type': 'array', 'items': {'type': 'string'}, 'description': 'At least one of these intent or topic tags.'}, 'ratings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Only app store reviews with any of these star ratings (1 to 5): [1, 2] sends the unhappy ones. Every other post fails it.'}, 'groupIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Only keywords in these groups (grp_...): one rule per customer, say.'}, 'minLikes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many likes (upvotes, reactions), as the platform reported them when the post was found. A post without that count never passes.'}, 'minViews': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many views (plays), as the platform reported them when the post was found. A post without that count never passes.'}, 'automated': {'type': 'boolean', 'description': 'true: only posts that read as machine-made (bots, templated posts); false: only the rest. Omit for both.'}, 'languages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Only posts in any of these languages (ISO 639-1: en, es, de). A post whose language is unknown never passes.'}, 'linkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Only posts linking to any of these hosts, the host itself or a subdomain of it (octolens.com also matches blog.octolens.com). A post with no links never passes.'}, 'minQuotes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many quotes, as the platform reported them when the post was found. A post without that count never passes.'}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'description': 'Only posts from these platforms.'}, 'keywordIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Only these keywords.'}, 'minReplies': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many replies (comments), as the platform reported them when the post was found. A post without that count never passes.'}, 'minReposts': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many reposts (shares, retweets), as the platform reported them when the post was found. A post without that count never passes.'}, 'notRatings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Never reviews with these star ratings (1 to 5): [5] keeps the five star reviews out. Posts that are not reviews still pass.'}, 'sentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'description': 'Only these sentiments.'}, 'minBookmarks': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many bookmarks (saves), as the platform reported them when the post was found. A post without that count never passes.'}, 'minFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at least this many followers. Unknown reach never passes.'}, 'minRelevance': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': "The rule's relevance floor. Absent, it sends relevant mentions only (scored 40 and up, the classifier's line); lower, down to 0, it also receives the matches the classifier scored as noise; higher, it hears less. Email channels keep the 40 line whatever the rule says. Unclassified mentions never pass."}, 'minConfidence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Only mentions whose classifier confidence is at least this, 0 to 1. A mention without a confidence never passes.'}, 'excludeAuthors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 200, 'description': 'Never these authors: display names, handles or profile URLs.'}}, 'description': 'Replaces the whole filter.', 'additionalProperties': False}, 'enabled': {'type': 'boolean'}, 'schedule': {'anyOf': [{'type': 'object', 'required': ['hour', 'timezone'], 'properties': {'hour': {'type': 'integer', 'maximum': 23, 'minimum': 0}, 'minute': {'type': 'integer', 'default': 0, 'maximum': 59, 'minimum': 0}, 'weekday': {'type': 'integer', 'maximum': 6, 'minimum': 0, 'description': 'Weekly rules: the day it sends, 0 Sunday to 6 Saturday. Required for mode weekly; ignored on daily rules.'}, 'timezone': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'skipEmpty': {'type': 'boolean', 'default': True}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Daily and weekly alerts. Ignored on an hourly one, except a weekday, which is refused.'}, 'channelIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 20, 'description': 'Replaces the whole list.'}}, 'description': 'Omitted fields are untouched.', 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'context': {'type': 'string', 'maxLength': 4000, 'description': 'Overrides the composed context until the next profile edit.'}, 'website': {'anyOf': [{'type': 'string', 'format': 'uri', 'maxLength': 300}, {'type': 'null'}], 'description': 'The company website; null clears it.'}, 'accounts': {'type': 'object', 'properties': {'x': {'anyOf': [{'type': 'string', 'maxLength': 60}, {'type': 'null'}]}, 'linkedin': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}}, 'additionalProperties': False}, 'useCases': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Replaces the whole list.'}, 'guidelines': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'description': 'Free-text rules for the classifier; null clears them.'}, 'competitors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'maxItems': 50, 'description': 'Replaces the whole list; [] clears it.'}, 'description': {'type': 'string', 'maxLength': 1000}}, 'description': 'Omitted fields are untouched.', 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {'subreddits': {'type': 'object', 'properties': {'only': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 200, 'description': 'Replaces the allowlist; [] clears it.'}, 'excluded': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 200, 'description': 'Replaces the deny list; [] clears it.'}}, 'description': 'Reddit only; an omitted list is untouched.', 'additionalProperties': False}, 'excludedRepos': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 200, 'description': 'Replaces the list; [] clears it.'}, 'excludedTerms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'maxItems': 200, 'description': 'Replaces the list; [] clears it.'}, 'excludedAuthors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 200, 'description': 'Replaces the list; [] clears it.'}}, 'description': 'Omitted fields are untouched; an empty list clears one.', 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Group id (grp_...)'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': "The group's name: a customer, a campaign, a product. Unique per workspace."}, 'context': {'anyOf': [{'type': 'string', 'maxLength': 4000, 'description': 'What the classifier reads as "the company" for this group\'s keywords, in place of the WHOLE workspace profile, its relevance guidelines and competitor list included (at most 4000 characters): who the business is, what it sells, for whom, what is not it, and any rule that should apply to this group ("ignore job posts"). For a group per customer, the customer\'s description. Null: the workspace profile, as for every keyword before groups.'}, {'type': 'null'}], 'description': "Replaces the group's company description; null clears it (the workspace profile applies again). New mentions are judged with it at once; old ones are not rescored. Not on the default group (400 default_group_context): that one is the workspace itself and reads the profile."}, 'externalId': {'anyOf': [{'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Your own id for the group (a customer id, say). Unique per workspace; find the group by it with GET /v1/groups?externalId=.'}, {'type': 'null'}], 'description': 'Replaces your id for the group; null clears it.'}}, 'description': 'Omitted fields are untouched.', 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Keyword id'}, 'cap': {'anyOf': [{'type': 'object', 'required': ['mentions'], 'properties': {'mentions': {'type': 'integer', 'maximum': 1000000, 'minimum': 1, 'description': 'Matched mentions allowed per calendar month (UTC). Every match counts, relevant or not, the look-back a new keyword gets included, because every match bills.'}}, 'description': 'A monthly ceiling on the mentions this keyword may match. At the cap it stops matching until the first of the next month (UTC), or until the cap is raised or removed. It stays unmuted: it keeps its place and its daily keyword charge; pause it to stop that too.', 'additionalProperties': False}, {'type': 'null'}], 'description': "Replaces the monthly mention cap; null removes it. A cap above this month's count resumes a capped keyword at once, one at or under it pauses it."}, 'kind': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string', 'description': 'Reclassify it as brand, competitor or topic.'}, 'muted': {'type': 'boolean', 'description': 'A muted keyword stops polling and matching; its mentions stay.'}, 'context': {'anyOf': [{'type': 'string', 'maxLength': 300, 'description': 'A sentence the classifier reads for this keyword only, on top of the company profile or the group\'s own description (at most 300 characters): what the term means here, what to ignore. "Arc is our browser; ignore the geometry word." Null clears it.'}, {'type': 'null'}], 'description': 'A sentence the classifier reads for this keyword only, on top of the company profile or the group\'s own description (at most 300 characters): what the term means here, what to ignore. "Arc is our browser; ignore the geometry word." Null clears it.'}, 'groupId': {'type': 'string', 'minLength': 1, 'description': 'Moves the keyword to this group (grp_...). A 409 when that group already tracks the term.'}, 'matching': {'type': 'object', 'properties': {'requiredMode': {'enum': ['any', 'all'], 'type': 'string', 'description': 'any: at least one required term must appear. all: every one must.'}, 'caseSensitive': {'type': 'boolean', 'description': 'true: the term must appear in the case it was typed (RAG, never rag). Default false.'}, 'excludedTerms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'maxItems': 50, 'description': 'A post containing any of these is dropped. A `*` at the start or the end of an entry is a wildcard (beta.* matches beta.0.1; *bot matches nightlybot).'}, 'requiredTerms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'maxItems': 50, 'description': 'The post must ALSO contain these terms, any one of them or all of them per requiredMode. Empty: no requirement.'}, 'excludedAuthors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'maxItems': 100, 'description': "Posts by these authors are dropped: profile or post links, @handles, u/names, Bluesky DIDs or display names, stored in canonical form like an alert's muted list."}}, 'description': 'Omitted fields are untouched; an empty list clears one.', 'additionalProperties': False}, 'platforms': {'anyOf': [{'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram'], 'type': 'string'}}, {'type': 'null'}], 'description': 'Replaces the platform list; null means every platform, [] none (reviews only, when the keyword has reviewSources).'}, 'reviewSources': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'The id on the platform: the digits after "id" on the App Store, the package name on Google Play, the company\'s domain on Trustpilot (notion.so), a Place ID (ChIJ...) on Google Maps.'}, 'url': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': "The review page's link: an App Store or Google Play app (https://apps.apple.com/us/app/notion/id1232780281, https://play.google.com/store/apps/details?id=notion.id), a Trustpilot page (https://www.trustpilot.com/review/notion.so) or a Google Maps place (its full link, or a maps.app.goo.gl share link). Or give platform and id."}, 'language': {'type': 'string', 'maxLength': 10, 'minLength': 2, 'description': "Google Play only: the language of the reviews to read (en, es, de, pt-BR); Google Play answers one language at a time. Default: the link's hl, else en."}, 'platform': {'enum': ['appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': "appstore (Apple App Store), googleplay (Google Play), trustpilot (a company's Trustpilot page) or googlemaps (a place's Google reviews)."}, 'countries': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[A-Za-z]{2}$'}, 'maxItems': 20, 'minItems': 1, 'description': 'App Store and Google Play only: storefronts to read, two-letter codes, at most 20. Default: the one in the link, else us. Each is one more poll a day; the same review seen in two storefronts is one mention. Trustpilot and Google Maps have one page for everyone and take none.'}}, 'description': "A review page whose reviews become this keyword's mentions: its link, or the platform and the id.", 'additionalProperties': False}, 'maxItems': 10, 'description': 'Replaces the list of apps whose reviews this keyword collects; [] disconnects them all (their reviews stay). An app or country added here gets the free 30-day look-back; one already listed keeps its place.'}}, 'description': 'Omitted fields are untouched.', 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Mention id (mm_...)'}, 'note': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'description': 'Internal note; null or empty clears it.'}, 'status': {'enum': ['open', 'ignored', 'done'], 'type': 'string', 'description': 'ignored or done to handle it; open to put it back.'}, 'relevant': {'type': ['boolean', 'null'], 'description': "Your verdict on relevance, correcting the classifier: true sets relevance to 100 and puts a filtered mention back in the relevant feed, false sets it to 0 and takes it out; null withdraws the verdict and restores the classifier's score. Never billed or unbilled. A mention still being classified answers 409 classification_pending."}, 'sentiment': {'anyOf': [{'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, {'type': 'null'}], 'description': "Your corrected sentiment; null withdraws the correction and restores the classifier's."}, 'assigneeId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}], 'description': 'A workspace member (user id), or null to unassign.'}, 'snoozedUntil': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'description': 'ISO 8601 (or epoch ms) until which the mention leaves the feed; null wakes it.'}}, 'description': 'Every field is optional; omitted fields are untouched.', 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Audience author id (aut_...)'}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Replaces the whole list.'}, 'muted': {'type': 'boolean'}, 'notes': {'type': 'string', 'maxLength': 2000}, 'stage': {'enum': ['not_contacted', 'contacted', 'replied', 'in_talks', 'customer', 'not_a_fit'], 'type': 'string', 'description': 'Where your workspace stands with the person: not_contacted, contacted, replied, in_talks, customer or not_a_fit.'}, 'ownerId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}], 'description': 'The member who owns the contact (user id); null clears.'}}, 'description': 'Omitted fields are untouched.', 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Segment id (seg_...)'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'filter': {'type': 'object', 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'People carrying any of these tags.'}, 'muted': {'type': 'boolean', 'description': 'true: only muted people; false: only unmuted.'}, 'stages': {'type': 'array', 'items': {'enum': ['not_contacted', 'contacted', 'replied', 'in_talks', 'customer', 'not_a_fit'], 'type': 'string', 'description': 'Where your workspace stands with the person: not_contacted, contacted, replied, in_talks, customer or not_a_fit.'}, 'maxItems': 6, 'description': 'People at any of these outreach stages.'}, 'intents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 10, 'description': 'At least one mention carrying any of these intents.'}, 'notTags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Nobody carrying any of these tags.'}, 'ownerIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'People owned by any of these members (user ids); "none" matches people nobody owns.'}, 'automated': {'type': 'boolean', 'description': 'true: only people whose matched posts are mostly machine-made (bot accounts); false: only the rest.'}, 'linkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'At least one mention linking to any of these hosts, the host itself or a subdomain of it.'}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'People with an account on any of these platforms.'}, 'notIntents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 10, 'description': 'Nobody whose mentions carry any of these intents.'}, 'minMentions': {'type': 'integer', 'minimum': 1, 'description': 'At least this many matched mentions.'}, 'minNegative': {'type': 'integer', 'minimum': 1, 'description': 'At least this many negative mentions.'}, 'keywordKinds': {'type': 'array', 'items': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string'}, 'maxItems': 3, 'description': 'Mentioned a keyword of any of these kinds.'}, 'maxFollowers': {'type': 'integer', 'minimum': 0, 'description': 'At most this many followers. Unknown reach never matches.'}, 'minFollowers': {'type': 'integer', 'minimum': 0, 'description': 'At least this many followers. Unknown reach never matches.'}, 'newSinceDays': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'First seen within this many days.'}, 'notPlatforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Nobody with an account on these platforms.'}, 'neverKeywordKinds': {'type': 'array', 'items': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string'}, 'maxItems': 3, 'description': 'Never mentioned a keyword of these kinds.'}}, 'description': 'Replaces the whole filter.', 'additionalProperties': False}, 'description': {'type': 'string', 'maxLength': 500}}, 'description': 'Omitted fields are untouched.', 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'View id (vw_...)'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'filter': {'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "Substring in the post text or the author's name."}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only authors your workspace tagged with any of these.'}, 'anyOf': {'type': 'array', 'items': {'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "Substring in the post text or the author's name."}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only authors your workspace tagged with any of these.'}, 'status': {'enum': ['open', 'ignored', 'done'], 'type': 'string', 'description': 'Only mentions in this status: open, ignored, done.'}, 'intents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only mentions carrying any of these intent or topic tags.'}, 'isReply': {'type': 'boolean', 'description': 'true: only replies and comments; false: only top-level posts.'}, 'notTags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Never authors tagged with any of these.'}, 'ratings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Only app store reviews with any of these star ratings; every other post fails it.'}, 'groupIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of keywords in any of these groups (grp_...).'}, 'minLikes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many likes (upvotes, reactions), as the platform reported them when the post was found. A post without that count never passes.'}, 'minViews': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many views (plays), as the platform reported them when the post was found. A post without that count never passes.'}, 'relevant': {'type': 'boolean', 'description': 'true: only mentions the classifier scored relevant; false: only the rest.'}, 'automated': {'type': 'boolean', 'description': 'true: only posts that read as machine-made; false: only the rest.'}, 'languages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Only posts in any of these languages (ISO 639-1).'}, 'linkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Only posts linking to any of these hosts, the host itself or a subdomain of it.'}, 'minQuotes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many quotes, as the platform reported them when the post was found. A post without that count never passes.'}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Only posts from any of these platforms.'}, 'keywordIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of any of these keywords.'}, 'minReplies': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many replies (comments), as the platform reported them when the post was found. A post without that count never passes.'}, 'minReposts': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many reposts (shares, retweets), as the platform reported them when the post was found. A post without that count never passes.'}, 'notIntents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Never mentions carrying these tags.'}, 'notRatings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Never reviews with these star ratings; posts that are not reviews still pass.'}, 'sentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Only these sentiments.'}, 'notGroupIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of keywords in these groups.'}, 'keywordKinds': {'type': 'array', 'items': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string'}, 'maxItems': 3, 'description': 'Only matches of keywords of any of these kinds: brand, competitor, topic.'}, 'maxFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at most this many followers; unknown reach never passes.'}, 'minBookmarks': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many bookmarks (saves), as the platform reported them when the post was found. A post without that count never passes.'}, 'minFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at least this many followers; unknown reach never passes.'}, 'minRelevance': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Only mentions scored at least this.'}, 'notLanguages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Never posts in these languages; an unknown language still passes.'}, 'notLinkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Never posts linking to these hosts.'}, 'notPlatforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Never posts from these platforms.'}, 'minConfidence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Only mentions whose classifier confidence is at least this.'}, 'notKeywordIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of these keywords.'}, 'notSentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Never these sentiments; an unscored mention still passes.'}, 'excludeAuthors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 200, 'description': 'Never these authors: display names, handles or profile URLs.'}}, 'description': 'A group of conditions, all of which must hold: the vocabulary of a view filter, without anyOf.', 'additionalProperties': False}, 'maxItems': 10, 'minItems': 1, 'description': 'OR across groups: a mention passes when it meets every condition of at least one group (1 to 10 groups). The other conditions still apply to every mention: the whole filter is (other conditions) AND (group 1 OR group 2 ...). A group takes the conditions of a view filter (platforms, sentiments, intents, keywordKinds, the not lists ...), with no anyOf of its own.'}, 'status': {'enum': ['open', 'ignored', 'done'], 'type': 'string', 'description': 'Only mentions in this status: open, ignored, done.'}, 'intents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Only mentions carrying any of these intent or topic tags.'}, 'isReply': {'type': 'boolean', 'description': 'true: only replies and comments; false: only top-level posts.'}, 'notTags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Never authors tagged with any of these.'}, 'ratings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Only app store reviews with any of these star ratings; every other post fails it.'}, 'groupIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of keywords in any of these groups (grp_...).'}, 'minLikes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many likes (upvotes, reactions), as the platform reported them when the post was found. A post without that count never passes.'}, 'minViews': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many views (plays), as the platform reported them when the post was found. A post without that count never passes.'}, 'relevant': {'type': 'boolean', 'description': 'true: only mentions the classifier scored relevant; false: only the rest.'}, 'automated': {'type': 'boolean', 'description': 'true: only posts that read as machine-made; false: only the rest.'}, 'languages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Only posts in any of these languages (ISO 639-1).'}, 'linkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Only posts linking to any of these hosts, the host itself or a subdomain of it.'}, 'minQuotes': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many quotes, as the platform reported them when the post was found. A post without that count never passes.'}, 'platforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Only posts from any of these platforms.'}, 'keywordIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Only matches of any of these keywords.'}, 'minReplies': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many replies (comments), as the platform reported them when the post was found. A post without that count never passes.'}, 'minReposts': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many reposts (shares, retweets), as the platform reported them when the post was found. A post without that count never passes.'}, 'notIntents': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 20, 'description': 'Never mentions carrying these tags.'}, 'notRatings': {'type': 'array', 'items': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'maxItems': 5, 'description': 'Never reviews with these star ratings; posts that are not reviews still pass.'}, 'sentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Only these sentiments.'}, 'notGroupIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of keywords in these groups.'}, 'keywordKinds': {'type': 'array', 'items': {'enum': ['brand', 'competitor', 'topic'], 'type': 'string'}, 'maxItems': 3, 'description': 'Only matches of keywords of any of these kinds: brand, competitor, topic.'}, 'maxFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at most this many followers; unknown reach never passes.'}, 'minBookmarks': {'type': 'integer', 'minimum': 0, 'description': 'Only posts with at least this many bookmarks (saves), as the platform reported them when the post was found. A post without that count never passes.'}, 'minFollowers': {'type': 'integer', 'minimum': 0, 'description': 'Only authors with at least this many followers; unknown reach never passes.'}, 'minRelevance': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Only mentions scored at least this.'}, 'notLanguages': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 20, 'description': 'Never posts in these languages; an unknown language still passes.'}, 'notLinkHosts': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Never posts linking to these hosts.'}, 'notPlatforms': {'type': 'array', 'items': {'enum': ['bluesky', 'hackernews', 'github', 'stackoverflow', 'devto', 'reddit', 'x', 'youtube', 'news', 'linkedin', 'tiktok', 'instagram', 'appstore', 'googleplay', 'trustpilot', 'googlemaps'], 'type': 'string', 'description': 'Platform: bluesky, hackernews, github, stackoverflow, devto, reddit, x, youtube, news, linkedin, tiktok, instagram, appstore (App Store reviews), googleplay (Google Play reviews), trustpilot (Trustpilot reviews), googlemaps (Google reviews of a place).'}, 'maxItems': 20, 'description': 'Never posts from these platforms.'}, 'minConfidence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Only mentions whose classifier confidence is at least this.'}, 'notKeywordIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 50, 'description': 'Never matches of these keywords.'}, 'notSentiments': {'type': 'array', 'items': {'enum': ['positive', 'neutral', 'negative'], 'type': 'string', 'description': 'Classifier sentiment.'}, 'maxItems': 3, 'description': 'Never these sentiments; an unscored mention still passes.'}, 'excludeAuthors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 200, 'description': 'Never these authors: display names, handles or profile URLs.'}}, 'description': 'Replaces the whole filter.', 'additionalProperties': False}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Letzte Tool-Änderungen
Ähnliche MCP-Server
LinkedIn MCP Server (Salesbot)
Supports LinkedIn lead discovery, contact enrichment, CRM pipelines, campaign sequencing, message approval and human-reviewed out…
linkedin-buying-signals
Finds and analyzes LinkedIn prospects with buying signals, manages lead records and drafts or sends personalized email and Linked…
OpenComment AI
Provides product information for researching LinkedIn contacts, monitoring activity, and preparing engagement campaigns.
Pro Reach LinkedIn Outreach
Supports planning and managing LinkedIn outreach, including templates, leads, confirmation-gated launches, metrics, and replies.
mcp-creator-lead-list-all-in-one
Builds influencer lead lists from keywords or handles, including contact details.
RedReplier
Monitors mentions across Reddit, Hacker News, X, and Bluesky and triages potential leads.
Zevari
Supports review-gated LinkedIn prospecting and go-to-market outreach workflows.
neuron
Operates AI chatbots and messaging workflows across WhatsApp and social channels, including contacts, campaigns, conversations, p…