Skjema – datamodell og metadata

Sist endret

March 5, 2026

Denne dokumentasjonen beskriver hvordan du:

Hente metadata fra skjemadata (CSV)

Metadataene er generert fra JSON-schema, begrenset til SkjemaData, og lagret som CSV.

NoteHva hvis metadata mangler?

Dersom du ikke får hentet ut metadata, ta kontakt med seksjon 821 (betinger at skjemadata er eksportert fra A3Admin i pålogget miljø).

Kodeeksempel

Eksempelet under viser hvordan du henter metadata som CSV og leser resulatet inn i en Pandas DataFrame.

notebook
# Initialiser en klient ved å bruke SuvClient
client = SuvClient()

# Setter parametere for henting av metadata
ra_nummer = "RA-1234A3"   
version = 1               

# Henter angitt skjema - viser i lagret format (csv)
test = client.get_prefill_meta_datamodel_as_csv(ra_nummer=ra_nummer, version=version)

print(test["csv_data"])

# --- Load CSV into DataFrame ---
df = pd.read_csv(
    StringIO(test["csv_data"]),
    sep=";",
    quotechar='"',
    dtype=str
)

df = df.replace("null", pd.NA)
df["min"]  = pd.to_numeric(df["min"], errors="coerce").astype("Int64")
df["maks"] = pd.to_numeric(df["maks"], errors="coerce").astype("Int64")

# --- Add request metadata ---
df = df.assign(
    ra_nummer=ra_nummer,
    version=version
)

# --- Reorder columns (metadata first) ---
meta_cols = ["ra_nummer", "version"]
df = df[meta_cols + [c for c in df.columns if c not in meta_cols]]

# --- Styling ---
text_cols = ["navn", "tittel", "sti", "type", "sti_navn", "kommentar"]

styled_df = (
    df.style
      .set_properties(
          subset=[c for c in text_cols if c in df.columns],
          **{"text-align": "left"}
      )
)

styled_df

Hente hele JSON-schema direkte fra Altinn

Du kan hente komplett JSON-schema direkte fra Altinn API.

Miljøer og endepunkter

  • Produksjon:
notebook
https://ssb.apps.altinn.no/ssb/{app-id}/api/jsonschema/{schema-id}
  • Test:
notebook
https://ssb.apps.tt02.altinn.no/ssb/{app-id}/api/jsonschema/{schema-id}
Parameter Beskrivelse
app-id Format: raXXXX-XX
schema-id Format: A3_RA-XXXX_M

Eksempel:

  • app-id: ra1234-01
  • schema-id: A3_RA-1234_M

Kodeeksempel

Nedenfor finner du eksempel på hvordan du kan hente JSON-schema direkte fra Altinn

notebook
# Initialiser en klient ved å bruke SuvClient
client = SuvClient()

# Setter parametere for henting av metadata
ra_nummer = "RA-1234A3"   
version = 1               

environment = os.getenv("DAPLA_ENVIRONMENT")

# Kjører kall mot Altinn (basert på paramtere ovenfor) og lager Pandas Dataframes
ra_base = ra_nummer.split("A3")[0]       
ra_id = ra_base.replace("-", "").lower() 
version_str = f"{version:02d}"          

if (environment == 'PROD'):
    env_url = 'https://ssb.apps.altinn.no'   
else:
    env_url = 'https://ssb.apps.tt02.altinn.no'

url = f"{env_url}/ssb/{ra_id}-{version_str}/api/jsonschema/A3_{ra_base}_M"

print(url)

res = requests.get(url)

# Tilrettelegger og printer JSON
res2 = res.content.decode("UTF-8")
res3 = json.loads(res2)
res3