Skip to content

Migrating from v1

Fredrik Dettner edited this page Jun 20, 2026 · 1 revision

Migrating from v1

v1 continues to work — unchanged. There is no v1 deprecation date. v2 is a brand-new, parallel surface; v1 is not modified in any way — same OData endpoints, same Swedish field names, same Basic auth, same byte-for-byte responses. Adopt v2 when you are ready.

This section is for partners who already integrate v1 and want to know what's different in v2.

What changed

Aspect v1 v2
Protocol OData ($filter, $select, $top, …) Plain REST + named query params
JSON casing PascalCase (CId, Grp) camelCase (companyId, groupName)
Auth Basic auth (via ApplicationUser) X-Api-Key header (Authentication)
Language Swedish only English by default, ?lang=sv for Swedish (Language and localization)
Envelope OData (@odata.context, value) Bare { data, page, pageSize, totalCount, totalPages }
Errors OData error shape RFC 7807 Problem Details (Errors (RFC 7807))
Pagination $top/$skip ?page=/?pageSize= (1-indexed, max 500)
Fastighetsbenchmark (not available in v1) New surface — property units, zones, geometry, time-series, ingestion

Field-name mapping (Bolagsanalys)

The terse v1 OData names expand to self-describing camelCase. Highlights:

v1 field v2 field Notes
CId companyId A Sedis-internal company key (not a SEC CIK).
PId (Parameters) code The parameter code (e.g. NX71).
PId (Data) parameterCode Same code, disambiguated on the data row.
Grp groupName The parameter group display name (e.g. "Key figures").
Info description The parameter's human-readable description.
Q quarterId Packed number 20251 = 2025 Q1 (input also accepts 2025Q1).
Modif lastUpdatedUtc Full ISO-8601 UTC instant (v1 truncated to a date).
Txt text —
Figure figure —

Note — one-way door. Every v2 field name is a permanent contract. Once you encode companyId in your integration, Sedis will not rename it under /v2 — renames require a /v3. See API stability and versioning policy.

A quick before/after

v1 (OData):

curl -u user:pass \
  "https://.../partnerapi/Companies?$top=5&$filter=CId eq 'SE12345'"
# → { "@odata.context": "...", "value": [ { "CId": "SE12345", "Name": "...", "Grp": "..." } ] }

v2 (REST):

curl -H "X-Api-Key: $SEDIS_API_KEY" \
  "https://api.sedis.se/v2/bolagsanalys/companies?pageSize=5&companyId=SE12345"
# → { "data": [ { "companyId": "SE12345", "name": "..." } ], "page": 1, "pageSize": 5, "totalCount": 1, "totalPages": 1 }

Suggested migration path

  1. Get a v2 X-Api-Key (Getting started).
  2. Port your Bolagsanalys reads first — they map almost 1:1 (just casing + names + auth).
  3. Adopt the new Fastighetsbenchmark surface where it adds value (it has no v1 equivalent).
  4. Decommission v1 calls on your own timeline. There is no deadline.

Clone this wiki locally