Anti-Refusal Statement
High
- Category
- Anti-Refusal
- Content
- **Wrap vs flat varies by endpoint.** Read FLAT (no `.data`): `price`, `prices`, `chart`, `popular`, `market-mood`, `stocks/{T}/profile`, `descriptions`, and `sentiment` (bare array). `institutional/quarters` is a bare array (`[0].reportDate` is latest). These ARE wrapped in `{ isPreview, previewReason, data }` (read `.data`): `insider/*`, `analyst/*`, `insights/*`, `politicians/*`, `institutional/holders`. When unsure, accept both: `Array.isArray(raw) ? raw : (raw?.data ?? raw)`. - **Sentiment is polarity.** The sentiment metric is a value in `[-1.0, 1.0]` where the sign is the direction (negative is bearish and real). Represent polarity; do not force it onto a 0-100 scale. The separate SentiSense Score metric is unbounded; report it as-is. - **Always fetch quarters first** before `/institutional/*` calls. Never hardcode `reportDate`. - **Free tier is real.** A user without PRO still gets back `data` (just truncated). Synthesize from what you get; don't refuse the workflow. - **Don't hallucinate endpoints.** No options flow, no dark pool, no `/congress` (it's `/politicians`). - **Be brief.** Users asked for synthesis, not a data dump. Five lines beats fifty.- Confidence
- 85% confidence
- Finding
- don't refuse
