{"openapi": "3.1.0", "info": {"title": "Plushcap read-only customer REST API", "version": "1.3.0", "description": "All intentionally published customer GET operations under /api/v1/. Auth context is internal connection support; metadata generation does not execute research queries or account accounting writes. The existing companies and topic list operation IDs are preserved."}, "servers": [{"url": "https://www.plushcap.com"}], "externalDocs": {"url": "https://www.plushcap.com/docs"}, "paths": {"/api/v1/companies/": {"get": {"operationId": "list_public_companies", "summary": "List public companies", "security": [{}, {"CustomerAPIKey": []}, {"DjangoSession": []}], "externalDocs": {"url": "https://www.plushcap.com/docs/companies"}, "parameters": [{"name": "stage", "in": "query", "required": false, "description": "Exact lowercase 'public' selects public companies; otherwise a case-insensitive funding-stage match. Empty applies no filter.", "schema": {"type": "string"}}, {"name": "search", "in": "query", "required": false, "description": "Case-insensitive name/description substring. Empty applies no filter.", "schema": {"type": "string"}}, {"name": "page", "in": "query", "required": false, "description": "Page number (default 1); 'last' selects the final page. Empty uses page 1. Malformed, nonpositive or out-of-range pages return 404.", "schema": {"oneOf": [{"type": "integer", "minimum": 1}, {"type": "string", "enum": ["last", ""]}], "default": 1}}, {"name": "page_size", "in": "query", "required": false, "description": "Default 50; positive integers are clamped to a maximum effective size of 200. Empty, malformed, zero or negative values use 50.", "schema": {"type": ["integer", "string"], "default": 50}}], "responses": {"200": {"description": "Paginated public results", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CompanyPage"}}}}, "404": {"description": "Invalid/out-of-range page", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}}, "503": {"description": "Usage recording temporarily unavailable; Retry-After: 1.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Invalid/expired X-API-Key, including on anonymous reads.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "x-minimum-tier": "public"}}, "/api/v1/trends/topics/": {"get": {"operationId": "list_public_topics", "summary": "List public topics", "security": [{}, {"CustomerAPIKey": []}, {"DjangoSession": []}], "externalDocs": {"url": "https://www.plushcap.com/docs/trends"}, "parameters": [{"name": "product_scope", "in": "query", "required": false, "description": "Empty/unknown values return 400.", "schema": {"type": "string", "enum": ["non_product", "product", "all"], "default": "non_product"}}, {"name": "company", "in": "query", "required": false, "description": "Associated company slug; unknown returns 404. Empty applies no filter.", "schema": {"type": "string"}}, {"name": "trend_kind", "in": "query", "required": false, "description": "Empty applies no kind filter; unknown returns 400.", "schema": {"type": "string", "enum": ["concept", "implementation", ""]}}, {"name": "concept", "in": "query", "required": false, "description": "Concept slug; unknown yields an empty 200 list. Empty applies no filter.", "schema": {"type": "string"}}, {"name": "page", "in": "query", "required": false, "description": "Page number (default 1); 'last' selects the final page. Empty uses page 1. Malformed, nonpositive or out-of-range pages return 404.", "schema": {"oneOf": [{"type": "integer", "minimum": 1}, {"type": "string", "enum": ["last", ""]}], "default": 1}}, {"name": "page_size", "in": "query", "required": false, "description": "Default 50; positive integers are clamped to a maximum effective size of 200. Empty, malformed, zero or negative values use 50.", "schema": {"type": ["integer", "string"], "default": 50}}], "responses": {"200": {"description": "Paginated public results", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TrendTopicPage"}}}}, "404": {"description": "Invalid/out-of-range page or unknown company filter", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}}, "400": {"description": "Invalid topic filter", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TopicFilterError"}}}}, "503": {"description": "Usage recording temporarily unavailable; Retry-After: 1.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Invalid/expired X-API-Key, including on anonymous reads.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "x-minimum-tier": "public"}}, "/api/v1/companies/{slug}/": {"get": {"operationId": "get_company", "summary": "Get company", "description": "Minimum effective access: public. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{}, {"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_company_detail"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/companies"}, "x-minimum-tier": "public"}}, "/api/v1/company/detect-from-url/": {"get": {"operationId": "detect_company_from_url", "summary": "Detect company from url", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "url", "in": "query", "required": true, "description": "Required HTTP(S) article or company URL to match against stored companies; no network fetch.", "schema": {"type": "string"}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_company_detect_from_url"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/companies"}, "x-minimum-tier": "free"}}, "/api/v1/blog-posts/": {"get": {"operationId": "search_blog_posts", "summary": "Search blog posts", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "query", "required": false, "description": "Company slug filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "trend_slug", "in": "query", "required": false, "description": "Trend slug filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "space", "in": "query", "required": false, "description": "Space filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "has_summary", "in": "query", "required": false, "description": "Case-insensitive true requires a stored summary; false or empty selects missing summaries. Other values apply no summary filter.", "schema": {"type": "string"}}, {"name": "weeks", "in": "query", "required": false, "description": "Publication-date lookback; weeks takes precedence over months (30-day units), then days. Only integer inputs are supported.", "schema": {"type": "integer"}}, {"name": "months", "in": "query", "required": false, "description": "Publication-date lookback; weeks takes precedence over months (30-day units), then days. Only integer inputs are supported.", "schema": {"type": "integer"}}, {"name": "days", "in": "query", "required": false, "description": "Publication-date lookback; weeks takes precedence over months (30-day units), then days. Only integer inputs are supported.", "schema": {"type": "integer"}}, {"name": "include_text", "in": "query", "required": false, "description": "Only the case-insensitive value true includes complete stored article text; otherwise text is omitted.", "schema": {"type": "boolean"}}, {"name": "random", "in": "query", "required": false, "description": "Random filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "boolean"}}, {"name": "order_by", "in": "query", "required": false, "description": "date_parsed, -date_parsed, date_published or -date_published. Unknown values use -date_published; random=true overrides ordering.", "schema": {"type": "string", "default": "-date_published"}}, {"name": "limit", "in": "query", "required": false, "description": "Positive result limit, default 50; values above 500 are clamped to 500.", "schema": {"type": "integer", "minimum": 1, "maximum": 500, "default": 50}}, {"name": "offset", "in": "query", "required": false, "description": "Offset filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer", "minimum": 0, "default": 0}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_blog_post_list"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/blog-posts"}, "x-minimum-tier": "free"}}, "/api/v1/blog-posts/company-activity/": {"get": {"operationId": "get_blog_post_company_activity", "summary": "Get blog post company activity", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "window_hours", "in": "query", "required": false, "description": "1\u20138760, default 48. Uses calendar dates (rounded up to whole days), not precise timestamps.", "schema": {"type": "integer", "minimum": 1, "maximum": 8760, "default": 48}}, {"name": "company_slug", "in": "query", "required": false, "description": "Company slug filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "limit", "in": "query", "required": false, "description": "Limit filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer", "minimum": 1, "maximum": 500}}, {"name": "offset", "in": "query", "required": false, "description": "Offset filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer", "minimum": 0, "default": 0, "maximum": 1000000}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_blog_post_company_activity"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/blog-posts"}, "x-minimum-tier": "free"}}, "/api/v1/leaderboard/blog-output/": {"get": {"operationId": "get_blog_leaderboard", "summary": "Get blog leaderboard", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "founded_after", "in": "query", "required": false, "description": "Founded after filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}, {"name": "stage", "in": "query", "required": false, "description": "Stage filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "min_posts", "in": "query", "required": false, "description": "Min posts filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}, {"name": "min_words", "in": "query", "required": false, "description": "Min words filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}, {"name": "sort", "in": "query", "required": false, "description": "Sort filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_blog_leaderboard"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/blog-posts"}, "x-minimum-tier": "free"}}, "/api/v1/trends/summary/": {"get": {"operationId": "get_trends_summary", "summary": "Get trends summary", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "source", "in": "query", "required": false, "description": "Stored source. LinkedIn analytics require Accelerate. Source availability follows the configured source index.", "schema": {"type": "string", "enum": ["blog", "youtube", "x", "linkedin"]}}, {"name": "account_type", "in": "query", "required": false, "description": "Account type filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["all", "company", "employee", "showcase"]}}, {"name": "mode", "in": "query", "required": false, "description": "Defaults to normalized. Explicit raw requires Accelerate on Free-capable trend endpoints.", "schema": {"type": "string", "enum": ["normalized", "raw"]}}, {"name": "product_scope", "in": "query", "required": false, "description": "Defaults to non_product; company association filters apply to published active topics.", "schema": {"type": "string", "enum": ["non_product", "product", "all"]}}, {"name": "company", "in": "query", "required": false, "description": "Company filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "space", "in": "query", "required": false, "description": "Space filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "weeks", "in": "query", "required": false, "description": "Number of weekly periods, from 1 through 260.", "schema": {"type": "integer", "minimum": 1, "maximum": 260, "default": 12}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_trends_summary"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/trends"}, "x-minimum-tier": "free"}}, "/api/v1/trends/data/": {"get": {"operationId": "get_trends_data", "summary": "Get trends data", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "source", "in": "query", "required": false, "description": "Stored source. LinkedIn analytics require Accelerate. Source availability follows the configured source index.", "schema": {"type": "string", "enum": ["blog", "youtube", "x", "linkedin"]}}, {"name": "account_type", "in": "query", "required": false, "description": "Account type filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["all", "company", "employee", "showcase"]}}, {"name": "mode", "in": "query", "required": false, "description": "Defaults to normalized. Explicit raw requires Accelerate on Free-capable trend endpoints.", "schema": {"type": "string", "enum": ["normalized", "raw"]}}, {"name": "product_scope", "in": "query", "required": false, "description": "Defaults to non_product; company association filters apply to published active topics.", "schema": {"type": "string", "enum": ["non_product", "product", "all"]}}, {"name": "company", "in": "query", "required": false, "description": "Company filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "space", "in": "query", "required": false, "description": "Space filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "weeks", "in": "query", "required": false, "description": "Number of weekly periods, from 1 through 260.", "schema": {"type": "integer", "minimum": 1, "maximum": 260, "default": 12}}, {"name": "projections", "in": "query", "required": false, "description": "Projections filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "boolean"}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_trends_data"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/trends"}, "x-minimum-tier": "free"}}, "/api/v1/trends/topics/{slug}/": {"get": {"operationId": "get_trend_topic", "summary": "Get trend topic", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_trend_topic_detail"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/trends"}, "x-minimum-tier": "free"}}, "/api/v1/trends/topic-data/{slug}/": {"get": {"operationId": "get_trend_topic_data", "summary": "Get trend topic data", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "source", "in": "query", "required": false, "description": "Stored source. LinkedIn analytics require Accelerate. Source availability follows the configured source index.", "schema": {"type": "string", "enum": ["blog", "youtube", "x", "linkedin"]}}, {"name": "account_type", "in": "query", "required": false, "description": "Account type filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["all", "company", "employee", "showcase"]}}, {"name": "mode", "in": "query", "required": false, "description": "Defaults to normalized. Explicit raw requires Accelerate on Free-capable trend endpoints.", "schema": {"type": "string", "enum": ["normalized", "raw"]}}, {"name": "space", "in": "query", "required": false, "description": "Space filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "weeks", "in": "query", "required": false, "description": "Number of weekly periods, from 1 through 260.", "schema": {"type": "integer", "minimum": 1, "maximum": 260, "default": 52}}, {"name": "projections", "in": "query", "required": false, "description": "Projections filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "boolean"}}, {"name": "post_limit", "in": "query", "required": false, "description": "Evidence result bound; default 50, maximum 500.", "schema": {"type": "integer"}}, {"name": "post_weeks", "in": "query", "required": false, "description": "Post weeks filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}, {"name": "post_months", "in": "query", "required": false, "description": "Post months filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}, {"name": "post_days", "in": "query", "required": false, "description": "Post days filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_trend_topic_data"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/trends"}, "x-minimum-tier": "free"}}, "/api/v1/youtube/{company_slug}/": {"get": {"operationId": "get_youtube_metrics", "summary": "Get youtube metrics", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Unknown company slugs return 404. Existing companies with no stored metrics return an empty list. For subscriber growth rankings, use /api/v1/youtube/leaderboard/ with sort=subscriber_growth&months=1. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "page", "in": "query", "required": false, "description": "Page number (default 1); 'last' selects the final page. Empty uses page 1. Malformed, nonpositive or out-of-range pages return 404.", "schema": {"oneOf": [{"type": "integer", "minimum": 1}, {"type": "string", "enum": ["last", ""]}], "default": 1}}, {"name": "page_size", "in": "query", "required": false, "description": "Default 50; positive integers are clamped to a maximum effective size of 200. Empty, malformed, zero or negative values use 50.", "schema": {"type": ["integer", "string"], "default": 50}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_youtube_list"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/youtube"}, "x-minimum-tier": "free"}}, "/api/v1/youtube/{company_slug}/latest/": {"get": {"operationId": "get_youtube_metrics_latest", "summary": "Get youtube metrics latest", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_youtube_latest"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/youtube"}, "x-minimum-tier": "free"}}, "/api/v1/companies/{company_slug}/youtube/": {"get": {"operationId": "get_company_youtube", "summary": "Get company youtube", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "start_date", "in": "query", "required": false, "description": "Inclusive YYYY-MM-DD start. Explicit company YouTube history dates require Accelerate.", "schema": {"type": "string", "format": "date"}}, {"name": "end_date", "in": "query", "required": false, "description": "Inclusive YYYY-MM-DD end. Explicit company YouTube history dates require Accelerate.", "schema": {"type": "string", "format": "date"}}, {"name": "page", "in": "query", "required": false, "description": "Positive page number, default 1; invalid values return 400. Paid requests past the last page return empty results; Free offsets beyond the latest three monthly rows require Accelerate.", "schema": {"type": "integer", "minimum": 1, "default": 1}}, {"name": "page_size", "in": "query", "required": false, "description": "Default 3 for Free and 50 for paid access. Free requests may retrieve only the latest three monthly rows; a larger size or offset beyond that window requires Accelerate.", "schema": {"type": "integer", "minimum": 1, "maximum": 200}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_company_youtube"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/youtube"}, "x-minimum-tier": "free"}}, "/api/v1/companies/{company_slug}/youtube/videos/": {"get": {"operationId": "list_company_youtube_videos", "summary": "List company youtube videos", "description": "Minimum effective access: accelerate. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "start_date", "in": "query", "required": false, "description": "Inclusive YYYY-MM-DD start. Explicit company YouTube history dates require Accelerate.", "schema": {"type": "string", "format": "date"}}, {"name": "end_date", "in": "query", "required": false, "description": "Inclusive YYYY-MM-DD end. Explicit company YouTube history dates require Accelerate.", "schema": {"type": "string", "format": "date"}}, {"name": "channel_slug", "in": "query", "required": false, "description": "Channel slug filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "is_short", "in": "query", "required": false, "description": "Is short filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "boolean"}}, {"name": "live_status", "in": "query", "required": false, "description": "Live status filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["unknown", "none", "upcoming", "live", "completed"]}}, {"name": "order_by", "in": "query", "required": false, "description": "Order by filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["-published_at", "-views_count", "published_at", "views_count"]}}, {"name": "page", "in": "query", "required": false, "description": "Page number (default 1); 'last' selects the final page. Empty uses page 1. Malformed, nonpositive or out-of-range pages return 404.", "schema": {"oneOf": [{"type": "integer", "minimum": 1}, {"type": "string", "enum": ["last", ""]}], "default": 1}}, {"name": "page_size", "in": "query", "required": false, "description": "Default 50; positive integers are clamped to a maximum effective size of 200. Empty, malformed, zero or negative values use 50.", "schema": {"type": ["integer", "string"], "default": 50}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_company_youtube_videos"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/youtube"}, "x-minimum-tier": "accelerate"}}, "/api/v1/companies/{company_slug}/youtube/videos/{video_id}/": {"get": {"operationId": "get_company_youtube_video", "summary": "Get company youtube video", "description": "Minimum effective access: accelerate. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "video_id", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_company_youtube_video_detail"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/youtube"}, "x-minimum-tier": "accelerate"}}, "/api/v1/youtube/videos/": {"get": {"operationId": "search_youtube_videos", "summary": "Search youtube videos", "description": "Minimum effective access: accelerate. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "companies", "in": "query", "required": false, "description": "Comma-separated company slugs; global selectors intersect with space and stage. Comparisons require 2\u201310 companies.", "schema": {"type": "string"}}, {"name": "space", "in": "query", "required": false, "description": "Space filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "stage", "in": "query", "required": false, "description": "Stage filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "start_date", "in": "query", "required": false, "description": "Inclusive YYYY-MM-DD start. Explicit company YouTube history dates require Accelerate.", "schema": {"type": "string", "format": "date"}}, {"name": "end_date", "in": "query", "required": false, "description": "Inclusive YYYY-MM-DD end. Explicit company YouTube history dates require Accelerate.", "schema": {"type": "string", "format": "date"}}, {"name": "is_short", "in": "query", "required": false, "description": "Is short filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "boolean"}}, {"name": "live_status", "in": "query", "required": false, "description": "Live status filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["unknown", "none", "upcoming", "live", "completed"]}}, {"name": "min_views", "in": "query", "required": false, "description": "Min views filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}, {"name": "order_by", "in": "query", "required": false, "description": "Order by filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["-comment_rate", "-comments_count", "-engagement_rate", "-like_rate", "-likes_count", "-published_at", "-views_count", "-views_per_day", "comment_rate", "comments_count", "engagement_rate", "like_rate", "likes_count", "published_at", "views_count", "views_per_day"]}}, {"name": "page", "in": "query", "required": false, "description": "Positive page number. Explicitly malformed pages return 400 on this endpoint; an out-of-range DRF page returns 404.", "schema": {"type": "integer", "minimum": 1, "default": 1, "maximum": 10000}}, {"name": "page_size", "in": "query", "required": false, "description": "Positive page size, maximum 200; default 50.", "schema": {"type": "integer", "minimum": 1, "maximum": 200}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_global_youtube_videos"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/youtube"}, "x-minimum-tier": "accelerate"}}, "/api/v1/companies/{company_slug}/youtube/research/": {"get": {"operationId": "research_company_youtube_content", "summary": "Research company youtube content", "description": "Minimum effective access: accelerate. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "start_date", "in": "query", "required": false, "description": "Inclusive YYYY-MM-DD start. Explicit company YouTube history dates require Accelerate.", "schema": {"type": "string", "format": "date"}}, {"name": "end_date", "in": "query", "required": false, "description": "Inclusive YYYY-MM-DD end. Explicit company YouTube history dates require Accelerate.", "schema": {"type": "string", "format": "date"}}, {"name": "direct_peer_limit", "in": "query", "required": false, "description": "Direct peer limit filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer", "minimum": 1, "maximum": 50, "default": 20}}, {"name": "similar_stage_limit", "in": "query", "required": false, "description": "Similar stage limit filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer", "minimum": 1, "maximum": 50, "default": 10}}, {"name": "peer_video_limit", "in": "query", "required": false, "description": "Peer video limit filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer", "minimum": 1, "maximum": 25, "default": 10}}, {"name": "min_views", "in": "query", "required": false, "description": "Min views filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}, {"name": "include_trends", "in": "query", "required": false, "description": "Include trends filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "boolean"}}, {"name": "include_hackernews", "in": "query", "required": false, "description": "Include hackernews filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "boolean"}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_company_youtube_research"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/youtube"}, "x-minimum-tier": "accelerate"}}, "/api/v1/youtube/leaderboard/": {"get": {"operationId": "get_youtube_leaderboard", "summary": "Get youtube leaderboard", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "sort", "in": "query", "required": false, "description": "Ranking metric, default subscribers. subscriber_change is an alias for subscriber_growth; the response uses the canonical sort name subscriber_growth.", "schema": {"type": "string", "enum": ["subscriber_change", "subscriber_growth", "subscribers", "video_growth", "videos", "view_growth", "views", "views_per_video"], "default": "subscribers"}}, {"name": "months", "in": "query", "required": false, "description": "Months filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}, {"name": "limit", "in": "query", "required": false, "description": "Limit filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer", "minimum": 1, "maximum": 200}}, {"name": "offset", "in": "query", "required": false, "description": "Offset filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer", "minimum": 0, "default": 0}}, {"name": "stage", "in": "query", "required": false, "description": "Stage filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "founded_after", "in": "query", "required": false, "description": "Founded after filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}, {"name": "min_subscribers", "in": "query", "required": false, "description": "Min subscribers filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}, {"name": "min_views", "in": "query", "required": false, "description": "Min views filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}, {"name": "min_videos", "in": "query", "required": false, "description": "Min videos filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}, {"name": "min_views_per_video", "in": "query", "required": false, "description": "Min views per video filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "number", "minimum": 0}}, {"name": "include_channels", "in": "query", "required": false, "description": "Include channels filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "boolean"}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_youtube_leaderboard"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/youtube"}, "x-minimum-tier": "free"}}, "/api/v1/hackernews/{company_slug}/": {"get": {"operationId": "get_hackernews_posts", "summary": "Get hackernews posts", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "page", "in": "query", "required": false, "description": "Page number (default 1); 'last' selects the final page. Empty uses page 1. Malformed, nonpositive or out-of-range pages return 404.", "schema": {"oneOf": [{"type": "integer", "minimum": 1}, {"type": "string", "enum": ["last", ""]}], "default": 1}}, {"name": "page_size", "in": "query", "required": false, "description": "Default 50; positive integers are clamped to a maximum effective size of 200. Empty, malformed, zero or negative values use 50.", "schema": {"type": ["integer", "string"], "default": 50}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_hackernews_list"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/hacker-news"}, "x-minimum-tier": "free"}}, "/api/v1/hackernews/{company_slug}/latest/": {"get": {"operationId": "get_hackernews_latest", "summary": "Get hackernews latest", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_hackernews_latest"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/hacker-news"}, "x-minimum-tier": "free"}}, "/api/v1/hackernews/": {"get": {"operationId": "get_global_hackernews_posts", "summary": "Get global hackernews posts", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "start_date", "in": "query", "required": false, "description": "Inclusive YYYY-MM-DD start. Explicit company YouTube history dates require Accelerate.", "schema": {"type": "string", "format": "date"}}, {"name": "end_date", "in": "query", "required": false, "description": "Inclusive YYYY-MM-DD end. Explicit company YouTube history dates require Accelerate.", "schema": {"type": "string", "format": "date"}}, {"name": "ordering", "in": "query", "required": false, "description": "Ordering filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["-points", "-post_date", "points", "post_date"]}}, {"name": "order_by", "in": "query", "required": false, "description": "Order by filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["-points", "-post_date", "points", "post_date"]}}, {"name": "page", "in": "query", "required": false, "description": "Positive page number. Explicitly malformed pages return 400 on this endpoint; an out-of-range DRF page returns 404.", "schema": {"type": "integer", "minimum": 1, "default": 1, "maximum": 10000}}, {"name": "page_size", "in": "query", "required": false, "description": "Positive page size, maximum 200; default 50.", "schema": {"type": "integer", "minimum": 1, "maximum": 200}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_global_hackernews"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/hacker-news"}, "x-minimum-tier": "free"}}, "/api/v1/companies/{company_slug}/x/accounts/": {"get": {"operationId": "list_company_x_accounts", "summary": "List company x accounts", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "account_scope", "in": "query", "required": false, "description": "Account scope filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["all", "company", "employee"]}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_company_x_accounts"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/x"}, "x-minimum-tier": "free"}}, "/api/v1/companies/{company_slug}/x/posts/": {"get": {"operationId": "get_company_x_posts", "summary": "Get company x posts", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "start_at", "in": "query", "required": false, "description": "Start at filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date-time"}}, {"name": "end_at", "in": "query", "required": false, "description": "End at filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date-time"}}, {"name": "lookback_days", "in": "query", "required": false, "description": "Positive rolling lookback; cannot combine with start_at. Free X history is limited to 14 days.", "schema": {"type": "integer", "minimum": 1, "maximum": 36500}}, {"name": "account_scope", "in": "query", "required": false, "description": "Account scope filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["all", "company", "employee"]}}, {"name": "username", "in": "query", "required": false, "description": "Username filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "post_type", "in": "query", "required": false, "description": "Post type filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["original", "quote", "repost"]}}, {"name": "ordering", "in": "query", "required": false, "description": "Ordering filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["-likes_count", "-posted_at", "-reposts_count", "-views_count", "likes_count", "posted_at", "reposts_count", "views_count"]}}, {"name": "page", "in": "query", "required": false, "description": "Positive page number. Explicitly malformed pages return 400 on this endpoint; an out-of-range DRF page returns 404.", "schema": {"type": "integer", "minimum": 1, "default": 1, "maximum": 10000}}, {"name": "page_size", "in": "query", "required": false, "description": "Positive page size, maximum 200; default 50.", "schema": {"type": "integer", "minimum": 1, "maximum": 200}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_company_x_posts"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/x"}, "x-minimum-tier": "free"}}, "/api/v1/companies/{company_slug}/x/posts/{x_post_id}/": {"get": {"operationId": "get_company_x_post", "summary": "Get company x post", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "x_post_id", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "start_at", "in": "query", "required": false, "description": "Start at filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date-time"}}, {"name": "end_at", "in": "query", "required": false, "description": "End at filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date-time"}}, {"name": "lookback_days", "in": "query", "required": false, "description": "Positive rolling lookback; cannot combine with start_at. Free X history is limited to 14 days.", "schema": {"type": "integer", "minimum": 1, "maximum": 36500}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_company_x_post_detail"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/x"}, "x-minimum-tier": "free"}}, "/api/v1/companies/{company_slug}/x/summary/": {"get": {"operationId": "get_company_x_summary", "summary": "Get company x summary", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "start_at", "in": "query", "required": false, "description": "Start at filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date-time"}}, {"name": "end_at", "in": "query", "required": false, "description": "End at filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date-time"}}, {"name": "lookback_days", "in": "query", "required": false, "description": "Positive rolling lookback; cannot combine with start_at. Free X history is limited to 14 days.", "schema": {"type": "integer", "minimum": 1, "maximum": 36500}}, {"name": "account_scope", "in": "query", "required": false, "description": "Account scope filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["all", "company", "employee"]}}, {"name": "username", "in": "query", "required": false, "description": "Username filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "post_type", "in": "query", "required": false, "description": "Post type filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["original", "quote", "repost"]}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_company_x_summary"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/x"}, "x-minimum-tier": "free"}}, "/api/v1/companies/{company_slug}/x/high-engagement/": {"get": {"operationId": "find_high_engagement_x_posts", "summary": "Find high engagement x posts", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "start_at", "in": "query", "required": false, "description": "Start at filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date-time"}}, {"name": "end_at", "in": "query", "required": false, "description": "End at filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date-time"}}, {"name": "lookback_days", "in": "query", "required": false, "description": "Positive rolling lookback; cannot combine with start_at. Free X history is limited to 14 days.", "schema": {"type": "integer", "minimum": 1, "maximum": 36500}}, {"name": "account_scope", "in": "query", "required": false, "description": "Account scope filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["all", "company", "employee"]}}, {"name": "username", "in": "query", "required": false, "description": "Username filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "post_type", "in": "query", "required": false, "description": "Post type filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["original", "quote", "repost"]}}, {"name": "limit", "in": "query", "required": false, "description": "Limit filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer", "minimum": 1, "maximum": 100}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_company_x_high_engagement"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/x"}, "x-minimum-tier": "free"}}, "/api/v1/companies/{company_slug}/x/research/": {"get": {"operationId": "research_company_x_content", "summary": "Research company x content", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "start_at", "in": "query", "required": false, "description": "Start at filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date-time"}}, {"name": "end_at", "in": "query", "required": false, "description": "End at filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date-time"}}, {"name": "lookback_days", "in": "query", "required": false, "description": "Positive rolling lookback; cannot combine with start_at. Free X history is limited to 14 days.", "schema": {"type": "integer", "minimum": 1, "maximum": 36500}}, {"name": "account_scope", "in": "query", "required": false, "description": "Account scope filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["all", "company", "employee"]}}, {"name": "username", "in": "query", "required": false, "description": "Username filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "post_type", "in": "query", "required": false, "description": "Post type filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["original", "quote", "repost"]}}, {"name": "peer_limit", "in": "query", "required": false, "description": "Peer limit filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer", "minimum": 1, "maximum": 100, "default": 3}}, {"name": "hackernews_limit", "in": "query", "required": false, "description": "Hackernews limit filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer", "minimum": 1, "maximum": 100, "default": 5}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_company_x_research"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/x"}, "x-minimum-tier": "free"}}, "/api/v1/x/posts/": {"get": {"operationId": "search_x_posts", "summary": "Search x posts", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403. Free accounts receive five calls per endpoint per hour; Accelerate and Lead remove this allowance. Paid parameters and source/history restrictions are checked before quota consumption. Tier-gated response fields are optional.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "companies", "in": "query", "required": false, "description": "Comma-separated company slugs; global selectors intersect with space and stage. Comparisons require 2\u201310 companies.", "schema": {"type": "string"}}, {"name": "space", "in": "query", "required": false, "description": "Space filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "stage", "in": "query", "required": false, "description": "Stage filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "start_at", "in": "query", "required": false, "description": "Start at filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date-time"}}, {"name": "end_at", "in": "query", "required": false, "description": "End at filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date-time"}}, {"name": "lookback_days", "in": "query", "required": false, "description": "Positive rolling lookback; cannot combine with start_at. Free X history is limited to 14 days.", "schema": {"type": "integer", "minimum": 1, "maximum": 36500}}, {"name": "account_scope", "in": "query", "required": false, "description": "Account scope filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["all", "company", "employee"]}}, {"name": "username", "in": "query", "required": false, "description": "Username filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "post_type", "in": "query", "required": false, "description": "Post type filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["original", "quote", "repost"]}}, {"name": "min_views", "in": "query", "required": false, "description": "Min views filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}, {"name": "ordering", "in": "query", "required": false, "description": "Ordering filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["-likes_count", "-posted_at", "-reposts_count", "-views_count", "likes_count", "posted_at", "reposts_count", "views_count"]}}, {"name": "page", "in": "query", "required": false, "description": "Positive page number. Explicitly malformed pages return 400 on this endpoint; an out-of-range DRF page returns 404.", "schema": {"type": "integer", "minimum": 1, "default": 1, "maximum": 10000}}, {"name": "page_size", "in": "query", "required": false, "description": "Positive page size, maximum 200; default 50.", "schema": {"type": "integer", "minimum": 1, "maximum": 200}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_global_x_posts"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "429": {"description": "Free per-endpoint hourly allowance exhausted; wait until reset or use available access guidance.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccessError"}}}, "headers": {"X-RateLimit-Limit": {"description": "Account-based Free allowance for this endpoint per hour (5).", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Remaining": {"description": "Remaining calls in the current endpoint window.", "schema": {"type": "integer", "minimum": 0}}, "X-RateLimit-Reset": {"description": "Unix timestamp when this endpoint's account allowance resets.", "schema": {"type": "integer", "minimum": 0}}, "Retry-After": {"description": "Seconds until the Free endpoint allowance resets.", "schema": {"type": "integer", "minimum": 0}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/x"}, "x-minimum-tier": "free"}}, "/api/v1/companies/{company_slug}/linkedin/": {"get": {"operationId": "get_company_linkedin", "summary": "Get company linkedin", "description": "Minimum effective access: accelerate. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "account_id", "in": "query", "required": false, "description": "Account id filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_company_linkedin_summary"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/linkedin"}, "x-minimum-tier": "accelerate"}}, "/api/v1/companies/{company_slug}/linkedin/posts/": {"get": {"operationId": "list_company_linkedin_posts", "summary": "List company linkedin posts", "description": "Minimum effective access: accelerate. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "company_slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "account_id", "in": "query", "required": false, "description": "Account id filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer"}}, {"name": "page", "in": "query", "required": false, "description": "Positive page number. Explicitly malformed pages return 400 on this endpoint; an out-of-range DRF page returns 404.", "schema": {"type": "integer", "minimum": 1, "default": 1, "maximum": 10000}}, {"name": "page_size", "in": "query", "required": false, "description": "Positive page size, maximum 200; default 50.", "schema": {"type": "integer", "minimum": 1, "maximum": 200}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_company_linkedin_posts"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/linkedin"}, "x-minimum-tier": "accelerate"}}, "/api/v1/trend-reports/": {"get": {"operationId": "list_trend_reports", "summary": "List trend reports", "description": "Minimum effective access: free. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "page", "in": "query", "required": false, "description": "Page number (default 1); 'last' selects the final page. Empty uses page 1. Malformed, nonpositive or out-of-range pages return 404.", "schema": {"oneOf": [{"type": "integer", "minimum": 1}, {"type": "string", "enum": ["last", ""]}], "default": 1}}, {"name": "page_size", "in": "query", "required": false, "description": "Default 50; positive integers are clamped to a maximum effective size of 200. Empty, malformed, zero or negative values use 50.", "schema": {"type": ["integer", "string"], "default": 50}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_trend_report_list"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/trends"}, "x-minimum-tier": "free"}}, "/api/v1/trend-reports/{slug}/": {"get": {"operationId": "get_trend_report", "summary": "Get trend report", "description": "Minimum effective access: accelerate. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_trend_report_detail"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/trends"}, "x-minimum-tier": "accelerate"}}, "/api/v1/competitive-spaces/": {"get": {"operationId": "list_competitive_spaces", "summary": "List competitive spaces", "description": "Minimum effective access: accelerate. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "search", "in": "query", "required": false, "description": "Search filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "space_type", "in": "query", "required": false, "description": "Space type filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["AI", "DATA", "INFR", "OTHR", "TOOL"]}}, {"name": "company", "in": "query", "required": false, "description": "Company filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "page", "in": "query", "required": false, "description": "Page number (default 1); 'last' selects the final page. Empty uses page 1. Malformed, nonpositive or out-of-range pages return 404.", "schema": {"oneOf": [{"type": "integer", "minimum": 1}, {"type": "string", "enum": ["last", ""]}], "default": 1}}, {"name": "page_size", "in": "query", "required": false, "description": "Default 50; positive integers are clamped to a maximum effective size of 200. Empty, malformed, zero or negative values use 50.", "schema": {"type": ["integer", "string"], "default": 50}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_competitive_space_list"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/competitive"}, "x-minimum-tier": "accelerate"}}, "/api/v1/competitive-spaces/{slug}/": {"get": {"operationId": "get_competitive_space", "summary": "Get competitive space", "description": "Minimum effective access: accelerate. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_competitive_space_detail"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/competitive"}, "x-minimum-tier": "accelerate"}}, "/api/v1/competitive-spaces/{slug}/trends/": {"get": {"operationId": "space_trend_rankings", "summary": "Space trend rankings", "description": "Minimum effective access: accelerate. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "source", "in": "query", "required": false, "description": "Stored source. LinkedIn analytics require Accelerate. Source availability follows the configured source index.", "schema": {"type": "string", "enum": ["blog", "youtube", "x", "linkedin"]}}, {"name": "account_type", "in": "query", "required": false, "description": "Account type filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["all", "company", "employee", "showcase"]}}, {"name": "granularity", "in": "query", "required": false, "description": "Granularity filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["weekly", "monthly", "yearly"]}}, {"name": "period", "in": "query", "required": false, "description": "Period filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date"}}, {"name": "periods", "in": "query", "required": false, "description": "Periods filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "integer", "minimum": 1, "maximum": 52, "default": 8}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_competitive_space_trends"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/competitive"}, "x-minimum-tier": "accelerate"}}, "/api/v1/competitive-spaces/{slug}/comparison/": {"get": {"operationId": "get_competitive_space_comparison", "summary": "Get competitive space comparison", "description": "Minimum effective access: accelerate. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "slug", "in": "path", "required": true, "schema": {"type": "string", "minLength": 1}, "description": "Stored resource identifier."}, {"name": "companies", "in": "query", "required": false, "description": "Comma-separated company slugs; global selectors intersect with space and stage. Comparisons require 2\u201310 companies.", "schema": {"type": "string"}}, {"name": "section", "in": "query", "required": false, "description": "Section filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["all", "blog", "youtube", "hackernews"]}}, {"name": "start_year", "in": "query", "required": false, "description": "Integer from 2019 through the current year, default 2022.", "schema": {"type": "integer", "minimum": 2019, "default": 2022}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_competitive_space_comparison"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/competitive"}, "x-minimum-tier": "accelerate"}}, "/api/v1/company-comparisons/": {"get": {"operationId": "compare_companies", "summary": "Compare companies", "description": "Minimum effective access: accelerate. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "companies", "in": "query", "required": true, "description": "Comma-separated company slugs; global selectors intersect with space and stage. Comparisons require 2\u201310 companies.", "schema": {"type": "string"}}, {"name": "section", "in": "query", "required": false, "description": "Section filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["all", "blog", "youtube", "hackernews"]}}, {"name": "start_year", "in": "query", "required": false, "description": "Integer from 2019 through the current year, default 2022.", "schema": {"type": "integer", "minimum": 2019, "default": 2022}}, {"name": "keyword", "in": "query", "required": false, "description": "Keyword filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_company_comparison"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/competitive"}, "x-minimum-tier": "accelerate"}}, "/api/v1/trends/metrics/monthly/": {"get": {"operationId": "get_monthly_trend_metrics", "summary": "Get monthly trend metrics", "description": "Minimum effective access: accelerate. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "topic", "in": "query", "required": false, "description": "Topic filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "scope", "in": "query", "required": false, "description": "Global or space-specific metrics. scope=space requires space; space is rejected with other scopes.", "schema": {"type": "string", "enum": ["all", "global", "space"]}}, {"name": "space", "in": "query", "required": false, "description": "Space filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "source", "in": "query", "required": false, "description": "Stored source. LinkedIn analytics require Accelerate. Source availability follows the configured source index.", "schema": {"type": "string", "enum": ["blog", "youtube", "x", "linkedin"]}}, {"name": "account_type", "in": "query", "required": false, "description": "Account type filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["all", "company", "employee", "showcase"]}}, {"name": "mode", "in": "query", "required": false, "description": "Defaults to normalized. Explicit raw requires Accelerate on Free-capable trend endpoints.", "schema": {"type": "string", "enum": ["normalized", "raw"]}}, {"name": "start", "in": "query", "required": false, "description": "Start filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date"}}, {"name": "end", "in": "query", "required": false, "description": "End filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date"}}, {"name": "page", "in": "query", "required": false, "description": "Page number (default 1); 'last' selects the final page. Empty uses page 1. Malformed, nonpositive or out-of-range pages return 404.", "schema": {"oneOf": [{"type": "integer", "minimum": 1}, {"type": "string", "enum": ["last", ""]}], "default": 1}}, {"name": "page_size", "in": "query", "required": false, "description": "Default 50; positive integers are clamped to a maximum effective size of 200. Empty, malformed, zero or negative values use 50.", "schema": {"type": ["integer", "string"], "default": 50}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_trend_metrics_monthly"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/trends"}, "x-minimum-tier": "accelerate"}}, "/api/v1/trends/metrics/yearly/": {"get": {"operationId": "get_yearly_trend_metrics", "summary": "Get yearly trend metrics", "description": "Minimum effective access: accelerate. Access uses the existing billing, private trial, organization and staff rules. Authenticate with X-API-Key or a Django session cookie. REST does not accept MCP OAuth or Bearer tokens. Session authentication is first: missing credentials on restricted reads and invalid/expired API keys return 403.", "security": [{"CustomerAPIKey": []}, {"DjangoSession": []}], "parameters": [{"name": "topic", "in": "query", "required": false, "description": "Topic filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "scope", "in": "query", "required": false, "description": "Global or space-specific metrics. scope=space requires space; space is rejected with other scopes.", "schema": {"type": "string", "enum": ["all", "global", "space"]}}, {"name": "space", "in": "query", "required": false, "description": "Space filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string"}}, {"name": "source", "in": "query", "required": false, "description": "Stored source. LinkedIn analytics require Accelerate. Source availability follows the configured source index.", "schema": {"type": "string", "enum": ["blog", "youtube", "x", "linkedin"]}}, {"name": "account_type", "in": "query", "required": false, "description": "Account type filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "enum": ["all", "company", "employee", "showcase"]}}, {"name": "mode", "in": "query", "required": false, "description": "Defaults to normalized. Explicit raw requires Accelerate on Free-capable trend endpoints.", "schema": {"type": "string", "enum": ["normalized", "raw"]}}, {"name": "start", "in": "query", "required": false, "description": "Start filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date"}}, {"name": "end", "in": "query", "required": false, "description": "End filter; see the linked endpoint documentation for validation and defaults.", "schema": {"type": "string", "format": "date"}}, {"name": "page", "in": "query", "required": false, "description": "Page number (default 1); 'last' selects the final page. Empty uses page 1. Malformed, nonpositive or out-of-range pages return 404.", "schema": {"oneOf": [{"type": "integer", "minimum": 1}, {"type": "string", "enum": ["last", ""]}], "default": 1}}, {"name": "page_size", "in": "query", "required": false, "description": "Default 50; positive integers are clamped to a maximum effective size of 200. Empty, malformed, zero or negative values use 50.", "schema": {"type": ["integer", "string"], "default": 50}}], "responses": {"503": {"description": "Usage recording temporarily unavailable.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DetailError"}}}, "headers": {"Retry-After": {"schema": {"type": "integer", "minimum": 0}}}}, "200": {"description": "Stored research data, with fields/history available to the effective account tier.", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Read_trend_metrics_yearly"}}}}, "403": {"description": "Missing/invalid credentials or insufficient effective access/paid parameter.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "404": {"description": "Resource or requested page not found.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}, "400": {"description": "Invalid query or incompatible filters; legacy and field-keyed envelopes are retained.", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/AccessError"}, {"$ref": "#/components/schemas/LegacyError"}, {"$ref": "#/components/schemas/DetailError"}, {"$ref": "#/components/schemas/ValidationError"}]}}}}}, "externalDocs": {"url": "https://www.plushcap.com/docs/trends"}, "x-minimum-tier": "accelerate"}}}, "components": {"schemas": {"Company": {"type": "object", "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "description": {"type": "string"}, "current_stage": {"type": ["string", "null"]}, "year_founded": {"type": ["integer", "null"]}, "public": {"type": "boolean"}, "url": {"type": "string"}, "blog_url": {"type": ["string", "null"]}, "docs_url": {"type": ["string", "null"]}, "github_url": {"type": ["string", "null"]}, "twitter_url": {"type": ["string", "null"], "format": "uri", "readOnly": true}, "linkedin_url": {"type": ["string", "null"], "format": "uri", "readOnly": true}}, "required": ["name", "slug", "description", "current_stage", "year_founded", "public", "url", "blog_url", "docs_url", "github_url", "twitter_url", "linkedin_url"], "additionalProperties": false}, "TrendTopic": {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "name": {"type": "string", "readOnly": true}, "slug": {"type": "string", "readOnly": true}, "keywords": {"type": "string", "readOnly": true}, "keyword_list": {"type": "array", "items": {"type": "string"}, "readOnly": true}, "tracking_start_date": {"type": ["string", "null"], "format": "date", "readOnly": true}, "topic_type": {"type": "string", "enum": ["KEYW", "PHRA", "REGX"], "readOnly": true}, "description": {"type": "string", "readOnly": true}, "category": {"type": "string", "readOnly": true}, "is_active": {"type": "boolean", "readOnly": true}, "is_product": {"type": "boolean", "readOnly": true}, "companies": {"type": "array", "items": {"$ref": "#/components/schemas/TrendCompanyLink", "readOnly": true}, "readOnly": true}, "trend_kind": {"type": "string", "enum": ["concept", "implementation"], "readOnly": true}, "concepts": {"type": "array", "items": {"$ref": "#/components/schemas/TrendTopicLink"}, "readOnly": true}, "implementations": {"type": "array", "items": {"$ref": "#/components/schemas/TrendTopicLink"}, "readOnly": true}, "related_topics": {"type": "array", "items": {"$ref": "#/components/schemas/TrendTopicLink"}, "readOnly": true}, "created_at": {"type": "string", "format": "date-time", "readOnly": true}, "updated_at": {"type": "string", "format": "date-time", "readOnly": true}}, "required": ["id", "name", "slug", "keywords", "keyword_list", "tracking_start_date", "topic_type", "description", "category", "is_active", "is_product", "companies", "trend_kind", "concepts", "implementations", "related_topics", "created_at", "updated_at"], "additionalProperties": false}, "TrendTopicLink": {"type": "object", "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "is_product": {"type": "boolean"}}, "required": ["name", "slug", "is_product"], "additionalProperties": false}, "TrendCompanyLink": {"type": "object", "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"], "additionalProperties": false}, "CompanyPage": {"type": "object", "required": ["count", "next", "previous", "results"], "properties": {"count": {"type": "integer", "minimum": 0}, "next": {"type": ["string", "null"], "format": "uri"}, "previous": {"type": ["string", "null"], "format": "uri"}, "results": {"type": "array", "items": {"$ref": "#/components/schemas/Company"}}}}, "TrendTopicPage": {"type": "object", "required": ["count", "next", "previous", "results"], "properties": {"count": {"type": "integer", "minimum": 0}, "next": {"type": ["string", "null"], "format": "uri"}, "previous": {"type": ["string", "null"], "format": "uri"}, "results": {"type": "array", "items": {"$ref": "#/components/schemas/TrendTopic"}}}}, "DetailError": {"type": "object", "required": ["detail"], "properties": {"detail": {"type": "string"}}}, "TopicFilterError": {"type": "object", "minProperties": 1, "additionalProperties": false, "properties": {"product_scope": {"type": "string"}, "trend_kind": {"type": "string"}}}, "AccessError": {"type": "object", "properties": {"schema_version": {"const": 1}, "code": {"enum": ["free_plan_endpoint_limit_reached", "authentication_required", "permission_denied", "tier_access_required", "company_comparison_paid_access_required", "competitive_spaces_paid_access_required", "trend_reports_paid_access_required", "trend_metrics_paid_access_required", "raw_trends_paid_access_required", "youtube_paid_access_required", "linkedin_paid_access_required", "x_history_paid_access_required"]}, "error_type": {"enum": ["authentication_required", "quota_exhausted", "tier_access_required", "permission_denied"]}, "message": {"type": "string", "maxLength": 400}, "capability": {"type": ["string", "null"]}, "current_tier": {"enum": ["public", "free", "accelerate", "lead", "staff", null]}, "required_tier": {"enum": ["public", "free", "accelerate", "lead", "staff", null]}, "retryable": {"type": "boolean"}, "wait_will_help": {"type": "boolean"}, "resets_at": {"type": ["string", "null"], "format": "date-time"}, "retry_after_seconds": {"type": ["integer", "null"], "minimum": 0, "maximum": 3600}, "free_limit": {"anyOf": [{"type": "null"}, {"type": "object", "properties": {"limit": {"type": "integer", "minimum": 1}, "remaining": {"const": 0}, "window": {"const": "hour"}, "endpoint": {"enum": ["blog-posts", "blog-post-company-activity", "company-detect-from-url", "leaderboard-blog-output", "trends-summary", "trends-data", "trend-topic-data", "trend-topic-detail", "youtube-metrics-list", "youtube-metrics-latest", "company-youtube", "youtube-leaderboard", "hackernews-list", "hackernews-latest", "company-x-accounts", "company-x-posts", "global-x-posts", "company-x-post-detail", "company-x-summary", "company-x-high-engagement", "global-hackernews", "company-x-research"]}}, "required": ["limit", "remaining", "window", "endpoint"], "additionalProperties": false}]}, "free_alternatives": {"type": "array", "items": {"type": "string"}, "maxItems": 4}, "upgrade": {"anyOf": [{"type": "null"}, {"type": "object", "properties": {"plan_code": {"const": "accelerate"}, "plan_name": {"const": "Accelerate"}, "price_display": {"type": ["string", "null"], "maxLength": 300}, "amount": {"type": ["string", "null"], "pattern": "^\\d{1,8}\\.\\d{2}$"}, "currency": {"enum": ["USD", null]}, "billing_period": {"enum": ["month", null]}, "benefit": {"type": "string", "maxLength": 300}, "subscription_url": {"type": "string", "maxLength": 300}, "pricing_url": {"type": "string", "maxLength": 300}}, "required": ["plan_code", "plan_name", "price_display", "amount", "currency", "billing_period", "benefit", "subscription_url", "pricing_url"], "additionalProperties": false}]}}, "required": ["schema_version", "code", "error_type", "message", "capability", "current_tier", "required_tier", "retryable", "wait_will_help", "resets_at", "retry_after_seconds", "free_limit", "free_alternatives", "upgrade"], "additionalProperties": true}, "LegacyError": {"type": "object", "required": ["error"], "properties": {"error": {"type": "string"}}}, "ValidationError": {"type": "object", "minProperties": 1, "additionalProperties": {"anyOf": [{"type": "string"}, {"type": "array", "items": {"type": "string"}}]}}, "Read_company_detail": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "current_stage": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "year_founded": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "public": {"type": "boolean"}, "url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "blog_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "docs_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "github_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "twitter_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "linkedin_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "youtube_channels": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"id": {"type": "integer"}, "label": {"type": "string"}, "url": {"type": "string"}, "type": {"type": "string"}, "is_primary": {"type": "boolean"}, "is_active": {"type": "boolean"}, "channel_id": {"type": "string"}, "slug": {"type": "string"}}}}, "x_accounts": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"id": {"type": "integer"}, "label": {"type": "string"}, "url": {"type": "string"}, "type": {"type": "string"}, "is_primary": {"type": "boolean"}, "is_active": {"type": "boolean"}, "username": {"type": "string"}, "x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}}}}, "linkedin_accounts": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"id": {"type": "integer"}, "label": {"type": "string"}, "url": {"type": "string"}, "type": {"type": "string"}, "is_primary": {"type": "boolean"}, "is_active": {"type": "boolean"}, "public_identifier": {"type": "string"}, "linkedin_entity_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}}}}, "detail": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "changelog_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "jobs_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "youtube_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "discord_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "slack_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}}, "required": ["name", "slug", "description", "detail", "current_stage", "year_founded", "public", "url", "blog_url", "docs_url", "github_url", "twitter_url", "linkedin_url", "changelog_url", "jobs_url", "youtube_url", "discord_url", "slack_url", "youtube_channels", "x_accounts", "linkedin_accounts"]}, "Read_company_detect_from_url": {"type": "object", "additionalProperties": false, "properties": {"company_slug": {"type": "string"}, "company_name": {"type": "string"}, "matched_field": {"type": "string"}, "matched_url": {"type": "string"}, "confidence": {"type": "string"}}, "required": ["company_slug", "company_name", "matched_field", "matched_url", "confidence"]}, "Read_blog_post_list": {"type": "object", "additionalProperties": false, "properties": {"total_count": {"type": "integer"}, "limit": {"type": "integer"}, "offset": {"type": "integer"}, "text_included": {"type": "boolean"}, "results": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "title": {"type": ["string", "null"]}, "slug": {"type": "string"}, "source_url": {"type": "string"}, "author": {"type": ["string", "null"]}, "date_published": {"type": ["string", "null"], "format": "date"}, "date_parsed": {"type": "string", "format": "date"}, "word_count": {"type": "integer"}, "summary": {"type": "string"}, "company_name": {"type": "string", "readOnly": true}, "company_slug": {"type": "string", "readOnly": true}, "has_summary": {"type": "boolean", "readOnly": true}, "reading_time_minutes": {"anyOf": [{"type": "integer"}, {"type": "null"}], "readOnly": true}, "is_removed": {"type": "boolean"}, "text_available": {"type": "boolean", "readOnly": true}, "text_length": {"type": "integer", "readOnly": true}, "text": {"type": "string"}}, "required": ["id", "title", "slug", "source_url", "author", "date_published", "date_parsed", "word_count", "summary", "company_name", "company_slug", "has_summary", "reading_time_minutes", "is_removed", "text_available", "text_length"], "additionalProperties": false}}}, "required": ["total_count", "limit", "offset", "text_included", "results"], "allOf": [{"if": {"properties": {"text_included": {"const": true}}}, "then": {"properties": {"results": {"items": {"required": ["text"]}}}}, "else": {"properties": {"results": {"items": {"not": {"required": ["text"]}}}}}}]}, "Read_blog_post_company_activity": {"type": "object", "additionalProperties": false, "properties": {"company_count": {"type": "integer"}, "post_count": {"type": "integer"}, "window_hours_requested": {"type": "integer"}, "window_days_used": {"type": "integer"}, "calendar_days_included": {"type": "integer"}, "start_date": {"type": "string", "format": "date"}, "end_date": {"type": "string", "format": "date"}, "date_field": {"type": "string"}, "date_granularity": {"type": "string"}, "limit": {"type": "integer"}, "offset": {"type": "integer"}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"company_name": {"type": "string"}, "company_slug": {"type": "string"}, "post_count": {"type": "integer"}, "latest_post_date": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}}, "required": ["company_name", "company_slug", "post_count", "latest_post_date"]}}}, "required": ["company_count", "post_count", "window_hours_requested", "window_days_used", "calendar_days_included", "start_date", "end_date", "date_field", "date_granularity", "limit", "offset", "results"]}, "Read_blog_leaderboard": {"type": "object", "additionalProperties": false, "properties": {"count": {"type": "integer"}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"company_name": {"type": "string"}, "company_slug": {"type": "string"}, "current_stage": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "year_founded": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "posts_current_year": {"type": "integer"}, "posts_all_time": {"type": "integer"}, "total_words": {"type": "integer"}, "avg_posts_per_month": {"type": "number"}}, "required": ["company_name", "company_slug", "current_stage", "year_founded", "posts_current_year", "posts_all_time", "total_words", "avg_posts_per_month"]}}}, "required": ["count", "results"]}, "Read_trends_summary": {"type": "object", "additionalProperties": false, "properties": {"trending_up": {"type": "integer"}, "trending_down": {"type": "integer"}, "emerging_count": {"type": "integer"}, "total_mentions": {"type": "integer"}, "companies_count": {"type": "integer"}, "mode": {"type": "string"}, "source": {"type": "string"}, "account_type": {"type": "string"}, "period_label": {"type": "string"}}, "required": ["trending_up", "trending_down", "emerging_count", "total_mentions", "companies_count", "mode"]}, "Read_trends_data": {"type": "object", "additionalProperties": false, "properties": {"mode": {"type": "string"}, "summary": {"type": "object", "additionalProperties": false, "properties": {"trending_up": {"type": "integer"}, "trending_down": {"type": "integer"}, "emerging_count": {"type": "integer"}, "total_mentions": {"type": "integer"}, "companies_count": {"type": "integer"}, "mode": {"type": "string"}, "source": {"type": "string"}, "account_type": {"type": "string"}, "period_label": {"type": "string"}}, "required": ["trending_up", "trending_down", "emerging_count", "total_mentions", "companies_count"]}, "topics": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "category": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "keywords": {"type": "array", "items": {"type": "string"}}, "is_product": {"type": "boolean"}, "companies": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}}}, "trend_kind": {"type": "string"}, "concepts": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "is_product": {"type": "boolean"}}}}, "implementations": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "is_product": {"type": "boolean"}}}}, "related_topics": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "is_product": {"type": "boolean"}}}}, "latest_mention_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "latest_post_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "latest_company_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "latest_wow_change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "latest_raw_mention_count": {"type": "integer"}, "latest_normalized_mention_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "latest_raw_normalized_delta": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "mode": {"type": "string"}, "weekly_data": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"week_start": {"type": "string", "format": "date"}, "mention_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "post_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "company_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "wow_change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "raw_mention_count": {"type": "integer"}, "normalized_mention_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "period_start": {"type": "string", "format": "date"}, "period_end": {"type": "string", "format": "date"}, "week_end": {"type": "string", "format": "date"}, "change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "week_over_week_change": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["week_start", "mention_count", "post_count", "company_count", "wow_change"]}}, "projection": {"anyOf": [{"type": "object", "additionalProperties": false, "properties": {"period_start": {"type": "string", "format": "date"}, "period_label": {"type": "string"}, "mention_count": {"type": "integer"}, "post_count": {"type": "integer"}, "company_count": {"type": "integer"}, "change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "is_projected": {"type": "boolean"}, "projection_method": {"type": "string"}, "actual_mention_count": {"type": "integer"}, "actual_post_count": {"type": "integer"}, "actual_company_count": {"type": "integer"}, "days_elapsed": {"type": "integer"}, "total_days": {"type": "integer"}}, "required": ["period_start", "period_label", "mention_count", "post_count", "company_count", "change", "is_projected", "projection_method", "actual_mention_count", "actual_post_count", "actual_company_count", "days_elapsed", "total_days"]}, {"type": "null"}]}, "latest_change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "period_data": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"period_start": {"type": "string", "format": "date"}, "period_end": {"type": "string", "format": "date"}, "mention_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "post_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "company_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "raw_mention_count": {"type": "integer"}, "normalized_mention_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}}}}}, "required": ["name", "slug", "category", "keywords", "trend_kind", "concepts", "implementations", "related_topics", "latest_mention_count", "latest_post_count", "latest_company_count", "latest_wow_change", "mode", "weekly_data"]}}, "emerging": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"term": {"type": "string"}, "first_detected": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "current_week_count": {"type": "integer"}, "previous_week_count": {"type": "integer"}, "total_count": {"type": "integer"}, "velocity_score": {"type": "number"}, "growth_rate": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}}, "source": {"type": "string"}, "account_type": {"type": "string"}}, "required": ["mode", "summary", "topics", "emerging"]}, "Read_trend_topic_detail": {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "name": {"type": "string", "readOnly": true}, "slug": {"type": "string", "readOnly": true}, "keywords": {"type": "string", "readOnly": true}, "keyword_list": {"type": "array", "items": {"type": "string"}, "readOnly": true}, "tracking_start_date": {"type": ["string", "null"], "format": "date", "readOnly": true}, "topic_type": {"type": "string", "enum": ["KEYW", "PHRA", "REGX"], "readOnly": true}, "description": {"type": "string", "readOnly": true}, "category": {"type": "string", "readOnly": true}, "is_active": {"type": "boolean", "readOnly": true}, "is_product": {"type": "boolean", "readOnly": true}, "companies": {"type": "array", "items": {"$ref": "#/components/schemas/TrendCompanyLink", "readOnly": true}, "readOnly": true}, "trend_kind": {"type": "string", "enum": ["concept", "implementation"], "readOnly": true}, "concepts": {"type": "array", "items": {"$ref": "#/components/schemas/TrendTopicLink"}, "readOnly": true}, "implementations": {"type": "array", "items": {"$ref": "#/components/schemas/TrendTopicLink"}, "readOnly": true}, "related_topics": {"type": "array", "items": {"$ref": "#/components/schemas/TrendTopicLink"}, "readOnly": true}, "created_at": {"type": "string", "format": "date-time", "readOnly": true}, "updated_at": {"type": "string", "format": "date-time", "readOnly": true}}, "required": ["id", "name", "slug", "keywords", "keyword_list", "tracking_start_date", "topic_type", "description", "category", "is_active", "is_product", "companies", "trend_kind", "concepts", "implementations", "related_topics", "created_at", "updated_at"], "additionalProperties": false}, "Read_trend_topic_data": {"type": "object", "additionalProperties": false, "properties": {"mode": {"type": "string"}, "topic": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "category": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "keywords": {"type": "array", "items": {"type": "string"}}, "trend_kind": {"type": "string"}, "concepts": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "is_product": {"type": "boolean"}}}}, "implementations": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "is_product": {"type": "boolean"}}}}, "related_topics": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "is_product": {"type": "boolean"}}}}, "is_product": {"type": "boolean"}, "companies": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}}}}, "required": ["name", "slug", "category", "description", "keywords", "trend_kind", "concepts", "implementations", "related_topics"]}, "summary": {"type": "object", "additionalProperties": false, "properties": {"total_mentions": {"type": "integer"}, "total_posts": {"type": "integer"}, "total_companies": {"type": "integer"}, "avg_mentions_per_period": {"type": "number"}, "trend_direction": {"type": "string"}, "latest_change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "best_period": {"anyOf": [{"type": "object", "additionalProperties": false, "properties": {"period_start": {"type": "string", "format": "date"}, "period_label": {"type": "string"}, "mention_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "post_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "company_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "is_projected": {"type": "boolean"}, "projection_method": {"type": "string"}, "actual_mention_count": {"type": "integer"}, "actual_post_count": {"type": "integer"}, "actual_company_count": {"type": "integer"}, "days_elapsed": {"type": "integer"}, "total_days": {"type": "integer"}, "week_start": {"type": "string", "format": "date"}, "week_end": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "month_start": {"type": "string", "format": "date"}, "month_end": {"type": "string", "format": "date"}, "year_start": {"type": "string", "format": "date"}, "year_end": {"type": "string", "format": "date"}, "period_end": {"type": "string", "format": "date"}, "wow_change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "raw_mention_count": {"type": "integer"}, "normalized_mention_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "eligible_mention_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "removed_by_quarantine_mentions": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "removed_by_capping_mentions": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "capped_company_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "normalization_version": {"type": "string"}, "engagement": {"type": "object", "additionalProperties": false, "properties": {"views_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "likes_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "comments_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "shares_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "reposts_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "replies_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "quotes_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "bookmarks_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "points_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "reactions_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "reshares_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}}}}}, {"type": "null"}]}, "worst_period": {"anyOf": [{"type": "object", "additionalProperties": false, "properties": {"period_start": {"type": "string", "format": "date"}, "period_label": {"type": "string"}, "mention_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "post_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "company_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "is_projected": {"type": "boolean"}, "projection_method": {"type": "string"}, "actual_mention_count": {"type": "integer"}, "actual_post_count": {"type": "integer"}, "actual_company_count": {"type": "integer"}, "days_elapsed": {"type": "integer"}, "total_days": {"type": "integer"}, "week_start": {"type": "string", "format": "date"}, "week_end": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "month_start": {"type": "string", "format": "date"}, "month_end": {"type": "string", "format": "date"}, "year_start": {"type": "string", "format": "date"}, "year_end": {"type": "string", "format": "date"}, "period_end": {"type": "string", "format": "date"}, "wow_change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "raw_mention_count": {"type": "integer"}, "normalized_mention_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "eligible_mention_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "removed_by_quarantine_mentions": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "removed_by_capping_mentions": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "capped_company_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "normalization_version": {"type": "string"}, "engagement": {"type": "object", "additionalProperties": false, "properties": {"views_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "likes_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "comments_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "shares_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "reposts_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "replies_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "quotes_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "bookmarks_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "points_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "reactions_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "reshares_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}}}}}, {"type": "null"}]}}, "required": ["total_mentions", "total_posts", "total_companies", "avg_mentions_per_period", "trend_direction", "latest_change", "best_period", "worst_period"]}, "weekly_data": {"type": "array", "items": {"anyOf": [{"type": "object", "additionalProperties": false, "properties": {"week_start": {"type": "string", "format": "date"}, "week_end": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "period_label": {"type": "string"}, "mention_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "post_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "company_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "raw_mention_count": {"type": "integer"}, "normalized_mention_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "eligible_mention_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "removed_by_quarantine_mentions": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "removed_by_capping_mentions": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "capped_company_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "period_start": {"type": "string", "format": "date"}, "is_projected": {"type": "boolean"}, "projection_method": {"type": "string"}, "actual_mention_count": {"type": "integer"}, "actual_post_count": {"type": "integer"}, "actual_company_count": {"type": "integer"}, "days_elapsed": {"type": "integer"}, "total_days": {"type": "integer"}, "month_start": {"type": "string", "format": "date"}, "month_end": {"type": "string", "format": "date"}, "year_start": {"type": "string", "format": "date"}, "year_end": {"type": "string", "format": "date"}, "period_end": {"type": "string", "format": "date"}, "wow_change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "normalization_version": {"type": "string"}, "engagement": {"type": "object", "additionalProperties": false, "properties": {"views_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "likes_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "comments_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "shares_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "reposts_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "replies_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "quotes_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "bookmarks_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "points_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "reactions_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "reshares_count": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}}}}, "required": ["week_start", "week_end", "period_label", "mention_count", "post_count", "company_count", "change"]}, {"type": "object", "additionalProperties": false, "properties": {"period_start": {"type": "string", "format": "date"}, "period_label": {"type": "string"}, "mention_count": {"type": "integer"}, "post_count": {"type": "integer"}, "company_count": {"type": "integer"}, "change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "is_projected": {"type": "boolean"}, "projection_method": {"type": "string"}, "actual_mention_count": {"type": "integer"}, "actual_post_count": {"type": "integer"}, "actual_company_count": {"type": "integer"}, "days_elapsed": {"type": "integer"}, "total_days": {"type": "integer"}}, "required": ["period_start", "period_label", "mention_count", "post_count", "company_count", "change", "is_projected", "projection_method", "actual_mention_count", "actual_post_count", "actual_company_count", "days_elapsed", "total_days"]}]}}, "blog_posts": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"title": {"type": "string"}, "slug": {"type": "string"}, "source_url": {"type": "string"}, "company_name": {"type": "string"}, "company_slug": {"type": "string"}, "company_competitive_spaces": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}}}, "date_published": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "author": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "summary": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "word_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "mention_count": {"type": "integer"}, "is_removed": {"type": "boolean"}, "text_preview": {"type": "string"}}, "required": ["title", "slug", "source_url", "company_name", "company_slug", "company_competitive_spaces", "date_published", "author", "summary", "word_count", "mention_count", "is_removed"]}}, "contributor_diagnostics": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"company_name": {"type": "string"}, "company_slug": {"type": "string"}, "raw_mentions": {"type": "integer"}, "normalized_mentions": {"type": "integer"}, "calculated_cap": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "excluded": {"type": "boolean"}, "clipped": {"type": "boolean"}, "public_reason": {"type": "string"}}, "required": ["company_name", "company_slug", "raw_mentions", "normalized_mentions", "calculated_cap", "excluded", "clipped", "public_reason"]}}, "source": {"type": "string"}, "account_type": {"type": "string"}, "engagement_semantics": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "evidence": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"source": {"type": "string"}, "source_object_id": {"type": "string"}, "title": {"type": "string"}, "url": {"type": "string"}, "publication_date": {"type": "string", "format": "date"}, "company": {"anyOf": [{"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}}, {"type": "null"}]}, "account_type": {"type": "string"}, "mention_count": {"type": "integer"}}, "required": ["source", "source_object_id", "title", "url", "publication_date", "company", "account_type", "mention_count"]}}}, "required": ["mode", "topic", "summary", "weekly_data", "blog_posts", "contributor_diagnostics"]}, "Read_youtube_list": {"type": "object", "additionalProperties": false, "properties": {"count": {"type": "integer"}, "next": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "previous": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "results": {"type": "array", "items": {"type": "object", "properties": {"date_parsed": {"type": "string", "format": "date"}, "subscriber_count": {"type": ["integer", "null"]}, "videos_count": {"type": ["integer", "null"]}, "views_count": {"type": ["integer", "null"]}, "company_slug": {"type": "string", "readOnly": true}, "channel_id": {"type": "string", "readOnly": true}, "channel_name": {"type": "string", "readOnly": true}, "subscriber_percent_growth": {"anyOf": [{"type": "number"}, {"type": "null"}], "readOnly": true}, "videos_percent_growth": {"anyOf": [{"type": "number"}, {"type": "null"}], "readOnly": true}, "views_percent_growth": {"anyOf": [{"type": "number"}, {"type": "null"}], "readOnly": true}}, "required": ["date_parsed", "subscriber_count", "videos_count", "views_count", "company_slug"], "additionalProperties": false}}}, "required": ["count", "next", "previous", "results"]}, "Read_youtube_latest": {"type": "object", "properties": {"date_parsed": {"type": "string", "format": "date"}, "subscriber_count": {"type": ["integer", "null"]}, "videos_count": {"type": ["integer", "null"]}, "views_count": {"type": ["integer", "null"]}, "company_slug": {"type": "string", "readOnly": true}, "channel_id": {"type": "string", "readOnly": true}, "channel_name": {"type": "string", "readOnly": true}, "subscriber_percent_growth": {"anyOf": [{"type": "number"}, {"type": "null"}], "readOnly": true}, "videos_percent_growth": {"anyOf": [{"type": "number"}, {"type": "null"}], "readOnly": true}, "views_percent_growth": {"anyOf": [{"type": "number"}, {"type": "null"}], "readOnly": true}}, "required": ["date_parsed", "subscriber_count", "videos_count", "views_count", "company_slug"], "additionalProperties": false}, "Read_company_youtube": {"type": "object", "additionalProperties": false, "properties": {"company_name": {"type": "string"}, "company_slug": {"type": "string"}, "latest_date": {"type": "string", "format": "date"}, "subscriber_count": {"type": "integer"}, "videos_count": {"type": "integer"}, "views_count": {"type": "integer"}, "count": {"type": "integer"}, "next": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "previous": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"date": {"type": "string", "format": "date"}, "subscriber_count": {"type": "integer"}, "videos_count": {"type": "integer"}, "views_count": {"type": "integer"}, "subscriber_growth": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "subscriber_growth_percent": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "video_growth": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "video_growth_percent": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "view_growth": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "view_growth_percent": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["date", "subscriber_count", "videos_count", "views_count"]}}, "channels": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"channel_name": {"type": "string"}, "channel_slug": {"type": "string"}, "channel_id": {"type": "string"}, "channel_url": {"type": "string"}, "is_primary": {"type": "boolean"}, "latest_date": {"type": "string", "format": "date"}, "subscriber_count": {"type": "integer"}, "videos_count": {"type": "integer"}, "views_count": {"type": "integer"}}, "required": ["channel_name", "channel_slug", "channel_id", "channel_url", "is_primary", "latest_date", "subscriber_count", "videos_count", "views_count"]}}}, "required": ["company_name", "company_slug", "latest_date", "subscriber_count", "videos_count", "views_count", "count", "next", "previous", "results"]}, "Read_company_youtube_videos": {"type": "object", "additionalProperties": false, "properties": {"count": {"type": "integer"}, "next": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "previous": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "results": {"type": "array", "items": {"type": "object", "properties": {"video_id": {"type": "string"}, "title": {"type": ["string", "null"]}, "watch_url": {"type": "string", "readOnly": true}, "company_slug": {"anyOf": [{"type": "string"}, {"type": "null"}], "readOnly": true}, "channel_id": {"type": "string", "readOnly": true}, "channel_name": {"type": "string", "readOnly": true}, "channel_slug": {"type": "string", "readOnly": true}, "published_date": {"type": "string", "format": "date"}, "published_at": {"type": ["string", "null"], "format": "date-time"}, "duration_seconds": {"anyOf": [{"type": "integer"}, {"type": "null"}], "readOnly": true}, "thumbnail_url": {"type": ["string", "null"]}, "views_count": {"type": ["integer", "null"]}, "likes_count": {"type": ["integer", "null"]}, "comments_count": {"type": ["integer", "null"]}, "is_short": {"type": ["boolean", "null"]}, "live_status": {"type": "string", "enum": ["unknown", "none", "upcoming", "live", "completed"]}, "category_title": {"type": ["string", "null"]}, "default_language": {"type": ["string", "null"]}, "default_audio_language": {"type": ["string", "null"]}}, "required": ["video_id", "title", "watch_url", "company_slug", "channel_id", "channel_name", "channel_slug", "published_date", "published_at", "duration_seconds", "thumbnail_url", "views_count", "likes_count", "comments_count", "is_short", "live_status", "category_title", "default_language", "default_audio_language"], "additionalProperties": false}}}, "required": ["count", "next", "previous", "results"]}, "Read_company_youtube_video_detail": {"type": "object", "properties": {"video_id": {"type": "string"}, "title": {"type": ["string", "null"]}, "watch_url": {"type": "string", "readOnly": true}, "company_slug": {"anyOf": [{"type": "string"}, {"type": "null"}], "readOnly": true}, "channel_id": {"type": "string", "readOnly": true}, "channel_name": {"type": "string", "readOnly": true}, "channel_slug": {"type": "string", "readOnly": true}, "published_date": {"type": "string", "format": "date"}, "published_at": {"type": ["string", "null"], "format": "date-time"}, "duration_seconds": {"anyOf": [{"type": "integer"}, {"type": "null"}], "readOnly": true}, "thumbnail_url": {"type": ["string", "null"]}, "views_count": {"type": ["integer", "null"]}, "likes_count": {"type": ["integer", "null"]}, "comments_count": {"type": ["integer", "null"]}, "is_short": {"type": ["boolean", "null"]}, "live_status": {"type": "string", "enum": ["unknown", "none", "upcoming", "live", "completed"]}, "category_title": {"type": ["string", "null"]}, "default_language": {"type": ["string", "null"]}, "default_audio_language": {"type": ["string", "null"]}, "description": {"type": ["string", "null"]}, "tags": {"type": "array", "items": {"type": "string"}}, "category_id": {"type": ["string", "null"]}, "thumbnails": {"type": "object", "additionalProperties": false, "properties": {"default": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}}}, "medium": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}}}, "high": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}}}, "standard": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}}}, "maxres": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}}}}}, "transcript": {"type": ["string", "null"]}, "scheduled_start_at": {"type": ["string", "null"], "format": "date-time"}, "actual_start_at": {"type": ["string", "null"], "format": "date-time"}, "actual_end_at": {"type": ["string", "null"], "format": "date-time"}, "privacy_status": {"type": "string", "enum": ["unknown", "public", "unlisted", "private"]}}, "required": ["video_id", "title", "watch_url", "company_slug", "channel_id", "channel_name", "channel_slug", "published_date", "published_at", "duration_seconds", "thumbnail_url", "views_count", "likes_count", "comments_count", "is_short", "live_status", "category_title", "default_language", "default_audio_language", "description", "tags", "category_id", "thumbnails", "transcript", "scheduled_start_at", "actual_start_at", "actual_end_at", "privacy_status"], "additionalProperties": false}, "Read_global_youtube_videos": {"type": "object", "additionalProperties": false, "properties": {"count": {"type": "integer"}, "next": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "previous": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "watch_url": {"type": "string"}, "company_slug": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "channel_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "channel_name": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "channel_slug": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "published_date": {"type": "string", "format": "date"}, "published_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "duration_seconds": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "thumbnail_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "comments_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "is_short": {"anyOf": [{"type": "boolean"}, {"type": "null"}]}, "live_status": {"type": "string"}, "category_title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "default_language": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "default_audio_language": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "metrics_observed_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "like_rate": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "comment_rate": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "engagement_rate": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "engagement_per_1k_views": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "views_per_day": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["video_id", "title", "watch_url", "company_slug", "channel_id", "channel_name", "channel_slug", "published_date", "published_at", "duration_seconds", "thumbnail_url", "views_count", "likes_count", "comments_count", "is_short", "live_status", "category_title", "default_language", "default_audio_language", "metrics_observed_at", "like_rate", "comment_rate", "engagement_rate", "engagement_per_1k_views", "views_per_day"]}}}, "required": ["count", "next", "previous", "results"]}, "Read_company_youtube_research": {"type": "object", "additionalProperties": false, "properties": {"company": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "current_stage": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "normalized_stage": {"type": "string"}, "competitive_spaces": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"]}}}, "required": ["name", "slug", "current_stage", "normalized_stage", "competitive_spaces"]}, "provenance": {"type": "object", "additionalProperties": false, "properties": {"source": {"type": "string"}, "generated_advice": {"type": "boolean"}, "recommendations_are_calling_model_responsibility": {"type": "boolean"}}, "required": ["source", "generated_advice", "recommendations_are_calling_model_responsibility"]}, "date_range": {"type": "object", "additionalProperties": false, "properties": {"requested_start_date": {"type": "string", "format": "date"}, "requested_end_date": {"type": "string", "format": "date"}, "effective_start_date": {"type": "string", "format": "date"}, "effective_end_date": {"type": "string", "format": "date"}, "future_end_date_clamped": {"type": "boolean"}}, "required": ["requested_start_date", "requested_end_date", "effective_start_date", "effective_end_date", "future_end_date_clamped"]}, "freshness": {"type": "object", "additionalProperties": false, "properties": {"latest_target_content_date": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "latest_channel_snapshot_month": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "latest_video_metrics_observed_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "video_metrics_observed_at_min": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "video_metrics_observed_at_max": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}}, "required": ["latest_target_content_date", "latest_channel_snapshot_month", "latest_video_metrics_observed_at", "video_metrics_observed_at_min", "video_metrics_observed_at_max"]}, "channels": {"type": "object", "additionalProperties": false, "properties": {"active_count": {"type": "integer"}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"channel_name": {"type": "string"}, "channel_slug": {"type": "string"}, "channel_id": {"type": "string"}, "channel_url": {"type": "string"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "is_primary": {"type": "boolean"}, "latest_snapshot_date": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "subscriber_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "videos_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "backfill_completed_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "last_video_discovery_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}}, "required": ["channel_name", "channel_slug", "channel_id", "channel_url", "description", "is_primary", "latest_snapshot_date", "subscriber_count", "videos_count", "views_count", "backfill_completed_at", "last_video_discovery_at"]}}, "monthly_history": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"date": {"type": "string", "format": "date"}, "subscriber_count": {"type": "integer"}, "videos_count": {"type": "integer"}, "views_count": {"type": "integer"}, "channel_count": {"type": "integer"}}, "required": ["date", "subscriber_count", "videos_count", "views_count", "channel_count"]}}, "completeness": {"type": "object", "additionalProperties": false, "properties": {"active_channel_count": {"type": "integer"}, "backfill_complete_count": {"type": "integer"}, "backfill_incomplete_count": {"type": "integer"}, "backfill_complete": {"type": "boolean"}, "backfill_completed_at_min": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "backfill_completed_at_max": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "last_video_discovery_at_min": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "last_video_discovery_at_max": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}}, "required": ["active_channel_count", "backfill_complete_count", "backfill_incomplete_count", "backfill_complete", "backfill_completed_at_min", "backfill_completed_at_max", "last_video_discovery_at_min", "last_video_discovery_at_max"]}}, "required": ["active_count", "results", "monthly_history", "completeness"]}, "target_videos": {"type": "object", "additionalProperties": false, "properties": {"total_count": {"type": "integer"}, "returned_count": {"type": "integer"}, "limit": {"type": "integer"}, "truncated": {"type": "boolean"}, "coverage": {"type": "object", "additionalProperties": false, "properties": {"views": {"type": "object", "additionalProperties": false, "properties": {"covered_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["covered_count", "missing_count", "coverage_percent"]}, "likes": {"type": "object", "additionalProperties": false, "properties": {"covered_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["covered_count", "missing_count", "coverage_percent"]}, "comments": {"type": "object", "additionalProperties": false, "properties": {"covered_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["covered_count", "missing_count", "coverage_percent"]}, "descriptions": {"type": "object", "additionalProperties": false, "properties": {"covered_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["covered_count", "missing_count", "coverage_percent"]}, "transcripts": {"type": "object", "additionalProperties": false, "properties": {"covered_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["covered_count", "missing_count", "coverage_percent"]}, "shorts_classification": {"type": "object", "additionalProperties": false, "properties": {"covered_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["covered_count", "missing_count", "coverage_percent"]}, "category_title": {"type": "object", "additionalProperties": false, "properties": {"covered_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["covered_count", "missing_count", "coverage_percent"]}, "observation_timestamps": {"type": "object", "additionalProperties": false, "properties": {"covered_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["covered_count", "missing_count", "coverage_percent"]}}, "required": ["views", "likes", "comments", "descriptions", "transcripts", "shorts_classification", "category_title", "observation_timestamps"]}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "watch_url": {"type": "string"}, "company_slug": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "channel_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "channel_name": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "channel_slug": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "published_date": {"type": "string", "format": "date"}, "published_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "duration_seconds": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "thumbnail_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "comments_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "is_short": {"anyOf": [{"type": "boolean"}, {"type": "null"}]}, "live_status": {"type": "string"}, "category_title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "default_language": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "default_audio_language": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "metrics_observed_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "like_rate": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "comment_rate": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "engagement_rate": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "engagement_per_1k_views": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "views_per_day": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "tags": {"type": "array", "items": {"type": "string"}}, "transcript_available": {"type": "boolean"}, "transcript_length": {"type": "integer"}}, "required": ["video_id", "title", "watch_url", "company_slug", "channel_id", "channel_name", "channel_slug", "published_date", "published_at", "duration_seconds", "thumbnail_url", "views_count", "likes_count", "comments_count", "is_short", "live_status", "category_title", "default_language", "default_audio_language", "metrics_observed_at", "like_rate", "comment_rate", "engagement_rate", "engagement_per_1k_views", "views_per_day", "description", "tags", "transcript_available", "transcript_length"]}}}, "required": ["total_count", "returned_count", "limit", "truncated", "coverage", "results"]}, "cohorts": {"type": "object", "additionalProperties": false, "properties": {"disjoint": {"type": "boolean"}, "direct_competitors": {"type": "object", "additionalProperties": false, "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "definition": {"type": "object", "additionalProperties": false, "properties": {"shared_space_slugs": {"type": "array", "items": {"type": "string"}}, "normalized_stage": {"type": "string"}, "direct_competitors_excluded": {"type": "boolean"}, "target_excluded": {"type": "boolean"}}}, "selection": {"type": "object", "additionalProperties": false, "properties": {"available_company_count": {"type": "integer"}, "eligible_company_count": {"type": "integer"}, "selected_company_count": {"type": "integer"}, "excluded_company_count": {"type": "integer"}, "ineligible_company_count": {"type": "integer"}, "eligible_not_selected_count": {"type": "integer"}, "minimum_eligible_videos": {"type": "integer"}, "company_limit": {"type": "integer"}, "selection_rule": {"type": "string"}}, "required": ["available_company_count", "eligible_company_count", "selected_company_count", "excluded_company_count", "ineligible_company_count", "eligible_not_selected_count", "minimum_eligible_videos", "company_limit", "selection_rule"]}, "companies": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "eligible_video_count": {"type": "integer"}, "eligible_total_views": {"type": "integer"}, "median_engagement_per_1k_views": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["name", "slug", "eligible_video_count", "eligible_total_views", "median_engagement_per_1k_views"]}}, "video_count": {"type": "integer"}, "distributions": {"type": "object", "additionalProperties": false, "properties": {"views_count": {"type": "object", "additionalProperties": false, "properties": {"sample_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "minimum": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p25": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "median": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p50": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p75": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p90": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "maximum": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["sample_count", "missing_count", "minimum", "p25", "median", "p50", "p75", "p90", "maximum"]}, "likes_count": {"type": "object", "additionalProperties": false, "properties": {"sample_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "minimum": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p25": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "median": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p50": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p75": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p90": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "maximum": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["sample_count", "missing_count", "minimum", "p25", "median", "p50", "p75", "p90", "maximum"]}, "comments_count": {"type": "object", "additionalProperties": false, "properties": {"sample_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "minimum": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p25": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "median": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p50": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p75": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p90": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "maximum": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["sample_count", "missing_count", "minimum", "p25", "median", "p50", "p75", "p90", "maximum"]}, "like_rate": {"type": "object", "additionalProperties": false, "properties": {"sample_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "minimum": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p25": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "median": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p50": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p75": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p90": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "maximum": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["sample_count", "missing_count", "minimum", "p25", "median", "p50", "p75", "p90", "maximum"]}, "comment_rate": {"type": "object", "additionalProperties": false, "properties": {"sample_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "minimum": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p25": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "median": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p50": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p75": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p90": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "maximum": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["sample_count", "missing_count", "minimum", "p25", "median", "p50", "p75", "p90", "maximum"]}, "engagement_per_1k_views": {"type": "object", "additionalProperties": false, "properties": {"sample_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "minimum": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p25": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "median": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p50": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p75": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p90": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "maximum": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["sample_count", "missing_count", "minimum", "p25", "median", "p50", "p75", "p90", "maximum"]}, "views_per_day": {"type": "object", "additionalProperties": false, "properties": {"sample_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "minimum": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p25": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "median": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p50": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p75": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p90": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "maximum": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["sample_count", "missing_count", "minimum", "p25", "median", "p50", "p75", "p90", "maximum"]}}, "required": ["views_count", "likes_count", "comments_count", "like_rate", "comment_rate", "engagement_per_1k_views", "views_per_day"]}, "rankings": {"type": "object", "additionalProperties": false, "properties": {"views_count": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["video_id", "rank", "value", "percentile_rank"]}}, "likes_count": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["video_id", "rank", "value", "percentile_rank"]}}, "comments_count": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["video_id", "rank", "value", "percentile_rank"]}}, "like_rate": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["video_id", "rank", "value", "percentile_rank"]}}, "comment_rate": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["video_id", "rank", "value", "percentile_rank"]}}, "engagement_per_1k_views": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["video_id", "rank", "value", "percentile_rank"]}}, "views_per_day": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["video_id", "rank", "value", "percentile_rank"]}}}, "required": ["views_count", "likes_count", "comments_count", "like_rate", "comment_rate", "engagement_per_1k_views", "views_per_day"]}, "videos": {"type": "object", "patternProperties": {"^[A-Za-z0-9_-]+$": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "watch_url": {"type": "string"}, "company_slug": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "channel_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "channel_name": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "channel_slug": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "published_date": {"type": "string", "format": "date"}, "published_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "duration_seconds": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "thumbnail_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "comments_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "is_short": {"anyOf": [{"type": "boolean"}, {"type": "null"}]}, "live_status": {"type": "string"}, "category_title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "default_language": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "default_audio_language": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "metrics_observed_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "like_rate": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "comment_rate": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "engagement_rate": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "engagement_per_1k_views": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "views_per_day": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "tags": {"type": "array", "items": {"type": "string"}}, "transcript_available": {"type": "boolean"}, "transcript_length": {"type": "integer"}}, "required": ["video_id", "title", "watch_url", "company_slug", "channel_id", "channel_name", "channel_slug", "published_date", "published_at", "duration_seconds", "thumbnail_url", "views_count", "likes_count", "comments_count", "is_short", "live_status", "category_title", "default_language", "default_audio_language", "metrics_observed_at", "like_rate", "comment_rate", "engagement_rate", "engagement_per_1k_views", "views_per_day", "description", "tags", "transcript_available", "transcript_length"]}}, "additionalProperties": false}}, "required": ["key", "label", "definition", "selection", "companies", "video_count", "distributions", "rankings", "videos"]}, "similar_stage": {"type": "object", "additionalProperties": false, "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "definition": {"type": "object", "additionalProperties": false, "properties": {"shared_space_slugs": {"type": "array", "items": {"type": "string"}}, "normalized_stage": {"type": "string"}, "direct_competitors_excluded": {"type": "boolean"}, "target_excluded": {"type": "boolean"}}}, "selection": {"type": "object", "additionalProperties": false, "properties": {"available_company_count": {"type": "integer"}, "eligible_company_count": {"type": "integer"}, "selected_company_count": {"type": "integer"}, "excluded_company_count": {"type": "integer"}, "ineligible_company_count": {"type": "integer"}, "eligible_not_selected_count": {"type": "integer"}, "minimum_eligible_videos": {"type": "integer"}, "company_limit": {"type": "integer"}, "selection_rule": {"type": "string"}}, "required": ["available_company_count", "eligible_company_count", "selected_company_count", "excluded_company_count", "ineligible_company_count", "eligible_not_selected_count", "minimum_eligible_videos", "company_limit", "selection_rule"]}, "companies": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "eligible_video_count": {"type": "integer"}, "eligible_total_views": {"type": "integer"}, "median_engagement_per_1k_views": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["name", "slug", "eligible_video_count", "eligible_total_views", "median_engagement_per_1k_views"]}}, "video_count": {"type": "integer"}, "distributions": {"type": "object", "additionalProperties": false, "properties": {"views_count": {"type": "object", "additionalProperties": false, "properties": {"sample_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "minimum": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p25": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "median": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p50": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p75": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p90": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "maximum": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["sample_count", "missing_count", "minimum", "p25", "median", "p50", "p75", "p90", "maximum"]}, "likes_count": {"type": "object", "additionalProperties": false, "properties": {"sample_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "minimum": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p25": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "median": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p50": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p75": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p90": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "maximum": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["sample_count", "missing_count", "minimum", "p25", "median", "p50", "p75", "p90", "maximum"]}, "comments_count": {"type": "object", "additionalProperties": false, "properties": {"sample_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "minimum": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p25": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "median": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p50": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p75": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p90": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "maximum": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["sample_count", "missing_count", "minimum", "p25", "median", "p50", "p75", "p90", "maximum"]}, "like_rate": {"type": "object", "additionalProperties": false, "properties": {"sample_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "minimum": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p25": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "median": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p50": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p75": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p90": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "maximum": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["sample_count", "missing_count", "minimum", "p25", "median", "p50", "p75", "p90", "maximum"]}, "comment_rate": {"type": "object", "additionalProperties": false, "properties": {"sample_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "minimum": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p25": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "median": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p50": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p75": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p90": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "maximum": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["sample_count", "missing_count", "minimum", "p25", "median", "p50", "p75", "p90", "maximum"]}, "engagement_per_1k_views": {"type": "object", "additionalProperties": false, "properties": {"sample_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "minimum": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p25": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "median": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p50": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p75": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p90": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "maximum": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["sample_count", "missing_count", "minimum", "p25", "median", "p50", "p75", "p90", "maximum"]}, "views_per_day": {"type": "object", "additionalProperties": false, "properties": {"sample_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "minimum": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p25": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "median": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p50": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p75": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "p90": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "maximum": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["sample_count", "missing_count", "minimum", "p25", "median", "p50", "p75", "p90", "maximum"]}}, "required": ["views_count", "likes_count", "comments_count", "like_rate", "comment_rate", "engagement_per_1k_views", "views_per_day"]}, "rankings": {"type": "object", "additionalProperties": false, "properties": {"views_count": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["video_id", "rank", "value", "percentile_rank"]}}, "likes_count": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["video_id", "rank", "value", "percentile_rank"]}}, "comments_count": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["video_id", "rank", "value", "percentile_rank"]}}, "like_rate": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["video_id", "rank", "value", "percentile_rank"]}}, "comment_rate": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["video_id", "rank", "value", "percentile_rank"]}}, "engagement_per_1k_views": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["video_id", "rank", "value", "percentile_rank"]}}, "views_per_day": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["video_id", "rank", "value", "percentile_rank"]}}}, "required": ["views_count", "likes_count", "comments_count", "like_rate", "comment_rate", "engagement_per_1k_views", "views_per_day"]}, "videos": {"type": "object", "patternProperties": {"^[A-Za-z0-9_-]+$": {"type": "object", "additionalProperties": false, "properties": {"video_id": {"type": "string"}, "title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "watch_url": {"type": "string"}, "company_slug": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "channel_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "channel_name": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "channel_slug": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "published_date": {"type": "string", "format": "date"}, "published_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "duration_seconds": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "thumbnail_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "comments_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "is_short": {"anyOf": [{"type": "boolean"}, {"type": "null"}]}, "live_status": {"type": "string"}, "category_title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "default_language": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "default_audio_language": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "metrics_observed_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "like_rate": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "comment_rate": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "engagement_rate": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "engagement_per_1k_views": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "views_per_day": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "tags": {"type": "array", "items": {"type": "string"}}, "transcript_available": {"type": "boolean"}, "transcript_length": {"type": "integer"}}, "required": ["video_id", "title", "watch_url", "company_slug", "channel_id", "channel_name", "channel_slug", "published_date", "published_at", "duration_seconds", "thumbnail_url", "views_count", "likes_count", "comments_count", "is_short", "live_status", "category_title", "default_language", "default_audio_language", "metrics_observed_at", "like_rate", "comment_rate", "engagement_rate", "engagement_per_1k_views", "views_per_day", "description", "tags", "transcript_available", "transcript_length"]}}, "additionalProperties": false}}, "required": ["key", "label", "definition", "selection", "companies", "video_count", "distributions", "rankings", "videos"]}}, "required": ["disjoint", "direct_competitors", "similar_stage"]}, "developer_trends": {"type": "object", "additionalProperties": false, "properties": {"included": {"type": "boolean"}, "mode": {"type": "string"}, "window": {"anyOf": [{"type": "object", "additionalProperties": false, "properties": {"start_week": {"type": "string", "format": "date"}, "end_week": {"type": "string", "format": "date"}, "complete_weeks": {"type": "integer"}}, "required": ["start_week", "end_week", "complete_weeks"]}, {"type": "null"}]}, "scopes": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"scope": {"type": "string"}, "competitive_space": {"anyOf": [{"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"]}, {"type": "null"}]}, "summary": {"type": "object", "additionalProperties": false, "properties": {"topic_count": {"type": "integer"}, "mention_count": {"type": "integer"}, "post_count": {"type": "integer"}}, "required": ["topic_count", "mention_count", "post_count"]}, "top_topics": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"topic": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "category": {"type": "string"}}, "required": ["name", "slug", "category"]}, "mention_count": {"type": "integer"}, "post_count": {"type": "integer"}, "company_count_peak": {"type": "integer"}, "weeks_covered": {"type": "integer"}, "latest_week_start": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "latest_mention_count": {"type": "integer"}, "latest_week_over_week_change": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["topic", "mention_count", "post_count", "company_count_peak", "weeks_covered", "latest_week_start", "latest_mention_count", "latest_week_over_week_change"]}}, "emerging_topics": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"topic": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "category": {"type": "string"}}, "required": ["name", "slug", "category"]}, "mention_count": {"type": "integer"}, "post_count": {"type": "integer"}, "company_count_peak": {"type": "integer"}, "weeks_covered": {"type": "integer"}, "latest_week_start": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "latest_mention_count": {"type": "integer"}, "latest_week_over_week_change": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["topic", "mention_count", "post_count", "company_count_peak", "weeks_covered", "latest_week_start", "latest_mention_count", "latest_week_over_week_change"]}}, "last_calculated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}}, "required": ["scope", "competitive_space", "summary", "top_topics", "emerging_topics", "last_calculated_at"]}}}, "required": ["included", "mode", "window", "scopes"]}, "hackernews": {"type": "object", "additionalProperties": false, "properties": {"included": {"type": "boolean"}, "window": {"type": "object", "additionalProperties": false, "properties": {"start_date": {"type": "string", "format": "date"}, "end_date": {"type": "string", "format": "date"}}, "required": ["start_date", "end_date"]}, "ordering": {"type": "string"}, "limit": {"type": "integer"}, "count": {"type": "integer"}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "points": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "num_comments": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "post_date": {"type": "string", "format": "date"}, "submission_url": {"type": "string"}, "title": {"type": "string"}, "author": {"type": "string"}, "company_slug": {"anyOf": [{"type": "string"}, {"type": "null"}]}}, "required": ["url", "points", "num_comments", "post_date", "submission_url", "title", "author", "company_slug"]}}, "comment_coverage": {"type": "object", "additionalProperties": false, "properties": {"covered_count": {"type": "integer"}, "missing_count": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["covered_count", "missing_count", "coverage_percent"]}, "latest_item_date": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}}, "required": ["included", "window", "ordering", "limit", "count", "results", "comment_coverage", "latest_item_date"]}}, "required": ["company", "provenance", "date_range", "freshness", "channels", "target_videos", "cohorts", "developer_trends", "hackernews"]}, "Read_youtube_leaderboard": {"type": "object", "additionalProperties": false, "properties": {"total_count": {"type": "integer"}, "limit": {"type": "integer"}, "offset": {"type": "integer"}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"rank": {"type": "integer"}, "company_name": {"type": "string"}, "company_slug": {"type": "string"}, "current_stage": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "year_founded": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "latest_date": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "subscriber_count": {"type": "integer"}, "videos_count": {"type": "integer"}, "views_count": {"type": "integer"}, "views_per_video": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "baseline_subscriber_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "baseline_videos_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "baseline_views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "subscriber_growth": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "subscriber_growth_percent": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "video_growth": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "video_growth_percent": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "view_growth": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "view_growth_percent": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "channels": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"channel_name": {"type": "string"}, "channel_slug": {"type": "string"}, "channel_id": {"type": "string"}, "channel_url": {"type": "string"}, "is_primary": {"type": "boolean"}, "latest_date": {"type": "string", "format": "date"}, "subscriber_count": {"type": "integer"}, "videos_count": {"type": "integer"}, "views_count": {"type": "integer"}, "views_per_video": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "baseline_date": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "baseline_subscriber_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "baseline_videos_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "baseline_views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "subscriber_growth": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "subscriber_growth_percent": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "video_growth": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "video_growth_percent": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "view_growth": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "view_growth_percent": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["channel_name", "channel_slug", "channel_id", "channel_url", "is_primary", "latest_date", "subscriber_count", "videos_count", "views_count", "views_per_video", "baseline_date", "baseline_subscriber_count", "baseline_videos_count", "baseline_views_count", "subscriber_growth", "subscriber_growth_percent", "video_growth", "video_growth_percent", "view_growth", "view_growth_percent"]}}}, "required": ["rank", "company_name", "company_slug", "current_stage", "year_founded", "latest_date", "subscriber_count", "videos_count", "views_count", "views_per_video", "baseline_subscriber_count", "baseline_videos_count", "baseline_views_count", "subscriber_growth", "subscriber_growth_percent", "video_growth", "video_growth_percent", "view_growth", "view_growth_percent"]}}, "sort": {"type": "string"}, "months": {"type": "integer"}}, "required": ["total_count", "limit", "offset", "results", "sort", "months"]}, "Read_hackernews_list": {"type": "object", "additionalProperties": false, "properties": {"count": {"type": "integer"}, "next": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "previous": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "results": {"type": "array", "items": {"type": "object", "properties": {"url": {"type": "string"}, "points": {"type": ["integer", "null"]}, "num_comments": {"type": ["integer", "null"]}, "post_date": {"type": "string", "format": "date"}, "submission_url": {"type": "string"}, "title": {"type": "string"}, "author": {"type": "string"}, "company_slug": {"type": "string", "readOnly": true}}, "required": ["url", "points", "num_comments", "post_date", "submission_url", "title", "author", "company_slug"], "additionalProperties": false}}}, "required": ["count", "next", "previous", "results"]}, "Read_hackernews_latest": {"type": "object", "properties": {"url": {"type": "string"}, "points": {"type": ["integer", "null"]}, "num_comments": {"type": ["integer", "null"]}, "post_date": {"type": "string", "format": "date"}, "submission_url": {"type": "string"}, "title": {"type": "string"}, "author": {"type": "string"}, "company_slug": {"type": "string", "readOnly": true}}, "required": ["url", "points", "num_comments", "post_date", "submission_url", "title", "author", "company_slug"], "additionalProperties": false}, "Read_global_hackernews": {"type": "object", "additionalProperties": false, "properties": {"count": {"type": "integer"}, "next": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "previous": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "points": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "num_comments": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "post_date": {"type": "string", "format": "date"}, "submission_url": {"type": "string"}, "title": {"type": "string"}, "author": {"type": "string"}, "company_slug": {"anyOf": [{"type": "string"}, {"type": "null"}]}}, "required": ["url", "points", "num_comments", "post_date", "submission_url", "title", "author", "company_slug"]}}}, "required": ["count", "next", "previous", "results"]}, "Read_company_x_accounts": {"type": "object", "additionalProperties": false, "properties": {"company": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"]}, "account_scope": {"type": "string"}, "count": {"type": "integer"}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"company_slug": {"type": "string"}, "account_scope": {"type": "string"}, "account_type": {"type": "string"}, "username": {"type": "string"}, "x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "display_name": {"type": "string"}, "person_name": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "job_title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "biography": {"type": "string"}, "profile_url": {"type": "string"}, "profile_image_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "followers_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "following_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "posts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "is_verified": {"anyOf": [{"type": "boolean"}, {"type": "null"}]}, "verification_type": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "is_primary": {"type": "boolean"}, "is_active": {"type": "boolean"}, "last_collected_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "account_id": {"type": "integer"}, "collection_watermark_post_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "collection_watermark_posted_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "collection": {"type": "object", "additionalProperties": false, "properties": {"last_collected_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "watermark_post_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "watermark_posted_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}}, "required": ["last_collected_at", "watermark_post_id", "watermark_posted_at"]}}, "required": ["company_slug", "account_scope", "account_type", "username", "x_user_id", "display_name", "person_name", "job_title", "biography", "profile_url", "profile_image_url", "followers_count", "following_count", "posts_count", "is_verified", "verification_type", "is_primary", "is_active", "last_collected_at"]}}}, "required": ["company", "account_scope", "count", "results"]}, "Read_company_x_posts": {"type": "object", "additionalProperties": false, "properties": {"count": {"type": "integer"}, "next": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "previous": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "company_slug": {"type": "string"}, "post_type": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}, "external_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "photos": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "url": {"type": "string"}, "type": {"type": "string"}, "media_url": {"type": "string"}, "media_url_https": {"type": "string"}, "expanded_url": {"type": "string"}, "thumbnail": {"type": "string"}, "thumbnail_url": {"type": "string"}, "preview_image_url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}, "duration": {"type": "number"}, "duration_millis": {"type": "integer"}, "alt_text": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}, "variants": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}}}}}}]}}, "videos": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "url": {"type": "string"}, "type": {"type": "string"}, "media_url": {"type": "string"}, "media_url_https": {"type": "string"}, "expanded_url": {"type": "string"}, "thumbnail": {"type": "string"}, "thumbnail_url": {"type": "string"}, "preview_image_url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}, "duration": {"type": "number"}, "duration_millis": {"type": "integer"}, "alt_text": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}, "variants": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}}}}}}]}}, "hashtags": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"text": {"type": "string"}, "tag": {"type": "string"}, "indices": {"type": "array", "items": {"type": "integer"}}}}]}}, "tagged_users": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "id_str": {"type": "string"}, "user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "username": {"type": "string"}, "screen_name": {"type": "string"}, "name": {"type": "string"}, "display_name": {"type": "string"}, "profile_url": {"type": "string"}, "profile_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "url": {"type": "string"}, "indices": {"type": "array", "items": {"type": "integer"}}}}]}}, "quoted_post": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}}}, "reposted_post": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}}}, "parent_post_details": {"type": "object", "additionalProperties": false, "properties": {"conversation_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "in_reply_to_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "post_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "x_post_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "profile_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "user_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "username": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "url": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "text": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "author_username": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}}}, "engagement": {"type": "object", "additionalProperties": false, "properties": {"replies_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}}, "required": ["replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count"]}, "replies_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "first_collected_at": {"type": "string", "format": "date-time"}, "last_collected_at": {"type": "string", "format": "date-time"}, "account": {"type": "object", "additionalProperties": false, "properties": {"account_scope": {"type": "string"}, "account_type": {"type": "string"}, "username": {"type": "string"}, "display_name": {"type": "string"}, "person_name": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "job_title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "is_primary": {"type": "boolean"}, "is_active": {"type": "boolean"}, "account_id": {"type": "integer"}}, "required": ["account_scope", "account_type", "username", "display_name", "person_name", "job_title", "is_primary", "is_active"]}}, "required": ["x_post_id", "company_slug", "post_type", "author_x_user_id", "author_username", "author_display_name", "url", "text", "posted_at", "external_url", "photos", "videos", "hashtags", "tagged_users", "quoted_post", "reposted_post", "parent_post_details", "engagement", "replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count", "first_collected_at", "last_collected_at", "account"]}}}, "required": ["count", "next", "previous", "results"]}, "Read_company_x_post_detail": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "company_slug": {"type": "string"}, "post_type": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}, "external_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "photos": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "url": {"type": "string"}, "type": {"type": "string"}, "media_url": {"type": "string"}, "media_url_https": {"type": "string"}, "expanded_url": {"type": "string"}, "thumbnail": {"type": "string"}, "thumbnail_url": {"type": "string"}, "preview_image_url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}, "duration": {"type": "number"}, "duration_millis": {"type": "integer"}, "alt_text": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}, "variants": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}}}}}}]}}, "videos": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "url": {"type": "string"}, "type": {"type": "string"}, "media_url": {"type": "string"}, "media_url_https": {"type": "string"}, "expanded_url": {"type": "string"}, "thumbnail": {"type": "string"}, "thumbnail_url": {"type": "string"}, "preview_image_url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}, "duration": {"type": "number"}, "duration_millis": {"type": "integer"}, "alt_text": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}, "variants": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}}}}}}]}}, "hashtags": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"text": {"type": "string"}, "tag": {"type": "string"}, "indices": {"type": "array", "items": {"type": "integer"}}}}]}}, "tagged_users": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "id_str": {"type": "string"}, "user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "username": {"type": "string"}, "screen_name": {"type": "string"}, "name": {"type": "string"}, "display_name": {"type": "string"}, "profile_url": {"type": "string"}, "profile_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "url": {"type": "string"}, "indices": {"type": "array", "items": {"type": "integer"}}}}]}}, "quoted_post": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}}}, "reposted_post": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}}}, "parent_post_details": {"type": "object", "additionalProperties": false, "properties": {"conversation_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "in_reply_to_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "post_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "x_post_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "profile_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "user_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "username": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "url": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "text": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "author_username": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}}}, "engagement": {"type": "object", "additionalProperties": false, "properties": {"replies_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}}, "required": ["replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count"]}, "replies_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "first_collected_at": {"type": "string", "format": "date-time"}, "last_collected_at": {"type": "string", "format": "date-time"}, "account": {"type": "object", "additionalProperties": false, "properties": {"account_scope": {"type": "string"}, "account_type": {"type": "string"}, "username": {"type": "string"}, "display_name": {"type": "string"}, "person_name": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "job_title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "is_primary": {"type": "boolean"}, "is_active": {"type": "boolean"}, "account_id": {"type": "integer"}}, "required": ["account_scope", "account_type", "username", "display_name", "person_name", "job_title", "is_primary", "is_active"]}}, "required": ["x_post_id", "company_slug", "post_type", "author_x_user_id", "author_username", "author_display_name", "url", "text", "posted_at", "external_url", "photos", "videos", "hashtags", "tagged_users", "quoted_post", "reposted_post", "parent_post_details", "engagement", "replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count", "first_collected_at", "last_collected_at", "account"]}, "Read_company_x_summary": {"type": "object", "additionalProperties": false, "properties": {"company": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"]}, "account_scope": {"type": "string"}, "post_count": {"type": "integer"}, "account_counts": {"type": "object", "additionalProperties": false, "properties": {"selected": {"type": "integer"}, "active": {"type": "integer"}, "with_posts": {"type": "integer"}}, "required": ["selected", "active", "with_posts"]}, "metrics": {"type": "object", "additionalProperties": false, "properties": {"replies": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "average": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "covered_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["total", "average", "covered_posts", "missing_posts", "coverage_percent"]}, "reposts": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "average": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "covered_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["total", "average", "covered_posts", "missing_posts", "coverage_percent"]}, "likes": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "average": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "covered_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["total", "average", "covered_posts", "missing_posts", "coverage_percent"]}, "views": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "average": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "covered_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["total", "average", "covered_posts", "missing_posts", "coverage_percent"]}, "quotes": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "average": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "covered_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["total", "average", "covered_posts", "missing_posts", "coverage_percent"]}, "bookmarks": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "average": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "covered_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["total", "average", "covered_posts", "missing_posts", "coverage_percent"]}}, "required": ["replies", "reposts", "likes", "views", "quotes", "bookmarks"]}, "metric_totals": {"type": "object", "additionalProperties": false, "properties": {"replies_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}}, "required": ["replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count"]}, "metric_averages": {"type": "object", "additionalProperties": false, "properties": {"replies_count": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count"]}, "metric_coverage": {"type": "object", "additionalProperties": false, "properties": {"replies_count": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["eligible_posts", "missing_posts", "coverage_percent"]}, "reposts_count": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["eligible_posts", "missing_posts", "coverage_percent"]}, "likes_count": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["eligible_posts", "missing_posts", "coverage_percent"]}, "views_count": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["eligible_posts", "missing_posts", "coverage_percent"]}, "quotes_count": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["eligible_posts", "missing_posts", "coverage_percent"]}, "bookmarks_count": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["eligible_posts", "missing_posts", "coverage_percent"]}}, "required": ["replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count"]}, "effective_range": {"type": "object", "additionalProperties": false, "properties": {"start_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "end_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "observed_earliest_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "observed_latest_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "free_history_cutoff": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}}, "required": ["start_at", "end_at", "observed_earliest_at", "observed_latest_at", "free_history_cutoff"]}, "latest_collection_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}}, "required": ["company", "account_scope", "post_count", "account_counts", "metrics", "metric_totals", "metric_averages", "metric_coverage", "effective_range", "latest_collection_at"]}, "Read_company_x_high_engagement": {"type": "object", "additionalProperties": false, "properties": {"target_company": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"]}, "target_excluded": {"type": "boolean"}, "account_scope": {"type": "string"}, "limit_per_ranking": {"type": "integer"}, "effective_range": {"type": "object", "additionalProperties": false, "properties": {"start_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "end_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}}, "required": ["start_at", "end_at"]}, "stage_groups": {"type": "array", "items": {"type": "string"}}, "cohorts": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "definition": {"type": "object", "additionalProperties": false, "properties": {"space_slugs": {"type": "array", "items": {"type": "string"}}, "normalized_stage": {"type": "string"}}}, "company_count": {"type": "integer"}, "post_count": {"type": "integer"}, "coverage": {"type": "object", "additionalProperties": false, "properties": {"likes": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}}, "required": ["eligible_posts", "missing_posts"]}, "reposts": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}}, "required": ["eligible_posts", "missing_posts"]}}, "required": ["likes", "reposts"]}, "top_by_likes": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"post_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"type": "integer"}, "metric": {"type": "string"}, "metric_value": {"type": "integer"}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["post_id", "rank", "value", "metric", "metric_value", "percentile_rank"]}}, "top_by_reposts": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"post_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"type": "integer"}, "metric": {"type": "string"}, "metric_value": {"type": "integer"}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["post_id", "rank", "value", "metric", "metric_value", "percentile_rank"]}}}, "required": ["key", "label", "definition", "company_count", "post_count", "coverage", "top_by_likes", "top_by_reposts"]}}, "posts": {"type": "object", "patternProperties": {"^[0-9]+$": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "company_slug": {"type": "string"}, "post_type": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}, "external_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "photos": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "url": {"type": "string"}, "type": {"type": "string"}, "media_url": {"type": "string"}, "media_url_https": {"type": "string"}, "expanded_url": {"type": "string"}, "thumbnail": {"type": "string"}, "thumbnail_url": {"type": "string"}, "preview_image_url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}, "duration": {"type": "number"}, "duration_millis": {"type": "integer"}, "alt_text": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}, "variants": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}}}}}}]}}, "videos": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "url": {"type": "string"}, "type": {"type": "string"}, "media_url": {"type": "string"}, "media_url_https": {"type": "string"}, "expanded_url": {"type": "string"}, "thumbnail": {"type": "string"}, "thumbnail_url": {"type": "string"}, "preview_image_url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}, "duration": {"type": "number"}, "duration_millis": {"type": "integer"}, "alt_text": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}, "variants": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}}}}}}]}}, "hashtags": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"text": {"type": "string"}, "tag": {"type": "string"}, "indices": {"type": "array", "items": {"type": "integer"}}}}]}}, "tagged_users": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "id_str": {"type": "string"}, "user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "username": {"type": "string"}, "screen_name": {"type": "string"}, "name": {"type": "string"}, "display_name": {"type": "string"}, "profile_url": {"type": "string"}, "profile_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "url": {"type": "string"}, "indices": {"type": "array", "items": {"type": "integer"}}}}]}}, "quoted_post": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}}}, "reposted_post": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}}}, "parent_post_details": {"type": "object", "additionalProperties": false, "properties": {"conversation_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "in_reply_to_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "post_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "x_post_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "profile_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "user_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "username": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "url": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "text": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "author_username": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}}}, "engagement": {"type": "object", "additionalProperties": false, "properties": {"replies_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}}, "required": ["replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count"]}, "replies_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "first_collected_at": {"type": "string", "format": "date-time"}, "last_collected_at": {"type": "string", "format": "date-time"}, "account": {"type": "object", "additionalProperties": false, "properties": {"account_scope": {"type": "string"}, "account_type": {"type": "string"}, "username": {"type": "string"}, "display_name": {"type": "string"}, "person_name": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "job_title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "is_primary": {"type": "boolean"}, "is_active": {"type": "boolean"}, "account_id": {"type": "integer"}}, "required": ["account_scope", "account_type", "username", "display_name", "person_name", "job_title", "is_primary", "is_active"]}}, "required": ["x_post_id", "company_slug", "post_type", "author_x_user_id", "author_username", "author_display_name", "url", "text", "posted_at", "external_url", "photos", "videos", "hashtags", "tagged_users", "quoted_post", "reposted_post", "parent_post_details", "engagement", "replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count", "first_collected_at", "last_collected_at", "account"]}}, "additionalProperties": false}}, "required": ["target_company", "target_excluded", "account_scope", "limit_per_ranking", "effective_range", "stage_groups", "cohorts", "posts"]}, "Read_company_x_research": {"type": "object", "additionalProperties": false, "properties": {"company": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"]}, "provenance": {"type": "object", "additionalProperties": false, "properties": {"source": {"type": "string"}, "generated_advice": {"type": "boolean"}, "recommendations_are_calling_model_responsibility": {"type": "boolean"}}, "required": ["source", "generated_advice", "recommendations_are_calling_model_responsibility"]}, "x": {"type": "object", "additionalProperties": false, "properties": {"effective_window": {"type": "object", "additionalProperties": false, "properties": {"start_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "end_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}}, "required": ["start_at", "end_at"]}, "account_scope": {"type": "string"}, "posts": {"type": "object", "additionalProperties": false, "properties": {"total_count": {"type": "integer"}, "returned_count": {"type": "integer"}, "limit": {"type": "integer"}, "truncated": {"type": "boolean"}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "company_slug": {"type": "string"}, "post_type": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}, "external_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "photos": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "url": {"type": "string"}, "type": {"type": "string"}, "media_url": {"type": "string"}, "media_url_https": {"type": "string"}, "expanded_url": {"type": "string"}, "thumbnail": {"type": "string"}, "thumbnail_url": {"type": "string"}, "preview_image_url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}, "duration": {"type": "number"}, "duration_millis": {"type": "integer"}, "alt_text": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}, "variants": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}}}}}}]}}, "videos": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "url": {"type": "string"}, "type": {"type": "string"}, "media_url": {"type": "string"}, "media_url_https": {"type": "string"}, "expanded_url": {"type": "string"}, "thumbnail": {"type": "string"}, "thumbnail_url": {"type": "string"}, "preview_image_url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}, "duration": {"type": "number"}, "duration_millis": {"type": "integer"}, "alt_text": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}, "variants": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}}}}}}]}}, "hashtags": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"text": {"type": "string"}, "tag": {"type": "string"}, "indices": {"type": "array", "items": {"type": "integer"}}}}]}}, "tagged_users": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "id_str": {"type": "string"}, "user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "username": {"type": "string"}, "screen_name": {"type": "string"}, "name": {"type": "string"}, "display_name": {"type": "string"}, "profile_url": {"type": "string"}, "profile_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "url": {"type": "string"}, "indices": {"type": "array", "items": {"type": "integer"}}}}]}}, "quoted_post": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}}}, "reposted_post": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}}}, "parent_post_details": {"type": "object", "additionalProperties": false, "properties": {"conversation_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "in_reply_to_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "post_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "x_post_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "profile_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "user_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "username": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "url": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "text": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "author_username": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}}}, "engagement": {"type": "object", "additionalProperties": false, "properties": {"replies_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}}, "required": ["replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count"]}, "replies_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "first_collected_at": {"type": "string", "format": "date-time"}, "last_collected_at": {"type": "string", "format": "date-time"}, "account": {"type": "object", "additionalProperties": false, "properties": {"account_scope": {"type": "string"}, "account_type": {"type": "string"}, "username": {"type": "string"}, "display_name": {"type": "string"}, "person_name": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "job_title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "is_primary": {"type": "boolean"}, "is_active": {"type": "boolean"}, "account_id": {"type": "integer"}}, "required": ["account_scope", "account_type", "username", "display_name", "person_name", "job_title", "is_primary", "is_active"]}}, "required": ["x_post_id", "company_slug", "post_type", "author_x_user_id", "author_username", "author_display_name", "url", "text", "posted_at", "external_url", "photos", "videos", "hashtags", "tagged_users", "quoted_post", "reposted_post", "parent_post_details", "engagement", "replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count", "first_collected_at", "last_collected_at", "account"]}}}, "required": ["total_count", "returned_count", "limit", "truncated", "results"]}, "summary": {"type": "object", "additionalProperties": false, "properties": {"company": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"]}, "account_scope": {"type": "string"}, "post_count": {"type": "integer"}, "account_counts": {"type": "object", "additionalProperties": false, "properties": {"selected": {"type": "integer"}, "active": {"type": "integer"}, "with_posts": {"type": "integer"}}, "required": ["selected", "active", "with_posts"]}, "metrics": {"type": "object", "additionalProperties": false, "properties": {"replies": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "average": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "covered_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["total", "average", "covered_posts", "missing_posts", "coverage_percent"]}, "reposts": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "average": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "covered_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["total", "average", "covered_posts", "missing_posts", "coverage_percent"]}, "likes": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "average": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "covered_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["total", "average", "covered_posts", "missing_posts", "coverage_percent"]}, "views": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "average": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "covered_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["total", "average", "covered_posts", "missing_posts", "coverage_percent"]}, "quotes": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "average": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "covered_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["total", "average", "covered_posts", "missing_posts", "coverage_percent"]}, "bookmarks": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "average": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "covered_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["total", "average", "covered_posts", "missing_posts", "coverage_percent"]}}, "required": ["replies", "reposts", "likes", "views", "quotes", "bookmarks"]}, "metric_totals": {"type": "object", "additionalProperties": false, "properties": {"replies_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}}, "required": ["replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count"]}, "metric_averages": {"type": "object", "additionalProperties": false, "properties": {"replies_count": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count"]}, "metric_coverage": {"type": "object", "additionalProperties": false, "properties": {"replies_count": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["eligible_posts", "missing_posts", "coverage_percent"]}, "reposts_count": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["eligible_posts", "missing_posts", "coverage_percent"]}, "likes_count": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["eligible_posts", "missing_posts", "coverage_percent"]}, "views_count": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["eligible_posts", "missing_posts", "coverage_percent"]}, "quotes_count": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["eligible_posts", "missing_posts", "coverage_percent"]}, "bookmarks_count": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}, "coverage_percent": {"type": "number"}}, "required": ["eligible_posts", "missing_posts", "coverage_percent"]}}, "required": ["replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count"]}, "effective_range": {"type": "object", "additionalProperties": false, "properties": {"start_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "end_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "observed_earliest_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "observed_latest_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "free_history_cutoff": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}}, "required": ["start_at", "end_at", "observed_earliest_at", "observed_latest_at", "free_history_cutoff"]}, "latest_collection_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}}, "required": ["company", "account_scope", "post_count", "account_counts", "metrics", "metric_totals", "metric_averages", "metric_coverage", "effective_range", "latest_collection_at"]}, "peer_benchmarks": {"type": "object", "additionalProperties": false, "properties": {"target_company": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"]}, "target_excluded": {"type": "boolean"}, "account_scope": {"type": "string"}, "limit_per_ranking": {"type": "integer"}, "effective_range": {"type": "object", "additionalProperties": false, "properties": {"start_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "end_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}}, "required": ["start_at", "end_at"]}, "stage_groups": {"type": "array", "items": {"type": "string"}}, "cohorts": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"key": {"type": "string"}, "label": {"type": "string"}, "definition": {"type": "object", "additionalProperties": false, "properties": {"space_slugs": {"type": "array", "items": {"type": "string"}}, "normalized_stage": {"type": "string"}}}, "company_count": {"type": "integer"}, "post_count": {"type": "integer"}, "coverage": {"type": "object", "additionalProperties": false, "properties": {"likes": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}}, "required": ["eligible_posts", "missing_posts"]}, "reposts": {"type": "object", "additionalProperties": false, "properties": {"eligible_posts": {"type": "integer"}, "missing_posts": {"type": "integer"}}, "required": ["eligible_posts", "missing_posts"]}}, "required": ["likes", "reposts"]}, "top_by_likes": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"post_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"type": "integer"}, "metric": {"type": "string"}, "metric_value": {"type": "integer"}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["post_id", "rank", "value", "metric", "metric_value", "percentile_rank"]}}, "top_by_reposts": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"post_id": {"type": "string"}, "rank": {"type": "integer"}, "value": {"type": "integer"}, "metric": {"type": "string"}, "metric_value": {"type": "integer"}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "percentile_rank": {"type": "number"}}, "required": ["post_id", "rank", "value", "metric", "metric_value", "percentile_rank"]}}}, "required": ["key", "label", "definition", "company_count", "post_count", "coverage", "top_by_likes", "top_by_reposts"]}}, "posts": {"type": "object", "patternProperties": {"^[0-9]+$": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "company_slug": {"type": "string"}, "post_type": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}, "external_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "photos": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "url": {"type": "string"}, "type": {"type": "string"}, "media_url": {"type": "string"}, "media_url_https": {"type": "string"}, "expanded_url": {"type": "string"}, "thumbnail": {"type": "string"}, "thumbnail_url": {"type": "string"}, "preview_image_url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}, "duration": {"type": "number"}, "duration_millis": {"type": "integer"}, "alt_text": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}, "variants": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}}}}}}]}}, "videos": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "url": {"type": "string"}, "type": {"type": "string"}, "media_url": {"type": "string"}, "media_url_https": {"type": "string"}, "expanded_url": {"type": "string"}, "thumbnail": {"type": "string"}, "thumbnail_url": {"type": "string"}, "preview_image_url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}, "duration": {"type": "number"}, "duration_millis": {"type": "integer"}, "alt_text": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}, "variants": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}}}}}}]}}, "hashtags": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"text": {"type": "string"}, "tag": {"type": "string"}, "indices": {"type": "array", "items": {"type": "integer"}}}}]}}, "tagged_users": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "id_str": {"type": "string"}, "user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "username": {"type": "string"}, "screen_name": {"type": "string"}, "name": {"type": "string"}, "display_name": {"type": "string"}, "profile_url": {"type": "string"}, "profile_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "url": {"type": "string"}, "indices": {"type": "array", "items": {"type": "integer"}}}}]}}, "quoted_post": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}}}, "reposted_post": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}}}, "parent_post_details": {"type": "object", "additionalProperties": false, "properties": {"conversation_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "in_reply_to_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "post_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "x_post_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "profile_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "user_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "username": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "url": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "text": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "author_username": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}}}, "engagement": {"type": "object", "additionalProperties": false, "properties": {"replies_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}}, "required": ["replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count"]}, "replies_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "first_collected_at": {"type": "string", "format": "date-time"}, "last_collected_at": {"type": "string", "format": "date-time"}, "account": {"type": "object", "additionalProperties": false, "properties": {"account_scope": {"type": "string"}, "account_type": {"type": "string"}, "username": {"type": "string"}, "display_name": {"type": "string"}, "person_name": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "job_title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "is_primary": {"type": "boolean"}, "is_active": {"type": "boolean"}, "account_id": {"type": "integer"}}, "required": ["account_scope", "account_type", "username", "display_name", "person_name", "job_title", "is_primary", "is_active"]}}, "required": ["x_post_id", "company_slug", "post_type", "author_x_user_id", "author_username", "author_display_name", "url", "text", "posted_at", "external_url", "photos", "videos", "hashtags", "tagged_users", "quoted_post", "reposted_post", "parent_post_details", "engagement", "replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count", "first_collected_at", "last_collected_at", "account"]}}, "additionalProperties": false}}, "required": ["target_company", "target_excluded", "account_scope", "limit_per_ranking", "effective_range", "stage_groups", "cohorts", "posts"]}, "staleness": {"type": "object", "additionalProperties": false, "properties": {"account_last_collected_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "post_last_collected_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}}, "required": ["account_last_collected_at", "post_last_collected_at"]}}, "required": ["effective_window", "account_scope", "posts", "summary", "peer_benchmarks", "staleness"]}, "hackernews": {"type": "object", "additionalProperties": false, "properties": {"window": {"type": "object", "additionalProperties": false, "properties": {"start_date": {"type": "string", "format": "date"}, "end_date": {"type": "string", "format": "date"}}, "required": ["start_date", "end_date"]}, "ordering": {"type": "string"}, "limit": {"type": "integer"}, "count": {"type": "integer"}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "points": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "num_comments": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "post_date": {"type": "string", "format": "date"}, "submission_url": {"type": "string"}, "title": {"type": "string"}, "author": {"type": "string"}, "company_slug": {"anyOf": [{"type": "string"}, {"type": "null"}]}}, "required": ["url", "points", "num_comments", "post_date", "submission_url", "title", "author", "company_slug"]}}, "latest_item_date": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "staleness": {"type": "object", "additionalProperties": false, "properties": {"last_collected_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "latest_item_date": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}}, "required": ["last_collected_at", "latest_item_date"]}}, "required": ["window", "ordering", "limit", "count", "results", "latest_item_date", "staleness"]}, "developer_trends": {"type": "object", "additionalProperties": false, "properties": {"mode": {"type": "string"}, "window": {"type": "object", "additionalProperties": false, "properties": {"start_week": {"type": "string", "format": "date"}, "end_week": {"type": "string", "format": "date"}, "complete_weeks": {"type": "integer"}}, "required": ["start_week", "end_week", "complete_weeks"]}, "scopes": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"scope": {"type": "string"}, "competitive_space": {"anyOf": [{"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"]}, {"type": "null"}]}, "summary": {"type": "object", "additionalProperties": false, "properties": {"topic_count": {"type": "integer"}, "mention_count": {"type": "integer"}, "post_count": {"type": "integer"}}, "required": ["topic_count", "mention_count", "post_count"]}, "top_topics": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"topic": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "category": {"type": "string"}}, "required": ["name", "slug", "category"]}, "mention_count": {"type": "integer"}, "post_count": {"type": "integer"}, "company_count_peak": {"type": "integer"}, "weeks_covered": {"type": "integer"}, "latest_week_start": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "latest_mention_count": {"type": "integer"}, "latest_week_over_week_change": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["topic", "mention_count", "post_count", "company_count_peak", "weeks_covered", "latest_week_start", "latest_mention_count", "latest_week_over_week_change"]}}, "emerging_topics": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"topic": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "category": {"type": "string"}}, "required": ["name", "slug", "category"]}, "mention_count": {"type": "integer"}, "post_count": {"type": "integer"}, "company_count_peak": {"type": "integer"}, "weeks_covered": {"type": "integer"}, "latest_week_start": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "latest_mention_count": {"type": "integer"}, "latest_week_over_week_change": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["topic", "mention_count", "post_count", "company_count_peak", "weeks_covered", "latest_week_start", "latest_mention_count", "latest_week_over_week_change"]}}, "last_calculated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}}, "required": ["scope", "competitive_space", "summary", "top_topics", "emerging_topics", "last_calculated_at"]}}}, "required": ["mode", "window", "scopes"]}}, "required": ["company", "provenance", "x", "hackernews", "developer_trends"]}, "Read_global_x_posts": {"type": "object", "additionalProperties": false, "properties": {"count": {"type": "integer"}, "next": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "previous": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "company_slug": {"type": "string"}, "post_type": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}, "external_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "photos": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "url": {"type": "string"}, "type": {"type": "string"}, "media_url": {"type": "string"}, "media_url_https": {"type": "string"}, "expanded_url": {"type": "string"}, "thumbnail": {"type": "string"}, "thumbnail_url": {"type": "string"}, "preview_image_url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}, "duration": {"type": "number"}, "duration_millis": {"type": "integer"}, "alt_text": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}, "variants": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}}}}}}]}}, "videos": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "url": {"type": "string"}, "type": {"type": "string"}, "media_url": {"type": "string"}, "media_url_https": {"type": "string"}, "expanded_url": {"type": "string"}, "thumbnail": {"type": "string"}, "thumbnail_url": {"type": "string"}, "preview_image_url": {"type": "string"}, "width": {"type": "integer"}, "height": {"type": "integer"}, "duration": {"type": "number"}, "duration_millis": {"type": "integer"}, "alt_text": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}, "variants": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"url": {"type": "string"}, "bitrate": {"type": "integer"}, "content_type": {"type": "string"}}}}}}]}}, "hashtags": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"text": {"type": "string"}, "tag": {"type": "string"}, "indices": {"type": "array", "items": {"type": "integer"}}}}]}}, "tagged_users": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "object", "additionalProperties": false, "properties": {"id": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "id_str": {"type": "string"}, "user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "username": {"type": "string"}, "screen_name": {"type": "string"}, "name": {"type": "string"}, "display_name": {"type": "string"}, "profile_url": {"type": "string"}, "profile_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "url": {"type": "string"}, "indices": {"type": "array", "items": {"type": "integer"}}}}]}}, "quoted_post": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}}}, "reposted_post": {"type": "object", "additionalProperties": false, "properties": {"x_post_id": {"type": "string"}, "url": {"type": "string"}, "text": {"type": "string"}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "author_username": {"type": "string"}, "author_display_name": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}}}, "parent_post_details": {"type": "object", "additionalProperties": false, "properties": {"conversation_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "in_reply_to_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "post_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "x_post_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "profile_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "user_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "username": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "url": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "text": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "author_username": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}, "author_x_user_id": {"anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "null"}]}}}, "engagement": {"type": "object", "additionalProperties": false, "properties": {"replies_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}}, "required": ["replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count"]}, "replies_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "likes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "quotes_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "bookmarks_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "first_collected_at": {"type": "string", "format": "date-time"}, "last_collected_at": {"type": "string", "format": "date-time"}, "account": {"type": "object", "additionalProperties": false, "properties": {"account_scope": {"type": "string"}, "account_type": {"type": "string"}, "username": {"type": "string"}, "display_name": {"type": "string"}, "person_name": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "job_title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "is_primary": {"type": "boolean"}, "is_active": {"type": "boolean"}, "account_id": {"type": "integer"}}, "required": ["account_scope", "account_type", "username", "display_name", "person_name", "job_title", "is_primary", "is_active"]}}, "required": ["x_post_id", "company_slug", "post_type", "author_x_user_id", "author_username", "author_display_name", "url", "text", "posted_at", "external_url", "photos", "videos", "hashtags", "tagged_users", "quoted_post", "reposted_post", "parent_post_details", "engagement", "replies_count", "reposts_count", "likes_count", "views_count", "quotes_count", "bookmarks_count", "first_collected_at", "last_collected_at", "account"]}}}, "required": ["count", "next", "previous", "results"]}, "Read_company_linkedin_summary": {"type": "object", "additionalProperties": false, "properties": {"company": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"]}, "accounts": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"id": {"type": "integer"}, "label": {"type": "string"}, "url": {"type": "string"}, "type": {"type": "string"}, "is_primary": {"type": "boolean"}, "followers_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "posts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "last_collected_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}}, "required": ["id", "label", "url", "type", "is_primary", "followers_count", "posts_count", "last_collected_at"]}}, "totals": {"type": "object", "additionalProperties": false, "properties": {"post_count": {"type": "integer"}, "reactions_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "comments_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}}, "required": ["post_count", "reactions_count", "comments_count", "reposts_count"]}, "monthly_activity": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"month": {"type": "string", "format": "date-time"}, "post_count": {"type": "integer"}, "reactions_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "comments_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}}, "required": ["month", "post_count", "reactions_count", "comments_count", "reposts_count"]}}}, "required": ["company", "accounts", "totals", "monthly_activity"]}, "Read_company_linkedin_posts": {"type": "object", "additionalProperties": false, "properties": {"count": {"type": "integer"}, "next": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "previous": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "results": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"linkedin_post_id": {"type": "string"}, "account_id": {"type": "integer"}, "url": {"type": "string"}, "text": {"type": "string"}, "posted_at": {"type": "string", "format": "date-time"}, "post_type": {"type": "string"}, "author_display_name": {"type": "string"}, "author_profile_url": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "reactions_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "comments_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "reposts_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}}, "required": ["linkedin_post_id", "account_id", "url", "text", "posted_at", "post_type", "author_display_name", "author_profile_url", "reactions_count", "comments_count", "reposts_count"]}}}, "required": ["count", "next", "previous", "results"]}, "Read_trend_report_list": {"type": "object", "additionalProperties": false, "properties": {"count": {"type": "integer"}, "next": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "previous": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "results": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "title": {"type": "string", "readOnly": true}, "slug": {"type": "string", "readOnly": true}, "description": {"type": ["string", "null"], "readOnly": true}, "access_level": {"type": "string", "enum": ["staff", "lead", "accelerate", "free", "public"], "readOnly": true}, "free_preview_character_limit": {"type": ["integer", "null"], "readOnly": true}, "report_date": {"type": "string", "format": "date", "readOnly": true}, "companies": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"], "additionalProperties": false, "readOnly": true}, "readOnly": true}, "competitive_spaces": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"], "additionalProperties": false, "readOnly": true}, "readOnly": true}, "trend_topics": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"], "additionalProperties": false, "readOnly": true}, "readOnly": true}, "created_at": {"type": "string", "format": "date-time", "readOnly": true}, "updated_at": {"type": "string", "format": "date-time", "readOnly": true}}, "required": ["id", "title", "slug", "description", "access_level", "free_preview_character_limit", "report_date", "companies", "competitive_spaces", "trend_topics", "created_at", "updated_at"], "additionalProperties": false}}}, "required": ["count", "next", "previous", "results"]}, "Read_trend_report_detail": {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "title": {"type": "string", "readOnly": true}, "slug": {"type": "string", "readOnly": true}, "description": {"type": ["string", "null"], "readOnly": true}, "access_level": {"type": "string", "enum": ["staff", "lead", "accelerate", "free", "public"], "readOnly": true}, "free_preview_character_limit": {"type": ["integer", "null"], "readOnly": true}, "report_date": {"type": "string", "format": "date", "readOnly": true}, "companies": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"], "additionalProperties": false, "readOnly": true}, "readOnly": true}, "competitive_spaces": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"], "additionalProperties": false, "readOnly": true}, "readOnly": true}, "trend_topics": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["name", "slug"], "additionalProperties": false, "readOnly": true}, "readOnly": true}, "created_at": {"type": "string", "format": "date-time", "readOnly": true}, "updated_at": {"type": "string", "format": "date-time", "readOnly": true}, "content": {"type": "string", "readOnly": true}}, "required": ["id", "title", "slug", "description", "access_level", "free_preview_character_limit", "report_date", "companies", "competitive_spaces", "trend_topics", "created_at", "updated_at", "content"], "additionalProperties": false}, "Read_competitive_space_list": {"type": "object", "additionalProperties": false, "properties": {"count": {"type": "integer"}, "next": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "previous": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "results": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string", "readOnly": true}, "slug": {"type": "string", "readOnly": true}, "description": {"type": ["string", "null"], "readOnly": true}, "space_type": {"type": "string", "enum": ["AI", "DATA", "INFR", "OTHR", "TOOL"], "readOnly": true}, "company_count": {"type": "integer", "readOnly": true}}, "required": ["name", "slug", "description", "space_type", "company_count"], "additionalProperties": false}}}, "required": ["count", "next", "previous", "results"]}, "Read_competitive_space_detail": {"type": "object", "properties": {"name": {"type": "string", "readOnly": true}, "slug": {"type": "string", "readOnly": true}, "description": {"type": ["string", "null"], "readOnly": true}, "verbose_description": {"type": ["string", "null"], "readOnly": true}, "space_type": {"type": "string", "enum": ["AI", "DATA", "INFR", "OTHR", "TOOL"], "readOnly": true}, "company_count": {"type": "integer", "readOnly": true}, "companies": {"type": "array", "items": {"type": "object", "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "current_stage": {"type": ["string", "null"]}, "year_founded": {"type": ["integer", "null"]}, "public": {"type": "boolean"}}, "required": ["name", "slug", "current_stage", "year_founded", "public"], "additionalProperties": false, "readOnly": true}, "readOnly": true}}, "required": ["name", "slug", "description", "verbose_description", "space_type", "company_count", "companies"], "additionalProperties": false}, "Read_competitive_space_trends": {"type": "object", "additionalProperties": false, "properties": {"competitive_space": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "space_type": {"type": "string"}}, "required": ["name", "slug"]}, "granularity": {"type": "string"}, "source": {"type": "string"}, "account_type": {"type": "string"}, "selected_period": {"anyOf": [{"type": "object", "additionalProperties": false, "properties": {"start": {"type": "string", "format": "date"}, "end": {"anyOf": [{"type": "string", "format": "date"}, {"type": "null"}]}, "reconstructed": {"type": "boolean"}}, "required": ["start", "end", "reconstructed"]}, {"type": "null"}]}, "available_periods": {"type": "array", "items": {"type": "string", "format": "date"}}, "core": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"rank": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "topic": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}}, "tier": {"type": "string"}, "composite_score": {"type": "number"}, "components": {"type": "object", "additionalProperties": false, "properties": {"strategic": {"type": "number"}, "adoption": {"type": "number"}, "attention": {"type": "number"}, "momentum": {"type": "number"}}}, "rank_change": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "tier_change": {"anyOf": [{"type": "boolean"}, {"type": "null"}]}, "score_change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "rationale": {"type": "string"}, "confidence": {"type": "number"}, "history": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"period": {"type": "string", "format": "date"}, "score": {"type": "number"}}}}, "reconstructed": {"type": "boolean"}}, "required": ["rank", "topic", "tier", "composite_score", "history"]}}, "important": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"rank": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "topic": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}}, "tier": {"type": "string"}, "composite_score": {"type": "number"}, "components": {"type": "object", "additionalProperties": false, "properties": {"strategic": {"type": "number"}, "adoption": {"type": "number"}, "attention": {"type": "number"}, "momentum": {"type": "number"}}}, "rank_change": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "tier_change": {"anyOf": [{"type": "boolean"}, {"type": "null"}]}, "score_change": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "rationale": {"type": "string"}, "confidence": {"type": "number"}, "history": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"period": {"type": "string", "format": "date"}, "score": {"type": "number"}}}}, "reconstructed": {"type": "boolean"}}, "required": ["rank", "topic", "tier", "composite_score", "history"]}}}, "required": ["competitive_space", "granularity", "source", "account_type", "selected_period", "available_periods", "core", "important"]}, "Read_competitive_space_comparison": {"type": "object", "additionalProperties": false, "properties": {"companies": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}}}, "start_year": {"type": "integer"}, "competitive_space": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "space_type": {"type": "string"}}, "required": ["name", "slug", "description", "space_type"]}, "sections": {"type": "object", "additionalProperties": false, "properties": {"blog": {"type": "object", "additionalProperties": false, "properties": {"time_series": {"type": "object", "additionalProperties": false, "properties": {"months": {"type": "array", "items": {"type": "string"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["months", "series"]}, "summary": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "total_blog_posts": {"type": "integer"}, "average_blog_posts": {"type": "number"}}, "required": ["name", "slug", "total_blog_posts", "average_blog_posts"]}}}, "required": ["time_series", "summary"]}, "youtube": {"type": "object", "additionalProperties": false, "properties": {"time_series": {"type": "object", "additionalProperties": false, "properties": {"dates": {"type": "array", "items": {"type": "string"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["dates", "series"]}, "summary": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"company_name": {"type": "string"}, "company_slug": {"type": "string"}, "channel_name": {"type": "string"}, "channel_id": {"type": "string"}, "date": {"type": "string", "format": "date"}, "subscriber_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "videos_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "views_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "share_of_leader_percent": {"anyOf": [{"type": "number"}, {"type": "null"}]}}, "required": ["company_name", "company_slug", "channel_name", "channel_id", "date", "subscriber_count", "videos_count", "views_count", "share_of_leader_percent"]}}}, "required": ["time_series", "summary"]}, "hackernews": {"type": "object", "additionalProperties": false, "properties": {"time_series": {"type": "object", "additionalProperties": false, "properties": {"months": {"type": "array", "items": {"type": "string"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["months", "series"]}, "points_threshold": {"type": "integer"}}, "required": ["time_series", "points_threshold"]}}, "minProperties": 1}}, "required": ["companies", "start_year", "competitive_space", "sections"]}, "Read_company_comparison": {"type": "object", "additionalProperties": false, "properties": {"companies": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}}}}, "start_year": {"type": "integer"}, "sections": {"type": "object", "additionalProperties": false, "properties": {"blog": {"type": "object", "additionalProperties": false, "properties": {"monthly_posts": {"type": "object", "additionalProperties": false, "properties": {"months": {"type": "array", "items": {"type": "string"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["months", "series"]}, "monthly_words": {"type": "object", "additionalProperties": false, "properties": {"months": {"type": "array", "items": {"type": "string"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["months", "series"]}, "yearly_posts": {"type": "object", "additionalProperties": false, "properties": {"years": {"type": "array", "items": {"type": "integer"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["years", "series"]}, "yearly_words": {"type": "object", "additionalProperties": false, "properties": {"years": {"type": "array", "items": {"type": "integer"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["years", "series"]}, "totals": {"type": "object", "patternProperties": {"^[A-Za-z0-9_-]+$": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "posts": {"type": "integer"}, "words": {"type": "integer"}}, "required": ["name", "posts", "words"]}}, "additionalProperties": false}}, "required": ["monthly_posts", "monthly_words", "yearly_posts", "yearly_words", "totals"]}, "youtube": {"type": "object", "additionalProperties": false, "properties": {"monthly_subscribers": {"type": "object", "additionalProperties": false, "properties": {"months": {"type": "array", "items": {"type": "string"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["months", "series"]}, "monthly_views": {"type": "object", "additionalProperties": false, "properties": {"months": {"type": "array", "items": {"type": "string"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["months", "series"]}, "monthly_videos": {"type": "object", "additionalProperties": false, "properties": {"months": {"type": "array", "items": {"type": "string"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["months", "series"]}, "yearly_subscribers": {"type": "object", "additionalProperties": false, "properties": {"years": {"type": "array", "items": {"type": "integer"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["years", "series"]}, "yearly_views": {"type": "object", "additionalProperties": false, "properties": {"years": {"type": "array", "items": {"type": "integer"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["years", "series"]}, "yearly_videos": {"type": "object", "additionalProperties": false, "properties": {"years": {"type": "array", "items": {"type": "integer"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["years", "series"]}, "totals": {"type": "object", "patternProperties": {"^[A-Za-z0-9_-]+$": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "subscribers": {"type": "integer"}, "views": {"type": "integer"}, "videos": {"type": "integer"}}, "required": ["name", "subscribers", "views", "videos"]}}, "additionalProperties": false}}, "required": ["monthly_subscribers", "monthly_views", "monthly_videos", "yearly_subscribers", "yearly_views", "yearly_videos", "totals"]}, "hackernews": {"type": "object", "additionalProperties": false, "properties": {"monthly_posts": {"type": "object", "additionalProperties": false, "properties": {"months": {"type": "array", "items": {"type": "string"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["months", "series"]}, "monthly_points": {"type": "object", "additionalProperties": false, "properties": {"months": {"type": "array", "items": {"type": "string"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["months", "series"]}, "yearly_posts": {"type": "object", "additionalProperties": false, "properties": {"years": {"type": "array", "items": {"type": "integer"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["years", "series"]}, "yearly_points": {"type": "object", "additionalProperties": false, "properties": {"years": {"type": "array", "items": {"type": "integer"}}, "series": {"type": "array", "items": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "slug": {"type": "string"}, "data": {"type": "array", "items": {"anyOf": [{"type": "number"}, {"type": "null"}]}}}, "required": ["name", "slug", "data"]}}}, "required": ["years", "series"]}, "totals": {"type": "object", "patternProperties": {"^[A-Za-z0-9_-]+$": {"type": "object", "additionalProperties": false, "properties": {"name": {"type": "string"}, "posts": {"type": "integer"}, "points": {"type": "integer"}, "avg_points": {"type": "number"}}, "required": ["name", "posts", "points", "avg_points"]}}, "additionalProperties": false}}, "required": ["monthly_posts", "monthly_points", "yearly_posts", "yearly_points", "totals"]}}, "minProperties": 1}}, "required": ["companies", "start_year", "sections"]}, "Read_trend_metrics_monthly": {"type": "object", "additionalProperties": false, "properties": {"count": {"type": "integer"}, "next": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "previous": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "results": {"type": "array", "items": {"anyOf": [{"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "topic": {"type": "object", "additionalProperties": false, "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["id", "name", "slug"], "readOnly": true}, "competitive_space": {"anyOf": [{"type": "object", "additionalProperties": false, "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["id", "name", "slug"]}, {"type": "null"}], "readOnly": true}, "month_start": {"type": "string", "format": "date", "readOnly": true}, "month_end": {"type": "string", "format": "date", "readOnly": true}, "mention_count": {"type": "integer", "readOnly": true}, "post_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "company_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "mention_count_prev_month": {"type": ["integer", "null"], "readOnly": true}, "month_over_month_change": {"type": ["number", "null"], "readOnly": true}, "calculated_at": {"type": "string", "format": "date-time", "readOnly": true}, "mode": {"type": "string"}, "diagnostics": {"type": "object", "additionalProperties": false, "properties": {"raw_mentions": {"type": "integer"}, "eligible_mentions": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "normalized_mentions": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "removed_by_quarantine_mentions": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "removed_by_capping_mentions": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "capped_company_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "normalization_version": {"type": "string"}}, "required": ["raw_mentions", "eligible_mentions", "normalized_mentions", "removed_by_quarantine_mentions", "removed_by_capping_mentions", "capped_company_count", "normalization_version"]}}, "required": ["id", "topic", "competitive_space", "month_start", "month_end", "mention_count", "post_count", "company_count", "mention_count_prev_month", "month_over_month_change", "calculated_at"], "additionalProperties": false}, {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "source": {"type": "string", "enum": ["blog", "x", "youtube", "linkedin", "all"], "readOnly": true}, "account_scope": {"type": "string", "enum": ["all", "company", "employee", "showcase"], "readOnly": true}, "granularity": {"type": "string", "enum": ["weekly", "monthly", "yearly"], "readOnly": true}, "topic": {"type": "object", "additionalProperties": false, "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["id", "name", "slug"], "readOnly": true}, "competitive_space": {"anyOf": [{"type": "object", "additionalProperties": false, "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["id", "name", "slug"]}, {"type": "null"}], "readOnly": true}, "period_start": {"type": "string", "format": "date", "readOnly": true}, "period_end": {"type": "string", "format": "date", "readOnly": true}, "mention_count": {"type": "integer", "readOnly": true}, "post_count": {"type": "integer", "readOnly": true}, "company_count": {"type": "integer", "readOnly": true}, "unique_account_count": {"type": "integer", "readOnly": true}, "mention_count_previous": {"type": ["integer", "null"], "readOnly": true}, "post_count_previous": {"type": ["integer", "null"], "readOnly": true}, "company_count_previous": {"type": ["integer", "null"], "readOnly": true}, "unique_account_count_previous": {"type": ["integer", "null"], "readOnly": true}, "mention_change": {"type": ["number", "null"], "readOnly": true}, "post_change": {"type": ["number", "null"], "readOnly": true}, "company_change": {"type": ["number", "null"], "readOnly": true}, "unique_account_change": {"type": ["number", "null"], "readOnly": true}, "calculated_at": {"type": "string", "format": "date-time", "readOnly": true}, "engagement": {"type": "object", "additionalProperties": false, "properties": {"semantics": {"type": "string"}, "views": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "reactions_likes": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "comments_replies": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "reshares": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "quotes": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "bookmarks": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}}, "readOnly": true}, "mode": {"type": "string"}}, "required": ["id", "source", "account_scope", "granularity", "topic", "competitive_space", "period_start", "period_end", "mention_count", "post_count", "company_count", "unique_account_count", "mention_count_previous", "post_count_previous", "company_count_previous", "unique_account_count_previous", "mention_change", "post_change", "company_change", "unique_account_change", "calculated_at", "engagement"], "additionalProperties": false}]}}, "mode": {"type": "string"}, "source": {"type": "string"}, "account_type": {"type": "string"}}, "required": ["count", "next", "previous", "results", "mode"]}, "Read_trend_metrics_yearly": {"type": "object", "additionalProperties": false, "properties": {"count": {"type": "integer"}, "next": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "previous": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "results": {"type": "array", "items": {"anyOf": [{"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "topic": {"type": "object", "additionalProperties": false, "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["id", "name", "slug"], "readOnly": true}, "competitive_space": {"anyOf": [{"type": "object", "additionalProperties": false, "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["id", "name", "slug"]}, {"type": "null"}], "readOnly": true}, "year_start": {"type": "string", "format": "date", "readOnly": true}, "year_end": {"type": "string", "format": "date", "readOnly": true}, "mention_count": {"type": "integer", "readOnly": true}, "post_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "company_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "mention_count_prev_year": {"type": ["integer", "null"], "readOnly": true}, "year_over_year_change": {"type": ["number", "null"], "readOnly": true}, "calculated_at": {"type": "string", "format": "date-time", "readOnly": true}, "mode": {"type": "string"}, "diagnostics": {"type": "object", "additionalProperties": false, "properties": {"raw_mentions": {"type": "integer"}, "eligible_mentions": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "normalized_mentions": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "removed_by_quarantine_mentions": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "removed_by_capping_mentions": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "capped_company_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "normalization_version": {"type": "string"}}, "required": ["raw_mentions", "eligible_mentions", "normalized_mentions", "removed_by_quarantine_mentions", "removed_by_capping_mentions", "capped_company_count", "normalization_version"]}}, "required": ["id", "topic", "competitive_space", "year_start", "year_end", "mention_count", "post_count", "company_count", "mention_count_prev_year", "year_over_year_change", "calculated_at"], "additionalProperties": false}, {"type": "object", "properties": {"id": {"type": "integer", "readOnly": true}, "source": {"type": "string", "enum": ["blog", "x", "youtube", "linkedin", "all"], "readOnly": true}, "account_scope": {"type": "string", "enum": ["all", "company", "employee", "showcase"], "readOnly": true}, "granularity": {"type": "string", "enum": ["weekly", "monthly", "yearly"], "readOnly": true}, "topic": {"type": "object", "additionalProperties": false, "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["id", "name", "slug"], "readOnly": true}, "competitive_space": {"anyOf": [{"type": "object", "additionalProperties": false, "properties": {"id": {"type": "integer"}, "name": {"type": "string"}, "slug": {"type": "string"}}, "required": ["id", "name", "slug"]}, {"type": "null"}], "readOnly": true}, "period_start": {"type": "string", "format": "date", "readOnly": true}, "period_end": {"type": "string", "format": "date", "readOnly": true}, "mention_count": {"type": "integer", "readOnly": true}, "post_count": {"type": "integer", "readOnly": true}, "company_count": {"type": "integer", "readOnly": true}, "unique_account_count": {"type": "integer", "readOnly": true}, "mention_count_previous": {"type": ["integer", "null"], "readOnly": true}, "post_count_previous": {"type": ["integer", "null"], "readOnly": true}, "company_count_previous": {"type": ["integer", "null"], "readOnly": true}, "unique_account_count_previous": {"type": ["integer", "null"], "readOnly": true}, "mention_change": {"type": ["number", "null"], "readOnly": true}, "post_change": {"type": ["number", "null"], "readOnly": true}, "company_change": {"type": ["number", "null"], "readOnly": true}, "unique_account_change": {"type": ["number", "null"], "readOnly": true}, "calculated_at": {"type": "string", "format": "date-time", "readOnly": true}, "engagement": {"type": "object", "additionalProperties": false, "properties": {"semantics": {"type": "string"}, "views": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "reactions_likes": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "comments_replies": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "reshares": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "quotes": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}, "bookmarks": {"type": "object", "additionalProperties": false, "properties": {"total": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "coverage": {"type": "integer"}}, "required": ["total", "coverage"]}}, "readOnly": true}, "mode": {"type": "string"}}, "required": ["id", "source", "account_scope", "granularity", "topic", "competitive_space", "period_start", "period_end", "mention_count", "post_count", "company_count", "unique_account_count", "mention_count_previous", "post_count_previous", "company_count_previous", "unique_account_count_previous", "mention_change", "post_change", "company_change", "unique_account_change", "calculated_at", "engagement"], "additionalProperties": false}]}}, "mode": {"type": "string"}, "source": {"type": "string"}, "account_type": {"type": "string"}}, "required": ["count", "next", "previous", "results", "mode"]}}, "securitySchemes": {"CustomerAPIKey": {"type": "apiKey", "in": "header", "name": "X-API-Key"}, "DjangoSession": {"type": "apiKey", "in": "cookie", "name": "sessionid"}}}}