{"openapi":"3.1.0","info":{"title":"Imagine AI Benchmark API","version":"1.0.0","description":"Read endpoints behind the dashboard. Public tier (no key) returns bands and aggregates only; a workspace agent key (Bearer) unlocks individual-level data for your landscape. Prefer the MCP endpoint for agents; it carries provenance on every result."},"servers":[{"url":"https://benchmark.imagineai.me"}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"x-api-key"}}},"paths":{"/api/companies":{"get":{"summary":"Tracked companies with post counts and last scrape","security":[{"apiKey":[]},{}],"parameters":[],"responses":{"200":{"description":"JSON. Without a session or key: public tier, individual-level numbers and post content redacted to bands."},"401":{"description":"Customer-only endpoint (post-level data): sign in or send a workspace agent key"}}}},"/api/people":{"get":{"summary":"Tracked people","security":[{"apiKey":[]},{}],"parameters":[{"name":"companyId","in":"query","required":false,"description":"Company UUID","schema":{"type":"string"}}],"responses":{"200":{"description":"JSON. Without a session or key: public tier, individual-level numbers and post content redacted to bands."},"401":{"description":"Customer-only endpoint (post-level data): sign in or send a workspace agent key"}}}},"/api/posts":{"get":{"summary":"Posts (paginated)","security":[{"apiKey":[]},{}],"parameters":[{"name":"companyId","in":"query","required":false,"description":"Company UUID","schema":{"type":"string"}},{"name":"personId","in":"query","required":false,"description":"Person UUID","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"Category","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Max rows","schema":{"type":"string"}},{"name":"offset","in":"query","required":false,"description":"Offset","schema":{"type":"string"}}],"responses":{"200":{"description":"JSON. Without a session or key: public tier, individual-level numbers and post content redacted to bands."},"401":{"description":"Customer-only endpoint (post-level data): sign in or send a workspace agent key"}}}},"/api/analytics/account-fits":{"get":{"summary":"Per-account log-normal fits","security":[{"apiKey":[]},{}],"parameters":[{"name":"companyIds","in":"query","required":false,"description":"Comma-separated company UUIDs.","schema":{"type":"string"}},{"name":"personIds","in":"query","required":false,"description":"Comma-separated person UUIDs","schema":{"type":"string"}},{"name":"industry","in":"query","required":false,"description":"Industry","schema":{"type":"string"}},{"name":"dateFrom","in":"query","required":false,"description":"YYYY-MM-DD","schema":{"type":"string"}},{"name":"dateTo","in":"query","required":false,"description":"YYYY-MM-DD","schema":{"type":"string"}}],"responses":{"200":{"description":"JSON. Without a session or key: public tier, individual-level numbers and post content redacted to bands."},"401":{"description":"Customer-only endpoint (post-level data): sign in or send a workspace agent key"}}}},"/api/analytics/industry-landscape":{"get":{"summary":"Industry landscape vs baseline","security":[{"apiKey":[]},{}],"parameters":[{"name":"industry","in":"query","required":false,"description":"Industry","schema":{"type":"string"}},{"name":"companyIds","in":"query","required":false,"description":"Comma-separated company UUIDs.","schema":{"type":"string"}},{"name":"dateFrom","in":"query","required":false,"description":"YYYY-MM-DD","schema":{"type":"string"}}],"responses":{"200":{"description":"JSON. Without a session or key: public tier, individual-level numbers and post content redacted to bands."},"401":{"description":"Customer-only endpoint (post-level data): sign in or send a workspace agent key"}}}},"/api/analytics/posts-vs-account":{"get":{"summary":"Posts ranked against their own account","security":[{"apiKey":[]},{}],"parameters":[{"name":"personId","in":"query","required":false,"description":"Person UUID","schema":{"type":"string"}},{"name":"companyId","in":"query","required":false,"description":"Company UUID","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"best|worst|recent","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Max rows","schema":{"type":"string"}}],"responses":{"200":{"description":"JSON. Without a session or key: public tier, individual-level numbers and post content redacted to bands."},"401":{"description":"Customer-only endpoint (post-level data): sign in or send a workspace agent key"}}}},"/api/analytics/competitor-moves":{"get":{"summary":"What competitors posted by post type, gaps","security":[{"apiKey":[]},{}],"parameters":[{"name":"primaryCompanyId","in":"query","required":true,"description":"Primary UUID","schema":{"type":"string"}},{"name":"competitorIds","in":"query","required":true,"description":"Comma-separated UUIDs","schema":{"type":"string"}},{"name":"days","in":"query","required":false,"description":"7..365","schema":{"type":"string"}}],"responses":{"200":{"description":"JSON. Without a session or key: public tier, individual-level numbers and post content redacted to bands."},"401":{"description":"Customer-only endpoint (post-level data): sign in or send a workspace agent key"}}}},"/api/analytics/intel":{"get":{"summary":"Market intel views (share of voice, content matrix, market map, timeline, momentum, launch impact, breakouts, page vs people)","security":[{"apiKey":[]},{}],"parameters":[{"name":"companies","in":"query","required":true,"description":"primary,competitor,... UUIDs","schema":{"type":"string"}},{"name":"days","in":"query","required":false,"description":"14..365","schema":{"type":"string"}},{"name":"weeks","in":"query","required":false,"description":"8..52","schema":{"type":"string"}}],"responses":{"200":{"description":"JSON. Without a session or key: public tier, individual-level numbers and post content redacted to bands."},"401":{"description":"Customer-only endpoint (post-level data): sign in or send a workspace agent key"}}}},"/api/analytics/ecosystem":{"get":{"summary":"Firm-to-firm ties (reshares, mentions, shared events)","security":[{"apiKey":[]},{}],"parameters":[{"name":"companies","in":"query","required":false,"description":"Comma-separated UUIDs","schema":{"type":"string"}},{"name":"industry","in":"query","required":false,"description":"Industry","schema":{"type":"string"}},{"name":"days","in":"query","required":false,"description":"14..365","schema":{"type":"string"}}],"responses":{"200":{"description":"JSON. Without a session or key: public tier, individual-level numbers and post content redacted to bands."},"401":{"description":"Customer-only endpoint (post-level data): sign in or send a workspace agent key"}}}},"/api/events":{"get":{"summary":"Agent event feed","security":[{"apiKey":[]},{}],"parameters":[{"name":"companies","in":"query","required":true,"description":"Comma-separated UUIDs","schema":{"type":"string"}},{"name":"since","in":"query","required":false,"description":"ISO date","schema":{"type":"string"}},{"name":"types","in":"query","required":false,"description":"breakout_post,new_monumental_post,share_shift,new_company_tracked","schema":{"type":"string"}}],"responses":{"200":{"description":"JSON. Without a session or key: public tier, individual-level numbers and post content redacted to bands."},"401":{"description":"Customer-only endpoint (post-level data): sign in or send a workspace agent key"}}}},"/api/analytics/company-benchmark":{"get":{"summary":"Company benchmark rows","security":[{"apiKey":[]},{}],"parameters":[{"name":"companyIds","in":"query","required":false,"description":"Comma-separated company UUIDs.","schema":{"type":"string"}},{"name":"dateFrom","in":"query","required":false,"description":"YYYY-MM-DD","schema":{"type":"string"}},{"name":"dateTo","in":"query","required":false,"description":"YYYY-MM-DD","schema":{"type":"string"}}],"responses":{"200":{"description":"JSON. Without a session or key: public tier, individual-level numbers and post content redacted to bands."},"401":{"description":"Customer-only endpoint (post-level data): sign in or send a workspace agent key"}}}},"/api/analytics/category-breakdown":{"get":{"summary":"Category breakdown","security":[{"apiKey":[]},{}],"parameters":[{"name":"companyIds","in":"query","required":false,"description":"Comma-separated company UUIDs.","schema":{"type":"string"}},{"name":"dateFrom","in":"query","required":false,"description":"YYYY-MM-DD","schema":{"type":"string"}},{"name":"dateTo","in":"query","required":false,"description":"YYYY-MM-DD","schema":{"type":"string"}}],"responses":{"200":{"description":"JSON. Without a session or key: public tier, individual-level numbers and post content redacted to bands."},"401":{"description":"Customer-only endpoint (post-level data): sign in or send a workspace agent key"}}}},"/api/analytics/competitive/presence":{"get":{"summary":"Competitive presence","security":[{"apiKey":[]},{}],"parameters":[{"name":"primaryCompanyId","in":"query","required":true,"description":"UUID","schema":{"type":"string"}},{"name":"competitorIds","in":"query","required":true,"description":"UUIDs","schema":{"type":"string"}}],"responses":{"200":{"description":"JSON. Without a session or key: public tier, individual-level numbers and post content redacted to bands."},"401":{"description":"Customer-only endpoint (post-level data): sign in or send a workspace agent key"}}}}}}