Upsun official Node.js SDK
The TypeScript client for the Upsun API, completed and aligned with the PHP SDK.
- Role
- Development, in the Advocacy team: full API coverage, alignment with the PHP SDK, signature-checking tool
- Period
- Dec 2025 – ongoing · Upsun
- Stack
- TypeScript
- Node.js
- OpenAPI Generator
- npm
- GitHub Actions
Context
The Node.js SDK already existed in a minimal form: it covered just what the Upsun MCP server needed to work. JavaScript developers and automation tools (CI scripts, integrations, n8n…) were waiting for full API access, with TypeScript's typing and the same comfort as the PHP SDK.
What I did
- The same approach as the PHP SDK: a layer generated with OpenAPI Generator from the same OpenAPI spec, served by Meta-Upsun, plus a handwritten developer-facing layer.
- Full API coverage: every public resource (organizations, projects, environments, variables, deployments…), beyond the subset the MCP server needed.
- Aligning the two SDKs: same resources, same method names, same parameters in the same order. Switching from PHP to TypeScript, or porting a script from one to the other, doesn't mean relearning the API.
- A signature-checking tool that compares the public methods of the PHP and Node.js SDKs and reports every divergence: a method missing on one side, an extra parameter, a different order or name. Alignment no longer relies on reviewers' vigilance.
- Full typing: TypeScript with no extra setup, JSDoc on every class, property and method for autocompletion.
- Clear options on sensitive operations: for instance, an environment variable is created stating whether it is sensitive and whether it is visible at build or at runtime.
- Published on npm:
npm install upsun-sdk-node. Source code on GitHub. - Searchable documentation of the architecture and code on DeepWiki.
Why it matters
Maintaining two SDKs by hand guarantees they drift apart: a method added on one side, a parameter renamed on the other. The checking tool turns consistency into an automatic check, and it is what makes adding new languages credible.
Results
- Official SDK published on npm, open source, covering the whole public API.
- Two consistent SDKs, with divergences caught as soon as they appear.
- A shared base for the upcoming Python and Go SDKs.
