Quickstart
Your first /v1/query in 5 minutes.
1 — Get an API key
Sign in to your Forum Atlas workspace, navigate to API keys, and click New API key. Scope it to query:read for the quickstart (add brief:read and forecast:read when you start pulling briefs and forecasts). Endpoint availability and monthly caps vary by plan — deliberate mode, forecast generation, and causal traces need Team or above (see tier gates).
2 — Make your first call
curl -X POST https://api.forumatlas.com/v1/query \
-H "Authorization: Bearer $FORUM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sectors": ["cyber"],
"persona": "vendor_competitive_intel",
"query": "What did Snyk announce in the past week?"
}'3 — Read the response
{
"request_id": "6f0a1c7d-...",
"mode": "speculative",
"headline": "Snyk Deepens Anthropic Ties With Dual Claude Integrations for Evo and Security Desktop",
"lede": "Snyk disclosed two Anthropic-linked integrations on May 21, 2026...",
"sections": [
{
"heading": "Answer: Snyk's Past-Week Announcements",
"body": "...Snyk's only publicly logged announcement is a pair of Anthropic integrations [1]...",
"claims": [ /* one entry per validated claim, with its citation */ ]
}
],
"sources": [
{
"index": 1,
"title": "Snyk announces Anthropic updates: Evo integrates with Claude Enterprise...",
"url": "https://snyk.io/blog/claude-enterprise-integration-desktop-expansion/",
"publisher": "Snyk",
"date": "2026-05-21T17:00:00+00:00",
"chunk_id": "847eaa08-...", "doc_id": "5181fa42-...", "source_id": "snyk_blog"
}
],
"confidence": "medium",
"data_freshness": "sources dated 2024-10-08 to 2026-05-21 (newest 76 days old)",
"validator": { "passed": true, "matched_claims": 5, "total_claims": 5, "failures": [] },
"usage": {
"events": [
{ "meter_name": "b2a2b_synthesis_query", "quantity": "1", "unit": "count",
"unit_price_usd": "0.008", "total_cost_usd": "0.008000" },
{ "meter_name": "synthesis_input_tokens", "quantity": "6579", "unit": "tokens" },
{ "meter_name": "synthesis_output_tokens", "quantity": "2869", "unit": "tokens" }
],
"total_cost_usd": 0.008,
"latency_ms": 43813
}
}Read the timings honestly. The example above is a real response, not a mock: a speculative query is retrieval + synthesis + verbatim claim validation, and it takes tens of seconds, not milliseconds. Budget for that in your client timeouts. Bill from usage.total_cost_usd and usage.events[] — there is no usage.cost_usd or usage.tokens field.
4 — Next steps
Wire webhooks for anomaly alerts into your own pipeline.
Use the TypeScript SDK (other languages talk to the same REST API).
Browse the recipes for "build a daily Slack digest in 50 lines."