# Add a version and upload a spec

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

## Create a version

Open your project and click **New Version**. Give it a **version tag** (required and unique within the project, for example `v1`), optional **changelog notes**, and choose how the spec will be supplied:

- **Manual** — you paste or edit the OpenAPI document directly.
- **GitHub** — the spec is fetched from a repository file. See [Sync a spec from GitHub](sync-a-spec-from-github).

## Add the spec

For a manual version, open the **Spec** editor and paste your OpenAPI document. API Hub accepts both OpenAPI 3.x and Swagger 2.x, in JSON or YAML. Use **Validate** to parse the document without saving — it reports the title, version, endpoint count, and any parse error.

When you **Save**, the spec is stored as a new revision and API Hub records a parsed summary (title, base URL, endpoint count, and tags).
## Compatibility checks

If a previous spec exists for the version, each save runs a compatibility diff against it. The result flags whether the change is backwards-compatible and lists any breaking changes. A breaking change fires an orchestration trigger so other TotalCtrl apps can alert your team automatically.
## Managing versions

- **Set as Current** — marks this version as the default shown in the portal (clearing the flag on others).
- **Deprecate** — marks the version `deprecated`; it still appears but is labeled as such.
- **Delete** — removes the version with its specs and SDK builds.

---

## 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)
- [Generate client SDKs](https://help.totalctrl.app/en-US/articles/generate-client-sdks)
- [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/)