Nova
Developers · SDKs

Typed clients for every backend stack.

Generated from the same OpenAPI spec that drives our docs. Versioned with semver, distributed via the native package manager for each language.

The following content consists of reference snippets only. For the complete documentation, please contact our Sales team to complete verification and access.

TypeScript / Node

First-class types, ESM + CJS dual build, zero runtime dependencies. Tree-shakes to the endpoints you actually use.

import { Nova } from "@nova-labs/sdk";
const nova = new Nova(process.env.NOVA_KEY!);
const card = await nova.cards.create({ program_id: "prog_8fK3", type: "VIRTUAL" });

Go

Context-aware, idiomatic errors, generated mock interfaces for testing. Goroutine-safe.

card, err := nova.Cards.Create(ctx, &nova.CardCreateParams{
    ProgramID: "prog_8fK3",
    Type:      nova.CardTypeVirtual,
})

Python

Async + sync clients side-by-side, pydantic models, full type hints. Importable from a single namespace.

from nova import Nova
nova = Nova(api_key=os.environ["NOVA_KEY"])
card = await nova.cards.create(program_id="prog_8fK3", type="VIRTUAL")

Ruby

Rails-friendly, ActiveSupport-compatible time handling. Distributed via RubyGems.

Kotlin / JVM

Coroutine-first, multiplatform-ready, published to Maven Central.

Webhook signature verification

Every SDK ships a one-liner to verify HMAC-SHA256 signatures and surface a typed event.

Mocks & fixtures

Generated mock interfaces so your tests never have to hit a sandbox.

$ install
$ npm i @nova-labs/sdk
$ bun add @nova-labs/sdk
$ go get github.com/nova-labs/nova-go
$ pip install nova-sdk
$ gem install nova
$ mvn dependency:get -Dartifact=dev.nova:sdk:1.4.2

Paste into a sandbox key — response back in seconds.