Om Studd Public API #

Studd Public API gir utdanningsinstitusjoner mulighet til å hente ut og vise informasjon fra Studd direkte på egne nettsider. Dette inkluderer informasjon om utdanningstilbud, opptak, kontaktpersoner og annen relevant data som normalt ville vært offentlig tilgjengelig.
Forutsetninger #
- Institusjonens nettside må støtte integrasjon mot et API.
- Oppsett og integrasjon gjøres av institusjonens egen webleverandør.
- API-et er åpent (public) og krever ikke innlogging eller autentisering. Det er derfor kun mulig å hente ut informasjon som uansett er ment for offentlig publisering.
Bruk og begrensninger #
- Det er ingen begrensninger på hvor ofte API-et kan benyttes, men vi forbeholder oss retten til å innføre autentisering eller trafikkbegrensninger i fremtiden ved behov. Institusjoner vil i så fall varsles i god tid.
- API-et benytter ikke webhook eller tilsvarende for å varsle om endringer, men dette kan bli aktuelt på et senere tidspunkt.A
Studd Public API for ikke-utviklere #
Studd Public API gjør det mulig å automatisk synkronisere informasjon fra Studd til institusjonens nettside. Endringer i for eksempel emnebeskrivelser, åpne opptak og kontaktinformasjon blir dermed raskt synlige for publikum uten manuell oppdatering. Vi anbefaler at denne funksjonaliteten settes opp av den/de som har teknisk ansvar for nettsiden.
API-et består av flere adresser (URL-er) som kan hentes fra for å vise informasjon på nettsiden. Eksempler:
- Opptak (admissions): Lister og detaljer om studier som er åpne for søknad, inkludert frister, beskrivelser og studiested.
- Studieprogrammer: Beskrivelser av utdanningene institusjonen tilbyr, inkludert læringsutbytte, struktur og emner.
- Emner (subjects): Detaljer om hvert enkelt fag/emne, som innhold, ansvarsperson og antall studiepoeng.
All informasjon er tilgjengelig i et fast format som utviklere lett kan hente ut og vise på nettsiden, f.eks. som lister, kort eller detaljerte sider.
Resten av dokumentet er teknisk og rettet mot utviklere og IT-kyndige.
Studd public API #
Base URL for produksjonsmiljø #
https://adm.studd.no/api/public/organisations/###
Der ### tilsvarer den aktuelle utdanningsinstitusjonens nummer i databasen. Superbruker kan finne dette nummeret ved å logge inn i studd og velge Oppsett. I eksempelet under har organisasjonen kortkode ABC og nummer 123.

Base URL for demomiljø #
https://demo-studd.kongarthur.no/api/public/organisations/###
Der ### tilsvarer den aktuelle utdanningsinstitusjonens nummer i databasen. Nummeret i demomiljøet vil være det samme som i produksjonsmiljøet.

Admission list #
Fetches a list with published Admissions.
URL path:
GET /public/organisations/{organisationId}/admissions
Path parameters:
organisationId - ID of the organisation
Return object example
{
"content":[ // array with admission info objects
{
"id": 12345, // admission identificator
"name": "Digital markedsføring - Høst 2022", // admission name
"description":"<p>Description of admission</p>", // HTML formatted Admission description
"openingDate":"2021-01-01", // Open for applications from
"closingDate":"2022-04-30", // Open for applications to
"teachingStartDate": "2022-08-01", // Date of study start
"courseNusCode": "542207",
"teachingLocationNames": ["Oslo", "Sandefjord"], // Study locations
"courseSubjectAreas": ["Allmenne fag", "Humanistiske og estetiske fag"] // fagområder
"courseId": 12345 // ID of the study program related with the admission
"links": {
"application":"https://demo-studd.kongarthur.no/abc/admissions/{admissionId}" // link to application form for admission
},
"category": "LOCAL" // possible values: LOCAL (for local admissions) or SAMMORDNA_OPPTAK (for Sammordna Opptak admissions)
},
...
],
// paging info
"totalPages":1,
"first": true,
"last": false,
"numberOfElements": 20,
"totalElements": 30,
"size":20, // page size
"number":0, // page number starting from 0
"empty":false
}
Admission details #
Fetches details about a single Admission.
URL path:
GET /public/organisations/{organisationId}/admissions/{admissionId}
Path parameters:
organisationId - ID of the organisation
admissionId - ID of the admission
Response object example:
// Admission details object
{
"id": 12345, // admission id
"name": "Digital markedsføring - Høst 2022", // admission name
"description":"<p>HTML formatted Admission description</p>", // HTML formatted admission description
"openingDate":"2021-01-01", // Open for applications from
"closingDate":"2022-04-30", // Open for applications to
"courseId": 12345 // ID of the study program related with the admission
"courseName": "Digital markedsføring", // Course name
"courseNusCode": "542207",
"courseSubjectAreas": ["Allmenne fag", "Humanistiske og estetiske fag"] // fagområder
"courseDescription": "<p>HTML formatted Course description</p>", // HTML formatted general description of the course
"courseCredits": 10, // Course size in credits
"teachingDescription": "<p>HTML formatted teaching description</p>"
"teachingStartDate": "2021-08-01", // Date of study start
"teachingName":"Digital markedsføring - H21-V23", // name of the Teaching (Teaching - course with time perspective, f.ex. )
"teachingDescription": "<p>HTML formatted Teaching description</p>", // HTML formatted Teaching description
"contactPersonName": "Ola Nordman",
"contactPersonPhone": "44332211",
"contactPersonEmail": "olanordman@studd.no",
"teachingLocationNames": ["Oslo", "Sandefjord"] // Study locations
"links": {
"application":"https://demo-studd.kongarthur.no/abc/admissions/{admissionId}"
},
"category": "LOCAL" // possible values: LOCAL (for local admissions) or SAMMORDNA_OPPTAK (for Sammordna Opptak admissions)
}
Study program list #
Fetches a list of Study Programs for an organisation.
URL path:
GET /public/organisations/{organisationId}/study-programs
Path parameters:
organisationId - ID of the organisation
Response object example:
// Study program details with structure. Fields not having content might be missing in the output.
{
"id": 12345 // study program id
"code": "SUTDD-1", // study program cod
"studyLevel": "Toårig fagskolestudium", // study level (fagområde)
"credits": 120.00, // study program size in credits
"category": "Studd course", // study program category
"academicResponsibility": "Ola Nordman", // person having academic responsibility for the study program
"administrativeResponsibility": "Ola Nordman", // person having administrative responsibility for the study program
"teachingUnit": 1, // for internal use
"evaluationUnit": 1, // for internal use
"diplomaUnit": 1, // for internal use
"nusCode": "542207", // NUS-kode
"introduction": "HTML formatted text", // Study program introduction
"learningOutcomes": "HTML formatted text", // Learning outcomes general
"learningOutcomeKnowledge": "HTML formatted text", // Knowledge
"learningOutcomeSkills": "HTML formatted text", // Skills
"learningOutcomeGenComp": "HTML formatted text", // General competence
"learningMethods": "HTML formatted text", // Learning methods
"assessmentMethods": "HTML formatted text", // Assessment methods
"content": "HTML formatted text", // Subjects
"admissionRequirements": "HTML formatted text",
"exams": "HTML formatted text",
"structure": "HTML formatted text",
"documentation": "HTML formatted text",
"supplementaryInfoList": [ // study program info in different languages
{
"langCode": "NB", // info language code
"name": "Bachelor i Studd", // study program name
"description": "<p>Html formatted public course description</p>"
}
],
"courseStructureElement": {
"courseId": 12345,
"courseRevisionId": 123456,
"courseActive": 1,
"courseCode": "STUDD-1",
"courseName": "Bachelor i Studd",
"courseElementType": "STUDY_PROGRAM",
"credits": 120.00,
"childElements": [
{
"courseId": 11111,
"courseRevisionId": 11112,
"courseActive": 1,
"courseCode": "STUDD-001",
"courseName": "Inføring i Studd",
"courseElementType": "SUBJECT",
"credits": 15.00,
"mandatory": 1,
"sequenceNo": 1,
"childElements": []
}
]
}
}
Study program details #
Fetches study program details object.
URL path:
GET /public/course/{studyProgramId}
Path parameters:
studyProgramId - ID of the study program
// Study program details with structure. Fields not having content might be missing in the output.
{
"id": 12345 // study program id
"code": "SUTDD-1", // study program code
"studyLevel": "Toårig fagskolestudium", // study level (fagområde)
"credits": 120.00, // study program size in credits
"category": "Studd course", // study program category
"academicResponsibility": "Ola Nordman", // person having academic responsibility for the study program
"administrativeResponsibility": "Ola Nordman", // person having administrative responsibility for the study program
"teachingUnit": 1, // for internal use
"evaluationUnit": 1, // for internal use
"diplomaUnit": 1, // for internal use
"nusCode": "542207", // NUS-kode
"introduction": "HTML formatted text", // Study program introduction
"learningOutcomes": "HTML formatted text", // Learning outcomes general
"learningOutcomeKnowledge": "HTML formatted text", // Knowledge
"learningOutcomeSkills": "HTML formatted text", // Skills
"learningOutcomeGenComp": "HTML formatted text", // General competence
"learningMethods": "HTML formatted text", // Learning methods
"assessmentMethods": "HTML formatted text", // Assessment methods
"content": "HTML formatted text", // Subjects
"admissionRequirements": "HTML formatted text",
"exams": "HTML formatted text",
"structure": "HTML formatted text",
"documentation": "HTML formatted text",
"supplementaryInfoList": [ // study program info in different languages
{
"langCode": "NB", // info language code
"name": "Bachelor i Studd", // study program name
"description": "<p>Html formatted public course description</p>"
}
],
"courseStructureElement": {
"courseId": 12345,
"courseRevisionId": 123456,
"courseActive": 1,
"courseCode": "STUDD-1",
"courseName": "Bachelor i Studd",
"courseElementType": "STUDY_PROGRAM",
"credits": 120.00,
"childElements": [
{
"courseId": 11111,
"courseRevisionId": 11112,
"courseActive": 1,
"courseCode": "STUDD-001",
"courseName": "Inføring i Studd",
"courseElementType": "SUBJECT",
"credits": 15.00,
"mandatory": 1,
"sequenceNo": 1,
"childElements": []
}
]
}
}
Subject list #
Fetches a list of Subjects for an organisation.
URL path:
GET /public/organisations/{organisationId}/subjects
Path parameters:
organisationId - ID of the organisation
Response object example:
// Subject list item object
{
"content": [
{
"id": 11111, // subject ID
"code": "STUDD-101", // subject code
"credits": 15.00, // subject size in credits
"category": "Emner", // subject category
"academicResponsibility": "Ola Nordman", // name of the person having academic responsibility for the subject
"administrativeResponsibility": "Olar Nordman", // name of the person having administrative responsibility for the subject
"teachingUnit": 1, // for internal use
"evaluationUnit": 1, // for internal use
"diplomaUnit": 1, // for internal use
"supplementaryInfoList": [ // subject info in different languages
{
"langCode": "NB", // info language code
"name": "Inføring i Studd", // subject name
"description": "<p>Html formatted description of the subject</p>"
}
]
}
],
"totalPages":1,
"first": true,
"last": false,
"numberOfElements": 20,
"totalElements": 30,
"size":20, // page size
"number":0, // page number starting from 0
"empty":false
}
Subject details #
Fetches Subject details object.
URL path:
GET /public/course/{courseId}
Path parameters:
courseId - ID of the subject
Response object example:
// Subject details with structure. Fields not having content might be missing in the output.
{
"id": 12345 // study program id
"code": "SUTDD-1", // study program code
"studyLevel": "Toårig fagskolestudium", // study level (fagområde)
"credits": 120.00, // study program size in credits
"category": "Studd course", // study program category
"academicResponsibility": "Ola Nordman", // person having academic responsibility for the study program
"administrativeResponsibility": "Ola Nordman", // person having administrative responsibility for the study program
"teachingUnit": 1, // for internal use
"evaluationUnit": 1, // for internal use
"diplomaUnit": 1, // for internal use
"nusCode": "542207", // NUS-kode
"introduction": "HTML formatted text", // Subject introduction
"learningOutcomes": "HTML formatted text", // Learning outcomes general
"learningOutcomeKnowledge": "HTML formatted text", // Knowledge
"learningOutcomeSkills": "HTML formatted text", // Skills
"learningOutcomeReflection": "HTML formatted text", // General qualifications
"content": "HTML formatted text", // Subject content
"requiredPrerequisiteKnowledge": "HTML formatted text",
"readingList": "HTML formatted text",
"supplementaryInfoList": [ // study program info in different languages
{
"langCode": "NB", // info language code
"name": "Bachelor i Studd", // study program name
"description": "<p>Html formatted public course description</p>"
}
],
"courseStructureElement": {
"courseId": 12345,
"courseRevisionId": 123456,
"courseActive": 1,
"courseCode": "STUDD-1",
"courseName": "Bachelor i Studd",
"courseElementType": "STUDY_PROGRAM",
"credits": 120.00,
"childElements": [
{
"courseId": 11111,
"courseRevisionId": 11112,
"courseActive": 1,
"courseCode": "STUDD-001",
"courseName": "Inføring i Studd",
"courseElementType": "SUBJECT",
"credits": 15.00,
"mandatory": 1,
"sequenceNo": 1,
"childElements": []
}
]
}
}
URL query parameters #
All API methods fetching a list of objects can be used with the following URL query parameters:
page - page number (starting with 0) to fetch. Example: page=1.
size - page size to fetch (default 20). Example: size=15.
sort - allowed values: [openingDate(default), name],[asc(default), desc]. Example: sort=name,asc.
name.contains - allows searching for admissions with names containing parameter value. Example: name.contains=digital.
0 kommentarer