Skip to content
Apier

Use case

Altinn 3 went live June 19, 2026

Look up Altinn 2 codes and find the corresponding access packages in Altinn 3. An API built for developers integrating with the Norwegian public sector.

Deadline has passed. Altinn 2 is deprecated.

Try the free Altinn 2 → Altinn 3 lookup

Paste a legacy Altinn 2 code and get the Altinn 3 equivalent in one click. No signup.

Tool page is in Norwegian; lookup works for all Altinn 2 codes regardless of language.

Apier is an API for developers integrating with Altinn 3. Not an end-user tool.

What changed on June 19, 2026

  • DigDir decommissioned Altinn 2 on June 19, 2026.
  • All services had to migrate to the Altinn 3 platform by that date.
  • Integrations still pointing at Altinn 2 endpoints no longer work.
  • The most significant change for developers: Altinn 2 roles are being replaced by access packages in Altinn 3. The mapping is not always 1:1 — a single role may split across multiple packages, or vice versa.

Apier exposes this mapping as a public lookup API.

How to use it

Look up an Altinn 2 code (for example A0208) to see which Altinn 3 access packages it corresponds to:

curl

curl "https://www.apier.no/api/v1/tools/altinn-migration?altinn2_code=A0208"

Response

{
  "success": true,
  "data": {
    "deprecation_deadline": "2026-06-19T23:59:59+02:00",
    "timezone": "Europe/Oslo",
    "days_remaining": 0,
    "deadline_passed": true,
    "entry": {
      "altinn2_code": "A0208",
      "altinn2_name_nb": "...",
      "altinn3_code": null,
      "altinn3_name_nb": null,
      "service_owner": "...",
      "migration_notes_nb": "...",
      "migration_notes_en": "...",
      "verified": false
    }
  }
}

TypeScript

const response = await fetch(
  "https://www.apier.no/api/v1/tools/altinn-migration?altinn2_code=A0208"
);
const json = await response.json();
console.log(json.data.days_remaining);
console.log(json.data.entry.altinn3_code);

Python

import requests

response = requests.get(
    "https://www.apier.no/api/v1/tools/altinn-migration",
    params={"altinn2_code": "A0208"},
)
data = response.json()
print(data["data"]["days_remaining"])
print(data["data"]["entry"]["altinn3_code"])

How it fits your integration

The endpoint is public and requires no authentication. It's built to be called directly from deployment scripts, CI jobs, or migration tooling. The response includes days_remaining so you can build alerts or failsafe logic around the deadline date.

Get started

Sign up for an API key. The migration lookup endpoint itself is free and requires no key — keys are for the rest of the Apier API surface.