Skip to main content
The official Upsun SDK for Node.js on TypeScript. This SDK provides a Node.js interface that maps to the Upsun CLI commands. For more information, read the documentation.
CAUTION: This project is currently in Beta, meaning features and APIs may evolve over time. Please report bugs or request new features by creating a GitHub issue.

Installation

Install the SDK via npm:
npm install upsun-sdk-node

Authentication

You will need an Upsun API token to use this SDK.
Store it securely, preferably in an environment variable.
import { UpsunClient, UpsunConfig } from 'upsun-sdk-node';

const config: UpsunConfig = {
  apiKey: process.env.UPSUN_CLI_TOKEN || '',
};

const upsunClient = new UpsunClient(config);

Usage

Example: List organizations

const organizations = await upsunClient.organizations.list();

Example: List projects

const projects = await upsunClient.projects.list('<organizationId>');

Example: Redeploy an environment

const result = await upsunClient.environments.redeploy('<projectId>', '<environmentId>');

Development

Clone the repository and install dependencies:
git clone git@github.com:upsun/upsun-sdk-node.git
npm install

Architecture of this SDK

The SDK is built as follows:

Regenerating API client code

API classes are generated from the Upsun OpenAPI spec.
npm run spec:generate:install
npm run spec:full

Contributing

Contributions are welcome!
Please open a pull request or an issue for any improvements, bug fixes, or new features.

Tests

To run the tests, use:
npm run test

License

This project is licensed under the Apache License 2.0. See the LICENSE and NOTICE files for details.
Last modified on March 25, 2026