rumoro-dev · Schema

View

SocialListeningAIAPIMonitoringAnalytics

Properties

Name Type Description
id string The view's id (vw_...).
name string
description string
filter object
createdAt string UTC time in ISO 8601.
updatedAt string UTC time in ISO 8601.
View JSON Schema on GitHub

JSON Schema

rumoro-dev-view-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/rumoro-dev/json-schema/rumoro-dev-view-schema.json",
  "title": "View",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/rumoro-dev-openapi.json#/components/schemas/View",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The view's id (vw_...)."
    },
    "name": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "filter": {
      "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."
        },
        "anyOf": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/FilterGroup"
          },
          "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."
        }
      }
    },
    "createdAt": {
      "type": "string",
      "description": "UTC time in ISO 8601."
    },
    "updatedAt": {
      "type": "string",
      "description": "UTC time in ISO 8601."
    }
  },
  "required": [
    "id",
    "name",
    "description",
    "filter",
    "createdAt",
    "updatedAt"
  ],
  "$defs": {
    "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,
      "description": "A set of conditions that must all be true. It uses the same fields as a view filter, except anyOf."
    }
  }
}

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-view"
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.