# API Hub overview

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

## What API Hub does

API Hub is where your team hosts OpenAPI specifications, generates downloadable client SDKs, and publishes a polished developer portal for the people who use your APIs. Everything is organized around three layers: **projects**, **versions**, and **specs**.
## The building blocks

- **Project** — one API product. It holds your name, description, branding color, visibility, and (optionally) a custom domain.
- **Version** — a release of that API, identified by a version tag (for example `v1` or `2024-05`). A version can be `active` or `deprecated`, and one version is marked as the **current** one shown by default in the portal.
- **Spec** — the actual OpenAPI document (2.x or 3.x, JSON or YAML) attached to a version. Each save is stored as a new revision so you keep full history.

## What you can produce

- **A live developer portal** with a home page, API reference, SDK downloads, and changelog. See [Publish a developer portal](publish-a-developer-portal).
- **Client SDKs** in Node.js, Python, Java, C#, and a Bash CLI. See [Generate client SDKs](generate-client-sdks).

## How it connects to the rest of TotalCtrl

Spec saves, breaking changes, version deprecations, and GitHub syncs all fire events and orchestration triggers, so you can automate notifications and workflows in other apps. Every action is written to the audit log.

To get started, create your first project — see [Create an API project](create-an-api-project).

---

## Related Articles

- [Create an API project](https://help.totalctrl.app/en-US/articles/create-an-api-project)
- [Generate client SDKs](https://help.totalctrl.app/en-US/articles/generate-client-sdks)
- [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/)