Re-use code lists from Altinn 2
How to configure code lists that exists in Altinn 2 in an Altinn 3 app?
Deprecated feature
Altinn 2 provided a shared set of codelists for use in forms. Until May 2023 there really wasn’t an alternative for common used codelists accross Altinn 3 applications. By exposing the Altinn 2 codelists api in Altinn 3 applications you would get access to the same set of codelists.
This however is not a long term solution, and with the release of the Altinn Common Codelists package, you now have access to many of the same codelists as in Altinn 2.
You still might find a missing codelist or two in Altinn 3 compared with Altinn 2 - in that case please consier the following:
- Can you create a pull request in Altinn Common Codelists repo and contribute allowing others to re-use your implementation?
- If you don’t have the knowledge or time to create a pull request then just let us know, by creating a new issue and describe what codelist you need and we will either create it or help you do it.
- If you decide to use the Altinn 2 variant, please know that this api won’t be available after June 2025.
Configure an Altinn 2 codelist
For an overview over available codelists in Altinn 2 please use the api
You registrer the lists you want to use in your applications Program.cs
and you can keep updating the code list trough TUL.
using Altinn.App.Core.Features.Options;
...
services.AddAltinn2CodeList(
id: "ASF_Land",
transform: (code) => new (){ Value = code.Code, Label = code.Value1 },
// filter: (code) => int.Parse(code.Value3) > 100,
codeListVersion: 3994, // Optional (use latest version if missing)
metadataApiId: "ASF_Land" // Code list name in Altinn 2 (use id if missing)
);
The id
parameter is required and should be the name of the code list in altinn 2, transform
sorts out what columns
should be assigned to Value
and Label
. Translation is automatic. After version v7.2.0
, nb
will be used as a fallback
for missing languages. If you want two different transformations of the same list (for different components), id
is the
name that is used in Altinn 3 and metadataApiId
is used towards altinn 2.
Usage is as all code lists where id
is written in the optionsId
field of the component.
{
"id": "country",
"type": "Dropdown",
...
"optionsId": "ASF_Land"
},