# Versioning & changes

## Versions

The version is in the path: `https://trutec.ai/api/v1`. Everything in these docs is `v1`.

Within a version we only make **backwards-compatible** changes. A change that could break a working integration ships in a new version (`/v2`), and the old version keeps running while you move.

## Changes we make without notice

These are backwards-compatible, so build your client to tolerate them:

- new endpoints,
- new optional request parameters,
- new fields in responses, and new keys inside existing objects,
- new values for fields that are lists of options, such as a new measurement category or a new job status,
- new webhook event types (you only get the ones you subscribe to),
- changes to the order of fields in a response, and to error `message` text.

In practice: ignore fields you don't know, don't fail on an unknown option value, and branch on `error` and the status code rather than on `message`.

## Breaking changes

A breaking change is one that could stop a correct integration from working, for example removing or renaming a field or endpoint, changing a field's type or meaning, making an optional parameter required, or tightening validation on existing input.

For a breaking change we:

1. ship it in a new version, or behind a new endpoint, alongside the current one;
2. email the owners of every workspace with an active API key at least **90 days** before the old behavior is removed;
3. list it below, with what to change.

The only exception is a change we must make to fix a security problem or a legal requirement. We'll still tell you as early as we can.

## API changelog

| When | Change |
|---|---|
| October 2026 | **New:** [MCP server](mcp.md) at `https://trutec.ai/api/v1/mcp`, so AI assistants can work with your TruTec data |
| October 2026 | **New:** [developer portal](/developers) and complete [OpenAPI 3.1 spec](/developers/openapi.yaml) |
| October 2026 | **New:** [condition ratings](condition-ratings.md), `POST /condition/paser` and `POST /condition/pci` |
| September 2026 | **New:** [estimates](estimates-and-proposals.md), [job costing](job-costing.md), the [event feed and webhook replay](webhooks-and-events.md), and [bulk export](bulk-export.md) |
| February 2026 | **Removed:** `POST /detect`. Use [`POST /detect/full`](measure-a-site.md), which takes the same bounds and returns the full result. `/detect/address` and `/detect/tiles` cover the other ways to start a measurement |
