---
title: "API changelog — version history | Data Tactical Group"
route: "/docs/api/changelog"
updated: "2026-10-23"
---

# Versioning and history

Breaking changes get a new path version. Additive fields and endpoints do not, so clients must tolerate fields they do not know.

## Versioning policy

The version is in the path: `/v2`. A change that removes or renames a field or endpoint, or changes the meaning of a value, ships under a new path version, and the previous version keeps answering for a stated period announced here. Adding a field to a response, a parameter to a request, a problem code, or an endpoint is not a breaking change and does not change the version; a client that rejects unknown fields will break on its own, and a client should treat a problem code it does not know by its HTTP status. Two request parameters are deprecated aliases, `group` (for `order`) and `combine` (for `sum=areas`), and the [reference](/docs/api/reference) marks them; removing them is a breaking change under this policy, and it will be announced here before it happens. One parameter, `region`, and the route `/v2/account/regions` are retired rather than deprecated: they were removed before launch, answer 404 with `region_retired`, and the reference marks them as retired. Use `areas=cluster:<id>` instead.

This page tracks the interface. Changes to the data itself are recorded per vintage on the [releases](/releases) page, which is a different thing: a new vintage changes values; a new API version changes shapes.

## History

Entries are dated, newest first, and never edited after publication.

### Version 2, at launch

The first public version of the API, version 2.0. Live keys and signed-in sessions use `https://api.datatactical.group`; sandbox keys use `https://api.datatactical.group/sandbox`. Every path starts `/v2` except the health check `/healthz`. The [reference](/docs/api/reference) documents 160 operations on 14 pages, and the [errors](/docs/api/errors) page lists 115 problem codes.

| Reference page | What it covers | Operations |
| --- | --- | --- |
| [Industry data](/docs/api/reference/industry) | Industry (QCEW) series, map and location quotient endpoints. | 4 |
| [Occupation data](/docs/api/reference/occupation) | Occupation (OEWS) series, map and location quotient endpoints. | 4 |
| [Taxonomies](/docs/api/reference/taxonomies) | The codes the data routes take: NAICS, SOC, areas, MSAs, ownership, periods. Not metered; cacheable. | 9 |
| [Vintages](/docs/api/reference/vintages) | The data releases this credential can read. | 1 |
| [Account](/docs/api/reference/account) | The signed-in person, their active organization, the rules the screens state, sessions, closing and reopening. | 17 |
| [Keys & usage](/docs/api/reference/keys-and-usage) | API keys (live and sandbox) and the month’s usage. | 4 |
| [Notifications & workspace](/docs/api/reference/notifications-and-workspace) | The in-app notifications and the app’s saved workspace. | 6 |
| [Organization](/docs/api/reference/organization) | Organizations a person can find or join, verified domains and join requests. | 16 |
| [Members & invitations](/docs/api/reference/members-and-invitations) | Members, seats, roles, invitations and ownership. | 17 |
| [Clusters & counties](/docs/api/reference/clusters-and-counties) | The organization’s county set and its saved clusters of codes or counties. | 17 |
| [Billing](/docs/api/reference/billing) | The self-serve subscription: plan, interval, seats, county slots, the API add-on, the card, invoices. | 16 |
| [Support](/docs/api/reference/support) | Support tickets, open to signed-out visitors. | 7 |
| [Authentication](/docs/api/reference/authentication) | Sign-up, sign-in, verification, password reset and the second factor (better-auth). These answer `{code, message}` JSON, not problem documents, except where noted. | 40 |
| [Service](/docs/api/reference/service) | Liveness and this document. | 2 |

Deprecated at launch, still answered, and marked in the reference:

- the parameter `combine`, on `/v2/industry/series`, `/v2/industry/map`, `/v2/industry/lq`, `/v2/occupation/series`, `/v2/occupation/map`, `/v2/occupation/lq`
- the parameter `group`, on `/v2/industry/series`, `/v2/occupation/series`

Retired before launch: still documented, answered with an error, and marked in the reference:

- the parameter `region`, on `/v2/industry/series`, `/v2/industry/lq`, `/v2/occupation/series`, `/v2/occupation/lq`
- the route `/v2/account/regions` (GET, PUT, POST, PATCH, DELETE)
