Quickstarts
Ship your first ForestVPN integration — pick your SDK surface and make a first call in minutes.
ForestVPN ships as a set of SDK surfaces over one control plane. Pick the surface that matches your stack; every quickstart takes you from a source checkout to a working first call.
Distribution today is source-first. The SDKs and generated API clients live in the ForestVPN repository — you build them from a checkout of the source tree (access is granted per project; contact us if you need it). There are no npm/crates.io/Maven/pub.dev packages and no prebuilt mobile binaries yet — a quickstart never shows an install command that does not work today.
Apple (Swift)
Source SwiftPM package — ForestVPNKit over the Rust FFI, for iOS, macOS, and tvOS.
Android (JNI)
Build the tunnel-runtime cdylib from source with cargo-ndk and bridge it from your VpnService.
C ABI & Dart
The plain-C client surface — one header, one shared library, Dart-FFI-ready.
TypeScript
The generated @forestvpn/console-api client — typed calls to /platform/v1.
Rust
The generated forestvpn-console-api-client crate as a path dependency.
cURL
No SDK at all — authenticate with an API key and call /platform/v1 from the shell.
Every command here actually runs
Each quickstart's commands and code snippets are executed by a verification
harness in the repository — scripts/quickstart-verify/run-all.sh compiles
the exact snippets these pages embed against the real SDKs, and the docs
build fails if a page drifts from its verified snippet. If you can read it
here, it ran in CI.
Before you start
Most quickstarts need two things from the Infrastructure API: