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 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 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 documents 160 operations on 14 pages, and the errors page lists 115 problem codes.

Reference page What it covers Operations
Industry data Industry (QCEW) series, map and location quotient endpoints. 4
Occupation data Occupation (OEWS) series, map and location quotient endpoints. 4
Taxonomies The codes the data routes take: NAICS, SOC, areas, MSAs, ownership, periods. Not metered; cacheable. 9
Vintages The data releases this credential can read. 1
Account The signed-in person, their active organization, the rules the screens state, sessions, closing and reopening. 17
Keys & usage API keys (live and sandbox) and the month’s usage. 4
Notifications & workspace The in-app notifications and the app’s saved workspace. 6
Organization Organizations a person can find or join, verified domains and join requests. 16
Members & invitations Members, seats, roles, invitations and ownership. 17
Clusters & counties The organization’s county set and its saved clusters of codes or counties. 17
Billing The self-serve subscription: plan, interval, seats, county slots, the API add-on, the card, invoices. 16
Support Support tickets, open to signed-out visitors. 7
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 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)