Skip to main content
Voyant publishes a family of public TypeScript SDKs, one per product area. They are independent packages you can install in any TypeScript project, and they share a common transport, auth model, and error type so they feel the same to use.

The SDKs

Cloud SDK

@voyant-travel/cloud-sdk for vault, messaging, browser, video, realtime, and search.

Connect SDK

@voyant-travel/connect-sdk for the operator and connection control plane and the normalized data plane.

Data SDK

@voyant-travel/data-sdk for geography, aviation, FX, SEO, and business data.

Connect family

connect-adapter, connect-provider-sdk, and connect-cruises for building on Connect.

Shared design

All three primary clients follow the same pattern:
  • A factory function, for example createVoyantCloudClient, createVoyantConnectClient, or createVoyantDataClient, plus an equivalent class constructor.
  • An apiKey option, and transport options such as baseUrl, headers, and a custom fetch.
  • Methods grouped into namespaces by domain.
  • A shared internal transport (@voyant-sdk/sdk-core) so behavior is consistent. That package is private; you only ever import the public SDK.
import { createVoyantCloudClient } from "@voyant-travel/cloud-sdk";
import { createVoyantConnectClient } from "@voyant-travel/connect-sdk";
import { createVoyantDataClient } from "@voyant-travel/data-sdk";

const cloud = createVoyantCloudClient({ apiKey: process.env.VOYANT_API_KEY! });
const connect = createVoyantConnectClient({ apiKey: process.env.VOYANT_API_KEY!, operatorId: "op_123" });
const data = createVoyantDataClient({ apiKey: process.env.VOYANT_API_KEY! });

One token, scoped per action

Every SDK authenticates with a Voyant API token. The same token works across products; what it can do is determined by its scopes. See Authentication for how tokens and scopes work, and the per-service pages for the exact scope each method needs.

Consistent transport and errors

The SDKs JSON-encode request bodies, skip null and undefined query params, parse JSON responses, and unwrap { data } envelopes by default. Failures throw a single VoyantApiError carrying status, requestId, and body. See Errors and transport.

Installing

pnpm add @voyant-travel/cloud-sdk
pnpm add @voyant-travel/connect-sdk
pnpm add @voyant-travel/data-sdk
The packages are published under the @voyant-travel npm scope and released with changesets.