Intelligence Brief is in beta. The response schema is versioned (currently v2.4) and may gain new optional fields in future releases. All new fields are additive; existing fields will not be removed or renamed without a major version bump.
POST /api/intelligence/analyze
Generate a new Intelligence Brief for one or more search terms across selected platforms.Authentication
This endpoint requires a signed-in Rhetoric Audit account. Authentication is resolved from your session cookie (web dashboard) or Supabase session token. Anonymous requests receive a401 response.
Rate limits
In addition to the credit cost, per-user rate limits apply:Request
One or more search terms to analyze. The engine fetches cross-platform signals matching these terms. Minimum 1 term, maximum 10 terms. Each term must be a non-empty string.
The platforms to pull signals from. Must contain at least one value. Accepted values (lowercase):
x, reddit, youtube, news, web, financial.Maximum number of signals to collect across all sources. Must be an integer between
10 and 200.Response
true when the brief was successfully generated and persisted.The full Intelligence Brief result. See the brief fields section below.
Credit consumption details for this request.
Timing breakdown for the request.
Optional array of non-fatal warnings, such as partial source failures or mock data usage. Omitted when there are no warnings.
Diagnostic information about which sources succeeded or failed.
Brief fields
Thebrief object contains the full IntelligenceBriefResult. All fields marked optional are additive and may be absent in results from earlier schema versions.
UUID of the saved brief record in the database.
ISO 8601 timestamp when the brief was saved.
A prose summary of the key findings across all signals and narratives.
Overall authenticity of the signal set,
0–100. Lower scores indicate higher likelihood of coordinated or inauthentic activity.Evidence-based explanation of the
authenticity_score. Present in schema v2.1+.Aggregate emotional signal across all analyzed content.
Array of dominant narratives detected across platforms.
High-signal accounts or sources the LLM identified as authoritative on the topic.
Structured risk evaluation of the narrative landscape.
Breakdown of how many signals were analyzed per platform.
Optional (v2.2+). Accounts identified as primary drivers of adversarial narratives.
Optional (v2.2+). Coordination evidence and technical indicators.
Optional (v2.3+). Dissonance gauge comparing social vs. institutional sentiment.
Optional (v2.4+). Tickers and market theses the LLM infers from narrative signals.
Code example
Error responses
GET /api/intelligence/briefs
Retrieve a paginated list of your historical Intelligence Briefs.Authentication
Requires a signed-in session. Returns401 for unauthenticated requests.
Query parameters
Number of briefs to return per page. Maximum
100.Zero-based offset for pagination.
Sort field. Accepted values:
date, signal_count.Sort direction. Accepted values:
asc, desc.Time window filter. Accepted values:
all, week (last 7 days), month (last 30 days).Response
Array of brief records. Each item has the same shape as the
brief field returned by POST /api/intelligence/analyze, plus id and created_at.Total number of briefs matching the query (before pagination). Use this with
limit and offset to implement page controls.