SDKs

One first-party SDK today: TypeScript. Every other language talks to the same REST API (see the API reference) — the OpenAPI spec ships with the SDK package and is available on request until public launch.

TypeScript / JavaScript

The TypeScript client is not on the public npm registry yet (it's on the roadmap). Until then, request the package tarball at api@forumatlas.com and install it directly:

bash
npm install ./forumatlas-sdk-latest.tgz
typescript
import { ForumAtlas } from "@forumatlas/sdk";

const forum = new ForumAtlas({ apiKey: process.env.FORUMATLAS_API_KEY! });

// Latest persisted briefs in your workspace
const { briefs } = await forum.briefs.list({ sector: "cyber", limit: 5 });
console.log(briefs[0].headline);

// Ask a question — synthesized + cited
const answer = await forum.query.ask({
  query: "What changed in the cyber-insurance market this quarter?",
  sectors: ["cyber"],
});
console.log(answer.headline, answer.sources.length);

Retries are replay-safe: the client attaches an Idempotency-Key on the synthesis endpoints and never auto-retries non-idempotent writes. Errors surface the API's Problem Details (RFC 9457) title/detail fields.

Python

No Python SDK yet. The REST API works with any HTTP client:

python
import os, requests

r = requests.post(
    "https://api.forumatlas.com/v1/query",
    headers={"Authorization": f"Bearer {os.environ['FORUMATLAS_API_KEY']}"},
    json={"query": "What did Lockheed disclose about Sentinel cost overruns?",
          "sectors": ["defense"]},
)
body = r.json()
print(body["headline"])
for s in body["sources"]:
    print(f'[{s["index"]}] {s["title"]} — {s["url"]}')

Other languages

Go, Rust, and generated clients: point your favorite OpenAPI generator at packages/contracts/openapi.yaml. If you build one worth sharing, tell us — api@forumatlas.com.