# Generate client SDKs

**Category:** [API Hub](https://help.totalctrl.app/hc/totalctrl/totalctrl-help-center/en-US/categories/apidocs)
**Updated:** 2026-08-19

## What SDK generation does

From any version that has a saved spec, API Hub can build a ready-to-use client library so developers don't have to hand-write HTTP calls. Builds are produced from your OpenAPI document and delivered as a downloadable ZIP.
## Supported languages

- **Node.js** (JavaScript)
- **Python**
- **Java**
- **C#**
- **Bash CLI**

## Build an SDK

- Open the version and go to its **SDKs** page. You must have a spec saved first — without one, the build button is disabled.
- Choose a language and start the build. The build runs in the background, so the page returns immediately with a status of `pending`.
- The status moves through **building** to **ready** (or **failed**). The page polls automatically, and only the latest build per language is kept in the list.

## Download

When a build is **ready**, use **Download** to get the SDK ZIP. Ready builds are also offered to your API's consumers on the public portal's SDK downloads page, named like `python-sdk.zip`.
## Rebuilding

Trigger a new build any time the spec changes — starting a build for a language supersedes the previous in-progress build for that same language. If a build shows **failed**, check that the spec is valid (use **Validate** in the Spec editor) and try again.

---

## Related Articles

- [Create an API project](https://help.totalctrl.app/en-US/articles/create-an-api-project)
- [API Hub overview](https://help.totalctrl.app/en-US/articles/api-hub-overview)
- [Add a version and upload a spec](https://help.totalctrl.app/en-US/articles/add-a-version-and-upload-a-spec)
- [Publish a developer portal](https://help.totalctrl.app/en-US/articles/publish-a-developer-portal)
- [Sync a spec from GitHub](https://help.totalctrl.app/en-US/articles/sync-a-spec-from-github)

---
[← Back to TotalCtrl Help Center](https://help.totalctrl.app/en-US/)