Changelog
Every change that affects your integration, with the date and the module version. Breaking changes are announced 90 days ahead and marked distinctly.
A non-existent CAEN code now answers 422, not 404
On routes where caen is a filter, a code missing from the nomenclature was rejected with 404. On a listing, 404 means "the resource does not exist" — and a client catching it, the way one catches a section with no data, swallowed "this code does not exist" in silence.
- The status moves from 404 to 422 on the 34 routes where caen is a filter
- The short code stays caen_inexistent — anyone switching on it in code feels nothing
- Routes carrying the code in the path (/caen/{cod}/…, /sector/{caen}/…) stay on 404: there the code is the resource
- An unknown category now answers filtru_necunoscut, like county and legal form, with the explanation in the message
The business module enters public beta
The company registry is available for all accounts, including the free plan.
- New endpoint POST /api/business/v1/firme/bulk, up to 100 codes per request, from the Pro plan
- New field caen_principal in the company response
- The registered office address is linked by code to the locations module
- Daily import at 04:00 UTC, with an optional webhook on completion
Rate limit headers on all responses
Until now, the limit headers appeared only on overage. They are now present on every response.
- x-ratelimit-limit, x-ratelimit-remaining and x-ratelimit-reset on all routes
- x-request-id added for correlation with support
Full hierarchy and unified search
You can request the administrative hierarchy in a single call, without composing several requests.
- Parameter include=judet,regiune on the locality endpoint
- New endpoint GET /api/locations/v1/cauta for search across all unit types
- New field parinte as a short reference to the higher unit
Renaming the geo module to locations
The geo module becomes locations, to make room for administrative datasets outside Romania.
- The /geo/v1/* routes redirect to /api/locations/v1/* until 14 June 2027
- Tokens with access to geo work unchanged for locations
- Update the URLs in your integration by the deadline above
ETag and conditional responses
A well-written client now spends quota only when the data has actually changed.
- ETag and Cache-Control on every response
- If-None-Match returns 304 without spending from the monthly volume
The first module, publicly available
Locations leaves private beta. The response contract is considered stable from this version.
- 6 endpoints, 13,750 records
- OpenAPI specification published
- Console in the documentation, with the account token pre-filled