Build knowledge maps into your product
A public REST API, a typed TypeScript SDK, React atoms for the graph and the chat, and a script embed. Everything VOL does, available to you.
Everything you need to build
Docs, API, components and OAuth: pick the level of integration that fits your product.
A clean, predictable REST API
JSON over HTTPS, API-key authentication, consistent errors and binary graph endpoints optimised for the 3D viewer.
API referencecurl https://vol.com/api/v1/search \
-H "X-API-Key: $VOL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"case":"papers","query":"perovskite stability","topK":5}'- POST
/v1/chat - POST
/v1/search - GET
/v1/cases - GET
/v1/graph/{case}/meta - GET
/v1/graph/{case}/nodes/{i} - GET
/v1/graph/{case}/neighbors/{i}
React atoms for maps and chat
Drop VolGraph and VolChat into any React app. They share one provider, stream answers and highlight cited nodes automatically.
- Themeable with VOL UI tokens
- Lazy-loaded 3D viewer
- Fully typed props and events
import { VolProvider, VolChat, VolGraph, type VolGraphFocus } from "@vol/atoms";
export function Research() {
const [focus, setFocus] = useState<VolGraphFocus>();
return (
<VolProvider apiKey={import.meta.env.VITE_VOL_KEY} defaultCase="papers">
<VolGraph focus={focus} height={480} />
<VolChat
onAnswer={(r) => setFocus({ citations: r.citations.map((c) => c.nodeIndex), clusters: r.clusters })}
/>
</VolProvider>
);
}One script tag, anywhere
No framework needed. The embed installs a Web Component with Shadow DOM styles, plus inline, floating-button and modal modes.
- ~8 kB gzip
- Inline, floating or popup
- Events for analytics
<script>
(function (w, d, src) {
w.Vol = w.Vol || function () { (w.Vol.q = w.Vol.q || []).push(arguments); };
var s = d.createElement("script"); s.async = true; s.src = src; d.head.appendChild(s);
})(window, document, "https://vol.com/embed/embed.js");
Vol("init", { apiKey: "vol_live_…", case: "papers" });
Vol("floatingButton", { buttonText: "Ask VOL" });
</script>Create an OAuth client
Let your users connect their VOL workspace to your app with scoped, revocable access. API keys work today for server-to-server use.
- 01Register your appName, logo and redirect URLs in Settings → Developer.
- 02Request scopeschat:read, search:read, graph:read, workspaces:read.
- 03Exchange the codeStandard authorization code flow with PKCE.
OAuth clients are in beta for Organizations and Enterprise plans.Request access.
Frequently asked questions
These are some of our most frequently asked questions.
How do I get an API key?
Sign in, open Settings → API keys and create a key. The full key is shown only once; store it securely.
Are there rate limits?
Yes, generous per-plan limits. Responses include rate-limit headers, and the SDK retries politely.
Is there an OpenAPI spec?
Yes. The API reference in the docs is generated from the OpenAPI document served by the API.
Start building with VOL
- Product of the day1st
- Product of the week1st
- Product of the month1st