Nedenstående er et eksempel på et API-kald, der henter fravær i en given periode fra Studie+ vha et Pythonscript. Scriptet kræver et “client_id” og “secret”. Det kan skolen bestille via supporten.
#
# Lille eksempel for API kald til Studie+ API
# Eksempelprogram er Python kode.
# Python kan hentes her: https://www.python.org/downloads/
#
# Du skal angive din client_id, secret og institutionsnummer
#for at afprøve eksemplet
# (kontakt support hvis du ikke har client_id og secret)
import requests
import os
import json
CLIENT_ID = "indtast clientID her"
CLIENT_SECRET = "indtast client secret her"
INSTNR = "indtast hovedinstitutionsnummer her"
# Først hentes frisk token til videre forespørgsler
# (authentificering)
#
# json parametre til authentificering
requesttoken = {
"client_secret": CLIENT_SECRET,
"client_id": CLIENT_ID,
"grant_type": "client_credentials",
}
# POST request til skolid.se.
# Der returnes token til videre forespørgsler til Studie+ API
response = requests.post("https://skolid.se/connect/token",
data=requesttoken)
print(response.status_code)
print(response.text)
token = response.json()
# Tilføj 'Bearer ' foran token
ACCESS_TOKEN = "Bearer " + token["access_token"]
#
# Nu kan der laves forespørgsler mod Studie+
# Header skal indeholde institutionsnummer og access_token
#
headers = {
"accept": "*/*",
"Content-Type": "application/json",
"instnr": INSTNR,
"Authorization": ACCESS_TOKEN
}
# hvis job tager parametre i body, fx liste af id'er
data = []
# url til et endpoint - her kaldes endpoint for fravær (POST)
url = "https://api.ist.com/uddataplus/institutions/"+INSTNR+
"/release/fravaer?startDato=2026-08-10&slutDato=2026-08-14"
# udfør kald
response = requests.post(url, headers=headers, data=data)
print(response.status_code)
if response.status_code == 200:
resultat = response.json()
print(resultat)
# gem resultat i en fil
with open("apioutput.json", "w", encoding='utf8') as f:
f.write(json.dumps(resultat, indent=3,
sort_keys=True, ensure_ascii=False))