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. |
JSON Schema
{
"$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.
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.