rumoro-dev · Schema

FilterGroup

A set of conditions that must all be true. It uses the same fields as a view filter, except anyOf.

SocialListeningAIAPIMonitoringAnalytics

Properties

Name Type Description
q string Searches post text and author names.
keywordIds array Keeps matches of these keywords only.
notKeywordIds array Keyword ids to exclude.
keywordKinds array Keyword kinds to keep, out of brand, competitor and topic.
groupIds array Limits to keywords from these groups (grp_...).
notGroupIds array Hides matches from keywords that belong to these groups.
platforms array Keeps posts from these platforms only.
notPlatforms array Platforms to exclude.
status string Keeps mentions with this status only (open, ignored or done).
relevant boolean Filter on the classifier's verdict. true keeps relevant mentions, false the rest.
minRelevance integer Minimum relevance score a mention needs.
minConfidence number Keeps mentions whose classifier confidence is this value or higher.
sentiments array Keeps mentions with these sentiments only.
notSentiments array Hides these sentiments. Unscored mentions stay.
intents array Keeps mentions tagged with one of these intents or topics.
notIntents array Hides mentions with these tags.
automated boolean true keeps posts that look machine-made. false keeps the others.
languages array Keeps posts in these languages only, as ISO 639-1 codes.
notLanguages array Leaves out posts in these languages. Posts with an unknown language are kept.
tags array Keeps authors your workspace gave one of these tags.
notTags array Leaves out authors with one of these tags.
linkHosts array Keeps posts that link to one of these hosts or its subdomains.
notLinkHosts array Leaves out posts that link to these hosts.
minFollowers integer Keeps authors with this many followers or more. Unknown counts are left out.
maxFollowers integer Keeps authors with this many followers or fewer. Unknown counts are left out.
isReply boolean true keeps replies and comments. false keeps posts that are not replies.
kind string Only posts (post) or only comments (comment: replies, comments and answers). repository (GitHub repository events) is accepted and matches nothing, since Rumoro does not collect them. Omitted: all.
excludeAuthors array Leaves out these authors, given as display names, handles or profile links.
ratings array Keeps reviews with one of these star ratings. Posts that are not reviews are left out.
notRatings array Hides reviews with these star ratings. Other posts are not affected.
minLikes integer Keeps posts with this many likes (upvotes, reactions) or more, counted when the post was collected. Posts without a like count are left out.
minReposts integer Keeps posts with this many reposts (shares, retweets) or more, counted when the post was collected. Posts without a repost count are left out.
minReplies integer Keeps posts with this many replies (comments) or more, counted when the post was collected. Posts without a reply count are left out.
minQuotes integer Keeps posts with this many quotes or more, counted when the post was collected. Posts without a quote count are left out.
minViews integer Keeps posts with this many views (plays) or more, counted when the post was collected. Posts without a view count are left out.
minBookmarks integer Keeps posts with this many bookmarks (saves) or more, counted when the post was collected. Posts without a bookmark count are left out.
View JSON Schema on GitHub

JSON Schema

rumoro-dev-filter-group-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/rumoro-dev/json-schema/rumoro-dev-filter-group-schema.json",
  "title": "FilterGroup",
  "description": "A set of conditions that must all be true. It uses the same fields as a view filter, except anyOf.",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/rumoro-dev-openapi.json#/components/schemas/FilterGroup",
  "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",
          "rss"
        ],
        "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",
          "rss"
        ],
        "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."
    },
    "kind": {
      "type": "string",
      "enum": [
        "post",
        "comment",
        "repository"
      ],
      "description": "Only posts (post) or only comments (comment: replies, comments and answers). repository (GitHub repository events) is accepted and matches nothing, since Rumoro does not collect them. Omitted: all."
    },
    "excludeAuthors": {
      "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
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/rumoro-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.