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

Publishing

To generate a new version of the Upsun SDK Node and automatically publish it on https://npmjs.org
  1. update your local
git fetch
git checkout main
git pull
  1. check existing tags on https://github.com/upsun/upsun-sdk-node/tags
  2. Update package.json version to the new release version (highest version + 1)
  3. update package-lock.json using:
npm install
git add package.json package-lock.json
git commit -m "bump release version to v<x.y.z>"
git push
  1. create a new tag from your local
git tag v<x.y.z>
git push --tag
  1. Go on release page: https://github.com/upsun/upsun-sdk-node/releases
  2. create a new release based on the previously created tag (Do not forget to autogenerate description in the form)
  3. check publishing action status: https://github.com/upsun/upsun-sdk-node/actions
  4. check new release version on https://www.npmjs.com/package/upsun-sdk-node

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 May 19, 2026