mentio-dev · Schema
FilterGroup
A group of conditions, all of which must hold: the vocabulary of a view filter, without anyOf.
CompanySocial ListeningAI IntegrationSDKsReal-time Monitoring
Properties
| Name | Type | Description |
|---|---|---|
| q | string | Substring in the post text or the author's name. |
| keywordIds | array | Only matches of any of these keywords. |
| notKeywordIds | array | Never matches of these keywords. |
| keywordKinds | array | Only matches of keywords of any of these kinds: brand, competitor, topic. |
| groupIds | array | Only matches of keywords in any of these groups (grp_...). |
| notGroupIds | array | Never matches of keywords in these groups. |
| platforms | array | Only posts from any of these platforms. |
| notPlatforms | array | Never posts from these platforms. |
| status | string | Only mentions in this status: open, ignored, done. |
| relevant | boolean | true: only mentions the classifier scored relevant; false: only the rest. |
| minRelevance | integer | Only mentions scored at least this. |
| minConfidence | number | Only mentions whose classifier confidence is at least this. |
| sentiments | array | Only these sentiments. |
| notSentiments | array | Never these sentiments; an unscored mention still passes. |
| intents | array | Only mentions carrying any of these intent or topic tags. |
| notIntents | array | Never mentions carrying these tags. |
| automated | boolean | true: only posts that read as machine-made; false: only the rest. |
| languages | array | Only posts in any of these languages (ISO 639-1). |
| notLanguages | array | Never posts in these languages; an unknown language still passes. |
| countries | array | Only posts whose author is in any of these countries (ISO 3166-1 alpha-2: us, in, de). An unknown country never passes. |
| notCountries | array | Never posts whose author is in these countries; an unknown country still passes. |
| organization | boolean | true: only posts by companies, brands and organizations; false: only posts by people. |
| tags | array | Only authors tagged with any of these, in the workspace's tags or those of the mention's own keyword group. |
| notTags | array | Never authors tagged with any of these, in the workspace's tags or those of the mention's own keyword group. |
| linkHosts | array | Only posts linking to any of these hosts, the host itself or a subdomain of it. |
| notLinkHosts | array | Never posts linking to these hosts. |
| subreddits | array | Only Reddit posts from any of these subreddits (names without the r/, any case); every other post fails it. |
| notSubreddits | array | Never Reddit posts from these subreddits; posts from other platforms still pass. |
| minFollowers | integer | Only authors with at least this many followers; unknown reach never passes. |
| maxFollowers | integer | Only authors with at most this many followers; unknown reach never passes. |
| isReply | boolean | true: only replies and comments; false: only top-level posts. |
| kind | string | Only posts (post), only comments (comment) or only GitHub repository events (repository). |
| excludeAuthors | array | Never these authors: display names, handles or profile URLs. |
| ratings | array | Only app store reviews with any of these star ratings; every other post fails it. |
| notRatings | array | Never reviews with these star ratings; posts that are not reviews still pass. |
| minLikes | integer | 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. |
| minReposts | integer | 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. |
| minReplies | integer | 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. |
| minQuotes | integer | 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. |
| minViews | integer | 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. |
| minBookmarks | integer | 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. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/mentio-dev/json-schema/mentio-dev-filter-group-schema.json",
"title": "FilterGroup",
"description": "A group of conditions, all of which must hold: the vocabulary of a view filter, without anyOf.",
"x-generated": "2026-10-31",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/mentio-dev-api-openapi.json#/components/schemas/FilterGroup",
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Substring in the post text or the author's name."
},
"keywordIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 50,
"description": "Only matches of any of these keywords."
},
"notKeywordIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 50,
"description": "Never matches of these keywords."
},
"keywordKinds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"brand",
"competitor",
"topic"
]
},
"maxItems": 3,
"description": "Only matches of keywords of any of these kinds: brand, competitor, topic."
},
"groupIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 50,
"description": "Only matches of keywords in any of these groups (grp_...)."
},
"notGroupIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"maxItems": 50,
"description": "Never matches of keywords in 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",
"rss"
],
"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), rss (RSS and Atom feeds a keyword reads)."
},
"maxItems": 20,
"description": "Only posts from any of these platforms."
},
"notPlatforms": {
"type": "array",
"items": {
"type": "string",
"enum": [
"bluesky",
"hackernews",
"github",
"stackoverflow",
"devto",
"reddit",
"x",
"youtube",
"news",
"linkedin",
"tiktok",
"instagram",
"appstore",
"googleplay",
"trustpilot",
"googlemaps",
"rss"
],
"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), rss (RSS and Atom feeds a keyword reads)."
},
"maxItems": 20,
"description": "Never posts from these platforms."
},
"status": {
"type": "string",
"enum": [
"open",
"ignored",
"done"
],
"description": "Only mentions in this status: open, ignored, done."
},
"relevant": {
"type": "boolean",
"description": "true: only mentions the classifier scored relevant; false: only the rest."
},
"minRelevance": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Only mentions scored at least this."
},
"minConfidence": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Only mentions whose classifier confidence is at least this."
},
"sentiments": {
"type": "array",
"items": {
"type": "string",
"enum": [
"positive",
"neutral",
"negative"
],
"description": "Classifier sentiment."
},
"maxItems": 3,
"description": "Only these sentiments."
},
"notSentiments": {
"type": "array",
"items": {
"type": "string",
"enum": [
"positive",
"neutral",
"negative"
],
"description": "Classifier sentiment."
},
"maxItems": 3,
"description": "Never these sentiments; an unscored mention still passes."
},
"intents": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"maxItems": 20,
"description": "Only mentions carrying any of these intent or topic tags."
},
"notIntents": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"maxItems": 20,
"description": "Never mentions carrying these tags."
},
"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)."
},
"notLanguages": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z]{2}$"
},
"maxItems": 20,
"description": "Never posts in these languages; an unknown language still passes."
},
"countries": {
"type": "array",
"items": {
"type": "string",
"enum": [
"us",
"ca",
"mx",
"br",
"ar",
"co",
"cl",
"pe",
"gb",
"ie",
"fr",
"de",
"es",
"pt",
"it",
"nl",
"be",
"ch",
"at",
"se",
"no",
"dk",
"fi",
"pl",
"cz",
"ro",
"gr",
"hu",
"ua",
"ru",
"lt",
"lv",
"ee",
"tr",
"il",
"ae",
"sa",
"eg",
"ng",
"ke",
"za",
"ma",
"in",
"pk",
"bd",
"lk",
"np",
"cn",
"hk",
"tw",
"jp",
"kr",
"sg",
"my",
"id",
"ph",
"vn",
"th",
"au",
"nz"
]
},
"maxItems": 100,
"description": "Only posts whose author is in any of these countries (ISO 3166-1 alpha-2: us, in, de). An unknown country never passes."
},
"notCountries": {
"type": "array",
"items": {
"type": "string",
"enum": [
"us",
"ca",
"mx",
"br",
"ar",
"co",
"cl",
"pe",
"gb",
"ie",
"fr",
"de",
"es",
"pt",
"it",
"nl",
"be",
"ch",
"at",
"se",
"no",
"dk",
"fi",
"pl",
"cz",
"ro",
"gr",
"hu",
"ua",
"ru",
"lt",
"lv",
"ee",
"tr",
"il",
"ae",
"sa",
"eg",
"ng",
"ke",
"za",
"ma",
"in",
"pk",
"bd",
"lk",
"np",
"cn",
"hk",
"tw",
"jp",
"kr",
"sg",
"my",
"id",
"ph",
"vn",
"th",
"au",
"nz"
]
},
"maxItems": 100,
"description": "Never posts whose author is in these countries; an unknown country still passes."
},
"organization": {
"type": "boolean",
"description": "true: only posts by companies, brands and organizations; false: only posts by people."
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"maxItems": 20,
"description": "Only authors tagged with any of these, in the workspace's tags or those of the mention's own keyword group."
},
"notTags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"maxItems": 20,
"description": "Never authors tagged with any of these, in the workspace's tags or those of the mention's own keyword group."
},
"linkHosts": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 20,
"description": "Only posts linking to any of these hosts, the host itself or a subdomain of it."
},
"notLinkHosts": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 20,
"description": "Never posts linking to these hosts."
},
"subreddits": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"maxItems": 50,
"description": "Only Reddit posts from any of these subreddits (names without the r/, any case); every other post fails it."
},
"notSubreddits": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"maxItems": 50,
"description": "Never Reddit posts from these subreddits; posts from other platforms still pass."
},
"minFollowers": {
"type": "integer",
"minimum": 0,
"description": "Only authors with at least this many followers; unknown reach never passes."
},
"maxFollowers": {
"type": "integer",
"minimum": 0,
"description": "Only authors with at most this many followers; unknown reach never passes."
},
"isReply": {
"type": "boolean",
"description": "true: only replies and comments; false: only top-level posts."
},
"kind": {
"type": "string",
"enum": [
"post",
"comment",
"repository"
],
"description": "Only posts (post), only comments (comment) or only GitHub repository events (repository)."
},
"excludeAuthors": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 200,
"description": "Never these authors: display names, handles or profile URLs."
},
"ratings": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 5
},
"maxItems": 5,
"description": "Only app store reviews with any of these star ratings; every other post fails it."
},
"notRatings": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 5
},
"maxItems": 5,
"description": "Never reviews with these star ratings; posts that are not reviews still pass."
},
"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."
},
"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."
},
"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."
},
"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."
},
"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."
},
"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."
}
},
"additionalProperties": false
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/mentio-dev-filter-group"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.