Raw schema
{
"type": "object",
"properties": {
"keywordId": {
"type": "string",
"description": "Only this keyword's matches."
},
"platform": {
"type": "string",
"enum": [
"bluesky",
"hackernews",
"github",
"stackoverflow",
"devto",
"reddit",
"x",
"youtube",
"news",
"linkedin",
"tiktok",
"instagram",
"appstore",
"googleplay",
"trustpilot",
"googlemaps"
],
"description": "Only this platform's posts."
},
"status": {
"type": "string",
"enum": [
"open",
"ignored",
"done"
],
"description": "Keeps mentions with this status only. Leave it out for all statuses."
},
"relevant": {
"type": "boolean",
"description": "true keeps mentions the classifier scored relevant. false keeps the others, including unscored ones."
},
"sentiment": {
"type": "string",
"enum": [
"positive",
"neutral",
"negative"
],
"description": "Keeps mentions with this sentiment only."
},
"intent": {
"type": "string",
"description": "Returns only mentions with this tag. One of bug_report, buy_intent, churn_intent, comparison, complaint, event, feedback, hiring, industry_insight, launch, praise, pricing, promotional, question and testimonial."
},
"automated": {
"type": "boolean",
"description": "true keeps mentions that look machine-made, such as bot accounts, scheduled or template posts and AI-written text. false keeps the others, including mentions scored before this flag existed. Leave it out for all."
},
"personId": {
"type": "string",
"minLength": 1,
"description": "Keeps mentions by this person (an id from /v1/people), including merged accounts. Turns on includeMuted."
},
"includeMuted": {
"type": "boolean",
"description": "true also returns mentions by muted people, which are hidden by default."
},
"assigneeId": {
"type": "string",
"minLength": 1,
"description": "Member user id. Returns only mentions assigned to them."
},
"snoozed": {
"type": "boolean",
"description": "true shows only snoozed mentions, which are otherwise hidden until they wake."
},
"excludeAuthors": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 200,
"description": "Leaves out these authors, given as display names, handles or profile links. Repeat the parameter or send one value with commas."
},
"minRelevance": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Keeps mentions with this relevance score or higher. Unscored mentions are left out."
},
"minConfidence": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Minimum classifier confidence, 0 to 1. Mentions with no confidence are dropped."
},
"minFollowers": {
"type": "integer",
"minimum": 0,
"description": "Sends only posts by authors with this many followers or more. Unknown counts are left out."
},
"maxFollowers": {
"type": "integer",
"minimum": 0,
"description": "Keeps posts by authors with this many followers or fewer. Unknown counts are left out."
},
"isReply": {
"type": "boolean",
"description": "true keeps replies and comments, meaning posts that answer another post. false keeps posts that are not replies. Leave it out for both."
},
"alertId": {
"type": "string",
"minLength": 1,
"description": "Adds an alert rule's filter (an id from GET /v1/alerts) to the other filters. You get the mentions the rule would send, useful for a preview or an export in feed form. An unknown id returns 404."
},
"viewId": {
"type": "string",
"minLength": 1,
"description": "Adds a saved view's filter (an id from GET /v1/views) to the other filters, with every condition joined by AND. You get exactly what the view shows. An unknown id returns 404."
},
"keywordKinds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"brand",
"competitor",
"topic"
]
},
"maxItems": 3,
"description": "Keeps matches of keywords of these kinds only (brand, competitor, topic). Repeat the parameter or separate values with commas."
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 20,
"description": "Keeps authors your workspace gave one of these tags, matched exactly and by case. Repeat the parameter or separate values with commas."
},
"linkHosts": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 20,
"description": "Keeps posts that link to one of these hosts or its subdomains, so slack.com also matches api.slack.com. Repeat the parameter or separate values with commas."
},
"platforms": {
"type": "array",
"items": {
"type": "string",
"enum": [
"bluesky",
"hackernews",
"github",
"stackoverflow",
"devto",
"reddit",
"x",
"youtube",
"news",
"linkedin",
"tiktok",
"instagram",
"appstore",
"googleplay",
"trustpilot",
"googlemaps"
],
"description": "The platform. Review platforms are appstore, googleplay, trustpilot and googlemaps (a place's Google reviews)."
},
"maxItems": 20,
"description": "Keeps posts from these platforms only."
},
"notPlatforms": {
"type": "array",
"items": {
"type": "string",
"enum": [
"bluesky",
"hackernews",
"github",
"stackoverflow",
"devto",
"reddit",
"x",
"youtube",
"news",
"linkedin",
"tiktok",
"instagram",
"appstore",
"googleplay",
"trustpilot",
"googlemaps"
],
"description": "The platform. Review platforms are appstore, googleplay, trustpilot and googlemaps (a place's Google reviews)."
},
"maxItems": 20,
"description": "Platforms to exclude."
},
"keywordIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 50,
"description": "Keeps matches of these keywords only."
},
"groupIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 50,
"description": "Keeps matches of keywords in these groups only (grp_...). Repeat the parameter or separate values with commas."
},
"notGroupIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 50,
"description": "Hides matches from keywords that belong to these groups."
},
"notKeywordIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 50,
"description": "Keyword ids to exclude."
},
"sentiments": {
"type": "array",
"items": {
"type": "string",
"enum": [
"positive",
"neutral",
"negative"
],
"description": "The sentiment the classifier assigned."
},
"maxItems": 3,
"description": "Keeps mentions with these sentiments only."
},
"notSentiments": {
"type": "array",
"items": {
"type": "string",
"enum": [
"positive",
"neutral",
"negative"
],
"description": "The sentiment the classifier assigned."
},
"maxItems": 3,
"description": "Leaves out these sentiments. Mentions not scored yet are kept."
},
"intents": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 20,
"description": "Keeps mentions tagged with one of these intents or topics."
},
"notIntents": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 20,
"description": "Intent or topic tags to exclude."
},
"notLinkHosts": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 20,
"description": "Leaves out posts that link to these hosts or their subdomains."
},
"notTags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 20,
"description": "Leaves out authors your workspace gave one of these tags."
},
"languages": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z]{2}$"
},
"maxItems": 20,
"description": "Sends only posts in these languages, as ISO 639-1 codes such as en, es or de. Posts with an unknown language are left out."
},
"notLanguages": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z]{2}$"
},
"maxItems": 20,
"description": "Leaves out posts in these languages. Posts with an unknown language are kept."
},
"ratings": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 5
},
"maxItems": 5,
"description": "Keeps reviews with one of these star ratings, from 1 to 5. Use ratings=1,2 for the unhappy ones. Posts that are not reviews are left out."
},
"notRatings": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 5
},
"maxItems": 5,
"description": "Star ratings (1 to 5) to hide, such as notRatings=5. Other posts are unaffected."
},
"minLikes": {
"type": "integer",
"minimum": 0,
"description": "Keeps posts with this many likes (upvotes, reactions) or more, counted when the post was collected. Posts without a like count are left out."
},
"minReposts": {
"type": "integer",
"minimum": 0,
"description": "Keeps posts with this many reposts (shares, retweets) or more, counted when the post was collected. Posts without a repost count are left out."
},
"minReplies": {
"type": "integer",
"minimum": 0,
"description": "Keeps posts with this many replies (comments) or more, counted when the post was collected. Posts without a reply count are left out."
},
"minQuotes": {
"type": "integer",
"minimum": 0,
"description": "Keeps posts with this many quotes or more, counted when the post was collected. Posts without a quote count are left out."
},
"minViews": {
"type": "integer",
"minimum": 0,
"description": "Keeps posts with this many views (plays) or more, counted when the post was collected. Posts without a view count are left out."
},
"minBookmarks": {
"type": "integer",
"minimum": 0,
"description": "Keeps posts with this many bookmarks (saves) or more, counted when the post was collected. Posts without a bookmark count are left out."
},
"anyOf": {
"type": "array",
"items": {
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Searches post text and author names."
},
"keywordIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 50,
"description": "Keeps matches of these keywords only."
},
"notKeywordIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 50,
"description": "Keyword ids to exclude."
},
"keywordKinds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"brand",
"competitor",
"topic"
]
},
"maxItems": 3,
"description": "Keyword kinds to keep, out of brand, competitor and topic."
},
"groupIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 50,
"description": "Limits to keywords from these groups (grp_...)."
},
"notGroupIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 50,
"description": "Hides matches from keywords that belong to these groups."
},
"platforms": {
"type": "array",
"items": {
"type": "string",
"enum": [
"bluesky",
"hackernews",
"github",
"stackoverflow",
"devto",
"reddit",
"x",
"youtube",
"news",
"linkedin",
"tiktok",
"instagram",
"appstore",
"googleplay",
"trustpilot",
"googlemaps"
],
"description": "The platform. Review platforms are appstore, googleplay, trustpilot and googlemaps (a place's Google reviews)."
},
"maxItems": 20,
"description": "Keeps posts from these platforms only."
},
"notPlatforms": {
"type": "array",
"items": {
"type": "string",
"enum": [
"bluesky",
"hackernews",
"github",
"stackoverflow",
"devto",
"reddit",
"x",
"youtube",
"news",
"linkedin",
"tiktok",
"instagram",
"appstore",
"googleplay",
"trustpilot",
"googlemaps"
],
"description": "The platform. Review platforms are appstore, googleplay, trustpilot and googlemaps (a place's Google reviews)."
},
"maxItems": 20,
"description": "Platforms to exclude."
},
"status": {
"type": "string",
"enum": [
"open",
"ignored",
"done"
],
"description": "Keeps mentions with this status only (open, ignored or done)."
},
"relevant": {
"type": "boolean",
"description": "Filter on the classifier's verdict. true keeps relevant mentions, false the rest."
},
"minRelevance": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Minimum relevance score a mention needs."
},
"minConfidence": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Keeps mentions whose classifier confidence is this value or higher."
},
"sentiments": {
"type": "array",
"items": {
"type": "string",
"enum": [
"positive",
"neutral",
"negative"
],
"description": "The sentiment the classifier assigned."
},
"maxItems": 3,
"description": "Keeps mentions with these sentiments only."
},
"notSentiments": {
"type": "array",
"items": {
"type": "string",
"enum": [
"positive",
"neutral",
"negative"
],
"description": "The sentiment the classifier assigned."
},
"maxItems": 3,
"description": "Hides these sentiments. Unscored mentions stay."
},
"intents": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"maxItems": 20,
"description": "Keeps mentions tagged with one of these intents or topics."
},
"notIntents": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"maxItems": 20,
"description": "Hides mentions with these tags."
},
"automated": {
"type": "boolean",
"description": "true keeps posts that look machine-made. false keeps the others."
},
"languages": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z]{2}$"
},
"maxItems": 20,
"description": "Keeps posts in these languages only, as ISO 639-1 codes."
},
"notLanguages": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z]{2}$"
},
"maxItems": 20,
"description": "Leaves out posts in these languages. Posts with an unknown language are kept."
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"maxItems": 20,
"description": "Keeps authors your workspace gave one of these tags."
},
"notTags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"maxItems": 20,
"description": "Leaves out authors with one of these tags."
},
"linkHosts": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 20,
"description": "Keeps posts that link to one of these hosts or its subdomains."
},
"notLinkHosts": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 20,
"description": "Leaves out posts that link to these hosts."
},
"minFollowers": {
"type": "integer",
"minimum": 0,
"description": "Keeps authors with this many followers or more. Unknown counts are left out."
},
"maxFollowers": {
"type": "integer",
"minimum": 0,
"description": "Keeps authors with this many followers or fewer. Unknown counts are left out."
},
"isReply": {
"type": "boolean",
"description": "true keeps replies and comments. false keeps posts that are not replies."
},
"excludeAuthors": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 200,
"description": "Leaves out these authors, given as display names, handles or profile links."
},
"ratings": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 5
},
"maxItems": 5,
"description": "Keeps reviews with one of these star ratings. Posts that are not reviews are left out."
},
"notRatings": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 5
},
"maxItems": 5,
"description": "Hides reviews with these star ratings. Other posts are not affected."
},
"minLikes": {
"type": "integer",
"minimum": 0,
"description": "Keeps posts with this many likes (upvotes, reactions) or more, counted when the post was collected. Posts without a like count are left out."
},
"minReposts": {
"type": "integer",
"minimum": 0,
"description": "Keeps posts with this many reposts (shares, retweets) or more, counted when the post was collected. Posts without a repost count are left out."
},
"minReplies": {
"type": "integer",
"minimum": 0,
"description": "Keeps posts with this many replies (comments) or more, counted when the post was collected. Posts without a reply count are left out."
},
"minQuotes": {
"type": "integer",
"minimum": 0,
"description": "Keeps posts with this many quotes or more, counted when the post was collected. Posts without a quote count are left out."
},
"minViews": {
"type": "integer",
"minimum": 0,
"description": "Keeps posts with this many views (plays) or more, counted when the post was collected. Posts without a view count are left out."
},
"minBookmarks": {
"type": "integer",
"minimum": 0,
"description": "Keeps posts with this many bookmarks (saves) or more, counted when the post was collected. Posts without a bookmark count are left out."
}
},
"additionalProperties": false,
"description": "A set of conditions that must all be true. It uses the same fields as a view filter, except anyOf."
},
"minItems": 1,
"maxItems": 10,
"description": "Up to 10 OR'd groups (at least 1). A mention must meet every condition of some group, plus all other conditions, so the filter reads (other conditions) AND (group 1 OR group 2 ...). Groups take view filter fields (platforms, sentiments, intents, keywordKinds, the not lists and so on) but no nested anyOf."
},
"q": {
"type": "string",
"description": "Searches post text and author names."
},
"since": {
"type": "integer",
"description": "Keeps posts published at this time or later, as ISO 8601 or epoch ms."
},
"until": {
"type": "integer",
"description": "Keeps posts published at this time or earlier, as ISO 8601 or epoch ms."
},
"sort": {
"type": "string",
"enum": [
"newest",
"priority"
],
"description": "newest orders by match time, latest first. priority orders by attention score, highest first, and only covers the past 30 days of matches. Older ones are still available with newest. A cursor only works with the sort it came from.",
"default": "newest"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 10,
"description": "How many mentions to return, from 1 to 100. The default is 10, so narrow the filters before you ask for more."
}
},
"additionalProperties": false
}