API for Higher Education Data Integration (0.0.1)

Download OpenAPI specification:Download

Introduction

The objective of the HED-schema is to establish a service-independent data model that facilitates seamless integrations between various entities. This ensures that data producers and users can consistently rely on the presence of specific data elements. Specific requirements for studies, courses, information etc. are defined with extension model which is included to main schema in future.

Note! This API is used between opin.fi and Finnish higher order education organizations to exchange data.However, this definition represents development path of HED-schema.

Versioning policy

Participants must provide support for old major versions for transition time.

Over time, the schema will undergo changes. This will alter the version information of the schema, and the implementations of the interfaces must indicate which schema version they implement and support.

The principle of versioning is designed to follow semantic versioning, where the impact of the change is the basis for versioning:

  • Major: Backward-incompatible changes that require service updates. These are avoided through structural design of the schema.
  • Minor: New features that are backward-compatible. For example, new fields that are not mandatory.
  • Patch: Bug fixes or changes that do not affect functionality.

The schema defines a schemaVersion field, where services set the version information of the schema being used. This way, the content receiver knows which version is being used, especially if the interface is not separated by version-specific endpoints, e.g., by the addresses of the interface.

For Example:

  • Major: If there are significant changes in the schema, the major version of the schema changes. Interfaces must be updated according to the new changes, e.g., essential data in the content changes to mandatory. In this case, versioning information can be included in the API endpoint addresses, e.g., /hed/api/v1/get..., /hed/api/v2/get..., etc.
  • Minor: If new optional fields or features are added to the content, this can be a minor change. API interfaces should be prepared for content fields that the API may not recognize.
  • Patch: Descriptive texts of the schema are updated, but the meaning of the fields does not change

Mandatory technical requirements

  • Authorization and auhentication header must be provided
  • The only data format supported in requests and responses is JSON (not eg. XML).
  • If any implementation is based on draft version of schema, some changes to implementation are expected. There is no currently final first version of this schema.

Documentation readiness

For now, the documents may include experimental or proof-of-concept material, so please approach them with a flexible mindset and avoid scrutinizing every detail too closely. They are intended to provide insights rather than definitive conclusions.

Information models

Schema modes for information purpose

CapabilityMethods

A list of supported HTTP methods for the resource.

string (CapabilityMethods)

A list of supported HTTP methods for the resource.

Enum: "GET" "POST" "PUT" "DELETE"
"GET"

CapabilityResources

A list of supported resources for this API implementation.

string (CapabilityResources)

A list of supported resources for this API implementation.

Enum: "AssessmentItem" "CompletionOption" "CourseUnit" "CourseUnitRealization" "Enrolment" "FormalStudyOption" "InformalStudyOption"
"AssessmentItem"

CapabilityStatement

This capability statement provides a capability statement that details the supported resources and methods for this API implementation.

required
Array of objects
supportedResources
required
Array of strings (CapabilityResources)
Items Enum: "AssessmentItem" "CompletionOption" "CourseUnit" "CourseUnitRealization" "Enrolment" "FormalStudyOption" "InformalStudyOption"
{
  • "supportedOperations": [
    ],
  • "supportedResources": [
    ]
}

Retrieve API capabilities

Returns supported resources and operations

SecurityDigivisioBearerAuth
Responses
200

Capability statement

400

Bad request, invalid parameters.

500

Internal server error.

get/capability
Request samples
Response samples
application/json
{
  • "supportedOperations": [
    ],
  • "supportedResources": [
    ]
}

AssessmentItem

Assessment items defines parts for course completions.

See the note below: OKSA: 212: The implementation of a course (c1967) requires information about the method of completion but does not name them as values. The M1 glossary assigns the following values to the method of completion: written exam, oral exam, essay, practical work(s), thesis/dissertation, project/practical work, internship, portfolio, lecture/learning diary, participation in teaching, seminar, demonstration test. (Referenced and unofficially translated from https://iri.suomi.fi/terminology/digivisio_2030/concept-41 )

Get a list of assessment items

Retrieve a list of assessment items with optional filtering and pagination.

SecurityDigivisioBearerAuth
Request
query Parameters
educational-institution-code
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

Example: educational-institution-code=urn:code:oppilaitosnumero:01909
page
integer <int32> (Page) >= 0
Default: 0

Which page to navigate to. Indexing starts from 0.

Example: page=0
pageSize
integer <int32> (PageSize) [ 1 .. 100 ]
Default: 20

How many results to fetch to a single page.

Example: pageSize=20
Responses
200

A list of assessment items

400

Bad request, invalid parameters.

500

Internal server error.

get/assessment-item
Request samples
Response samples
application/json
[
  • {
    }
]

Create a new assessment item

Create a new assessment item in the system.

SecurityDigivisioBearerAuth
Request
Request Body schema: application/json
required
attainmentLanguages
Array of strings (LanguageCode)

Specifies the language in which a student completes their academic coursework or requirements.

required
object (CreditRange)

Schema for a CreditRange object, representing the minimum and maximum values for a range of credits, along with the type of the range. Typically represented in ECTS, the range may vary (e.g., 2-7 credits). If only one value is provided, the range is assumed fixed (e.g., 2-2 credits means 2 credits).

object (TypedMarkupWithTranslations)

Description for assessment item.

externalIdentifier
string

Possible identifier in Educational Institution context

object (TypedMarkupWithTranslations)

Description of assessment item about grading.

identifier
string (AssessmentItemIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.6\.[\w!"#$%...

Global Assessment Item Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "6" followed by an identifier unique within the institution.

object (TypedMarkupWithTranslations)

Learning materials for the assessment item

object (TextWithTranslations)
studyField
string (FieldOfStudyCode) urn:code:okmohjauksenala:[0-9]{1,2}

A Classification Code URN containing the 1 or 2 digit code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/okmohjauksenala/koodi

object (TextWithTranslations)

Study format description for assessment item.

studyFormatType
string (AssessmentItemType)

Assessment Item type. NOTE! Should be change as CodeSystem value.

Enum: "EXAM" "INDEPENDENT_WORK" "TEACHING_PARTICIPATION"
Responses
201

assessment item created successfully.

400

Bad request, invalid input.

500

Internal server error.

post/assessment-item
Request samples
application/json
{
  • "attainmentLanguages": [
    ],
  • "creditRange": {
    },
  • "description": {
    },
  • "externalIdentifier": "string",
  • "gradingDescription": {
    },
  • "identifier": "1.2.246.10.34113206.1.01909.6.option-abc",
  • "learningMaterial": {
    },
  • "name": {
    },
  • "studyField": "urn:code:okmohjauksenala:1",
  • "studyFormat": {
    },
  • "studyFormatType": "EXAM"
}
Response samples
application/json
{
  • "attainmentLanguages": [
    ],
  • "creditRange": {
    },
  • "description": {
    },
  • "externalIdentifier": "string",
  • "gradingDescription": {
    },
  • "identifier": "1.2.246.10.34113206.1.01909.6.option-abc",
  • "learningMaterial": {
    },
  • "name": {
    },
  • "studyField": "urn:code:okmohjauksenala:1",
  • "studyFormat": {
    },
  • "studyFormatType": "EXAM"
}

Get details of a specific assessment item

Retrieve detailed information about a specific assessment item by its ID.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (AssessmentItemIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.6\.[\w!"#$%...

Global Assessment Item Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "6" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.6.option-abc
Responses
200

assessment item details retrieved successfully.

404

assessment item not found.

500

Internal server error.

get/assessment-item/{identifier}
Request samples
Response samples
application/json
{
  • "attainmentLanguages": [
    ],
  • "creditRange": {
    },
  • "description": {
    },
  • "externalIdentifier": "string",
  • "gradingDescription": {
    },
  • "identifier": "1.2.246.10.34113206.1.01909.6.option-abc",
  • "learningMaterial": {
    },
  • "name": {
    },
  • "studyField": "urn:code:okmohjauksenala:1",
  • "studyFormat": {
    },
  • "studyFormatType": "EXAM"
}

Update an existing assessment item

Update the details of an existing assessment item.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (AssessmentItemIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.6\.[\w!"#$%...

Global Assessment Item Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "6" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.6.option-abc
Request Body schema: application/json
required
attainmentLanguages
Array of strings (LanguageCode)

Specifies the language in which a student completes their academic coursework or requirements.

required
object (CreditRange)

Schema for a CreditRange object, representing the minimum and maximum values for a range of credits, along with the type of the range. Typically represented in ECTS, the range may vary (e.g., 2-7 credits). If only one value is provided, the range is assumed fixed (e.g., 2-2 credits means 2 credits).

object (TypedMarkupWithTranslations)

Description for assessment item.

externalIdentifier
string

Possible identifier in Educational Institution context

object (TypedMarkupWithTranslations)

Description of assessment item about grading.

identifier
string (AssessmentItemIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.6\.[\w!"#$%...

Global Assessment Item Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "6" followed by an identifier unique within the institution.

object (TypedMarkupWithTranslations)

Learning materials for the assessment item

object (TextWithTranslations)
studyField
string (FieldOfStudyCode) urn:code:okmohjauksenala:[0-9]{1,2}

A Classification Code URN containing the 1 or 2 digit code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/okmohjauksenala/koodi

object (TextWithTranslations)

Study format description for assessment item.

studyFormatType
string (AssessmentItemType)

Assessment Item type. NOTE! Should be change as CodeSystem value.

Enum: "EXAM" "INDEPENDENT_WORK" "TEACHING_PARTICIPATION"
Responses
200

assessment item updated successfully.

400

Bad request, invalid input.

404

assessment item not found.

500

Internal server error.

put/assessment-item/{identifier}
Request samples
application/json
{
  • "attainmentLanguages": [
    ],
  • "creditRange": {
    },
  • "description": {
    },
  • "externalIdentifier": "string",
  • "gradingDescription": {
    },
  • "identifier": "1.2.246.10.34113206.1.01909.6.option-abc",
  • "learningMaterial": {
    },
  • "name": {
    },
  • "studyField": "urn:code:okmohjauksenala:1",
  • "studyFormat": {
    },
  • "studyFormatType": "EXAM"
}
Response samples
application/json
{
  • "attainmentLanguages": [
    ],
  • "creditRange": {
    },
  • "description": {
    },
  • "externalIdentifier": "string",
  • "gradingDescription": {
    },
  • "identifier": "1.2.246.10.34113206.1.01909.6.option-abc",
  • "learningMaterial": {
    },
  • "name": {
    },
  • "studyField": "urn:code:okmohjauksenala:1",
  • "studyFormat": {
    },
  • "studyFormatType": "EXAM"
}

CodeSystem

Many fields in HEDS (the Higher Education Data Schema) use Code System Codes. For example Language, or Field of Study. These Code Systems are hosted and maintained in opin.fi. Some of the Code Systems are mirrored from other Code Systems, like OPH Koodisto. This mirroring is done manually when necessary in order to have control over changes. Some of the Code Systems are HEDS specific.

Returns all Code Systems.

Returns all Code Systems in short format, without the actual codes.

SecurityDigivisioBearerAuth
Responses
200

Ok

404

Does not really happen, but the Redocly tool wants at least one 4XX response in the API spec.

get/code-system
Request samples
Response samples
application/json
[
  • {
    }
]

Returns the Code System indicated by the Code System Identifier.

Returns the specified Code System with all codes included.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string

The identifier of the Code System to fetch.

Responses
200

Ok

404

Not Found

get/code-system/{identifier}
Request samples
Response samples
application/json
{
  • "identifier": "virtalukukausiilmtila",
  • "description": {
    },
  • "name": {
    },
  • "codes": [
    ]
}

CompletionOption

Get a list of completion options

Retrieve a list of completion options with optional filtering and pagination.

SecurityDigivisioBearerAuth
Request
query Parameters
educational-institution-code
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

Example: educational-institution-code=urn:code:oppilaitosnumero:01909
page
integer <int32> (Page) >= 0
Default: 0

Which page to navigate to. Indexing starts from 0.

Example: page=0
pageSize
integer <int32> (PageSize) [ 1 .. 100 ]
Default: 20

How many results to fetch to a single page.

Example: pageSize=20
Responses
200

A list of completion options

400

Bad request, invalid parameters.

500

Internal server error.

get/completion-option
Request samples
Response samples
application/json
[
  • {
    }
]

Create a new completion option

Create a new completion option in the system.

SecurityDigivisioBearerAuth
Request
Request Body schema: application/json
required
identifier
required
string (CompletionOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.8\.[\w!"#$%...

Global Completion Option Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "8" followed by an identifier unique within the institution.

externalIdentifier
required
string

Identifier in Educational Institution context

assessmentItemIds
Array of strings (AssessmentItemIdentifier)

List of assessment items which are in use for this completion option mapping.

object (MarkupWithTranslations)

The description of this completion option.

object (TextWithTranslations)
mandatoryAssessmentItemIds
Array of strings (AssessmentItemIdentifier)

Mandatory assessment items List (AssessmentItem).

object (TextWithTranslations)

Prerequisites for the completion option.

Responses
201

completion option created successfully.

400

Bad request, invalid input.

500

Internal server error.

post/completion-option
Request samples
application/json
{
  • "identifier": "1.2.246.10.34113206.1.01909.8.option-abc",
  • "externalIdentifier": "6ed825c0-92cd-4161-bf0e-a55cd35d4982",
  • "assessmentItemIds": [
    ],
  • "completionOptionDescription": {
    },
  • "evaluationCriteria": {
    },
  • "mandatoryAssessmentItemIds": [
    ],
  • "prerequisites": {
    }
}
Response samples
application/json
{
  • "identifier": "1.2.246.10.34113206.1.01909.8.option-abc",
  • "externalIdentifier": "6ed825c0-92cd-4161-bf0e-a55cd35d4982",
  • "assessmentItemIds": [
    ],
  • "completionOptionDescription": {
    },
  • "evaluationCriteria": {
    },
  • "mandatoryAssessmentItemIds": [
    ],
  • "prerequisites": {
    }
}

Get details of a specific Completion Option

Retrieve detailed information about a specific Completion Option by its ID.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (CompletionOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.8\.[\w!"#$%...

Global Completion Option Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "8" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.8.option-abc
Responses
200

Completion Option details retrieved successfully.

404

Completion Option not found.

500

Internal server error.

get/completion-option/{identifier}
Request samples
Response samples
application/json
{
  • "identifier": "1.2.246.10.34113206.1.01909.8.option-abc",
  • "externalIdentifier": "6ed825c0-92cd-4161-bf0e-a55cd35d4982",
  • "assessmentItemIds": [
    ],
  • "completionOptionDescription": {
    },
  • "evaluationCriteria": {
    },
  • "mandatoryAssessmentItemIds": [
    ],
  • "prerequisites": {
    }
}

Update an existing Completion Option

Update the details of an existing Completion Option.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (CompletionOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.8\.[\w!"#$%...

Global Completion Option Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "8" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.8.option-abc
Request Body schema: application/json
required
identifier
required
string (CompletionOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.8\.[\w!"#$%...

Global Completion Option Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "8" followed by an identifier unique within the institution.

externalIdentifier
required
string

Identifier in Educational Institution context

assessmentItemIds
Array of strings (AssessmentItemIdentifier)

List of assessment items which are in use for this completion option mapping.

object (MarkupWithTranslations)

The description of this completion option.

object (TextWithTranslations)
mandatoryAssessmentItemIds
Array of strings (AssessmentItemIdentifier)

Mandatory assessment items List (AssessmentItem).

object (TextWithTranslations)

Prerequisites for the completion option.

Responses
200

Completion Option updated successfully.

400

Bad request, invalid input.

404

Completion Option not found.

500

Internal server error.

put/completion-option/{identifier}
Request samples
application/json
{
  • "identifier": "1.2.246.10.34113206.1.01909.8.option-abc",
  • "externalIdentifier": "6ed825c0-92cd-4161-bf0e-a55cd35d4982",
  • "assessmentItemIds": [
    ],
  • "completionOptionDescription": {
    },
  • "evaluationCriteria": {
    },
  • "mandatoryAssessmentItemIds": [
    ],
  • "prerequisites": {
    }
}
Response samples
application/json
{
  • "identifier": "1.2.246.10.34113206.1.01909.8.option-abc",
  • "externalIdentifier": "6ed825c0-92cd-4161-bf0e-a55cd35d4982",
  • "assessmentItemIds": [
    ],
  • "completionOptionDescription": {
    },
  • "evaluationCriteria": {
    },
  • "mandatoryAssessmentItemIds": [
    ],
  • "prerequisites": {
    }
}

CourseUnit

A specific part of studies that deals with a particular area of expertise, topic, or content, which can be completed separately and has defined scope and objectives. (Reference and unofficially translated from https://sanastot.suomi.fi/terminology/oksa/concept/c264 )

Get a list of course units

Retrieve a list of course units with optional filtering and pagination.

SecurityDigivisioBearerAuth
Request
query Parameters
educational-institution-code
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

Example: educational-institution-code=urn:code:oppilaitosnumero:01909
page
integer <int32> (Page) >= 0
Default: 0

Which page to navigate to. Indexing starts from 0.

Example: page=0
pageSize
integer <int32> (PageSize) [ 1 .. 100 ]
Default: 20

How many results to fetch to a single page.

Example: pageSize=20
Responses
200

A list of course units

400

Bad request, invalid parameters.

500

Internal server error.

get/course-unit
Request samples
Response samples
application/json
[
  • {
    }
]

Create a new course unit

Create a new course unit in the system.

SecurityDigivisioBearerAuth
Request
Request Body schema: application/json
required
object (MarkupWithTranslations)

This field provides supplementary details and context related to the primary data. It is intended to capture any relevant information that enhances understanding, including explanations, clarifications, or additional notes that may be necessary for comprehensive interpretation.

code
string

The code identifying the course unit from original source.

completionLanguages
Array of strings (LanguageCode)

The languages in which the course can be completed. Language codes retrieved from a coding system.

required
Array of objects (CompletionOption)

A list of all possible completion methods for this course unit. Example methods include attending lectures, exams, internships, or recognition of prior learning.

Array of objects (ContactPerson)
object (MarkupWithTranslations)

A detailed description of the course content.

required
object (CreditRange)

Schema for a CreditRange object, representing the minimum and maximum values for a range of credits, along with the type of the range. Typically represented in ECTS, the range may vary (e.g., 2-7 credits). If only one value is provided, the range is assumed fixed (e.g., 2-2 credits means 2 credits).

object (MarkupWithTranslations)

Textual explanation how credits are earned when minimum and maximum are defined. How learner can achieve maximum credits.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

Responsible organization

evaluationScale
string

Evaluation scale used for the realization (to be determined by schema definition).

externalIdentifier
required
string

An identifier provided by the organizing institution.

identifier
required
string (StudyElementIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.5\.[\w!"#$%...

The HED identifier for the course unit, acting as a node reference.

object (MarkupWithTranslations)

Content compatibility instructions for the course unit

object (TextWithTranslations)

A brief description that encapsulates the main idea or purpose of the data object, allowing users to quickly grasp its significance.

keywords
Array of strings

Keywords describing the course content, used mainly for query support.

object (MarkupWithTranslations)

Learning materials for the course unit

required
object (TextWithTranslations)

Visible names for course unit with language translations.

object (MarkupWithTranslations)

Description of the course objectives, detailing what students should achieve upon completion.

object (MarkupWithTranslations)

Prerequisites for the course unit

state
required
string (CurriculumStateCode) urn:code:curriculum-state:(active|deleted|can...

A URN code containing the curriculum study element state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/curriculum-state):

studyField
string (FieldOfStudyCode) urn:code:okmohjauksenala:[0-9]{1,2}

The field of study (from a predefined code set). Example values are retrieved from the specified coding system.

studyLevel
string (StudyLevelCode) urn:code:study-level:TODO

The level of study, retrieved from a coding system.

required
object (OffsetDateTimeRange)

The validity period of the course unit. If the validity period is not provided in the source data, it could be assumed to start from the data transfer date.

Responses
201

Course unit created successfully.

400

Bad request, invalid input.

500

Internal server error.

post/course-unit
Request samples
application/json
{
  • "additionalInformation": {
    },
  • "code": "ODKP1190",
  • "completionLanguages": [
    ],
  • "completionOptions": [
    ],
  • "contactDetails": [
    ],
  • "content": {
    },
  • "creditRange": {
    },
  • "creditsDescription": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "evaluationScale": "string",
  • "externalIdentifier": "otm-2278f170-d8d0-4bf4-8e31-7b0e7f512f96",
  • "identifier": "1.2.246.10.34113206.1.01909.5.option-abc",
  • "inclusionApplicationInstruction": {
    },
  • "ingress": {
    },
  • "keywords": [
    ],
  • "learningMaterial": {
    },
  • "name": {
    },
  • "objective": {
    },
  • "prerequisites": {
    },
  • "state": "urn:code:curriculum-state:active",
  • "studyField": "urn:code:okmohjauksenala:1",
  • "studyLevel": "urn:code:study-level:TODO",
  • "validityPeriod": {
    }
}
Response samples
application/json
{
  • "additionalInformation": {
    },
  • "code": "ODKP1190",
  • "completionLanguages": [
    ],
  • "completionOptions": [
    ],
  • "contactDetails": [
    ],
  • "content": {
    },
  • "creditRange": {
    },
  • "creditsDescription": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "evaluationScale": "string",
  • "externalIdentifier": "otm-2278f170-d8d0-4bf4-8e31-7b0e7f512f96",
  • "identifier": "1.2.246.10.34113206.1.01909.5.option-abc",
  • "inclusionApplicationInstruction": {
    },
  • "ingress": {
    },
  • "keywords": [
    ],
  • "learningMaterial": {
    },
  • "name": {
    },
  • "objective": {
    },
  • "prerequisites": {
    },
  • "state": "urn:code:curriculum-state:active",
  • "studyField": "urn:code:okmohjauksenala:1",
  • "studyLevel": "urn:code:study-level:TODO",
  • "validityPeriod": {
    }
}

Add or update a batch of course units

Creates or updates a batch of course units in the system.

SecurityDigivisioBearerAuth
Request
Request Body schema: application/json
required
Array ([ 1 .. 20 ] items)
object (MarkupWithTranslations)

This field provides supplementary details and context related to the primary data. It is intended to capture any relevant information that enhances understanding, including explanations, clarifications, or additional notes that may be necessary for comprehensive interpretation.

code
string

The code identifying the course unit from original source.

completionLanguages
Array of strings (LanguageCode)

The languages in which the course can be completed. Language codes retrieved from a coding system.

required
Array of objects (CompletionOption)

A list of all possible completion methods for this course unit. Example methods include attending lectures, exams, internships, or recognition of prior learning.

Array of objects (ContactPerson)
object (MarkupWithTranslations)

A detailed description of the course content.

required
object (CreditRange)

Schema for a CreditRange object, representing the minimum and maximum values for a range of credits, along with the type of the range. Typically represented in ECTS, the range may vary (e.g., 2-7 credits). If only one value is provided, the range is assumed fixed (e.g., 2-2 credits means 2 credits).

object (MarkupWithTranslations)

Textual explanation how credits are earned when minimum and maximum are defined. How learner can achieve maximum credits.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

Responsible organization

evaluationScale
string

Evaluation scale used for the realization (to be determined by schema definition).

externalIdentifier
required
string

An identifier provided by the organizing institution.

identifier
required
string (StudyElementIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.5\.[\w!"#$%...

The HED identifier for the course unit, acting as a node reference.

object (MarkupWithTranslations)

Content compatibility instructions for the course unit

object (TextWithTranslations)

A brief description that encapsulates the main idea or purpose of the data object, allowing users to quickly grasp its significance.

keywords
Array of strings

Keywords describing the course content, used mainly for query support.

object (MarkupWithTranslations)

Learning materials for the course unit

required
object (TextWithTranslations)

Visible names for course unit with language translations.

object (MarkupWithTranslations)

Description of the course objectives, detailing what students should achieve upon completion.

object (MarkupWithTranslations)

Prerequisites for the course unit

state
required
string (CurriculumStateCode) urn:code:curriculum-state:(active|deleted|can...

A URN code containing the curriculum study element state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/curriculum-state):

studyField
string (FieldOfStudyCode) urn:code:okmohjauksenala:[0-9]{1,2}

The field of study (from a predefined code set). Example values are retrieved from the specified coding system.

studyLevel
string (StudyLevelCode) urn:code:study-level:TODO

The level of study, retrieved from a coding system.

required
object (OffsetDateTimeRange)

The validity period of the course unit. If the validity period is not provided in the source data, it could be assumed to start from the data transfer date.

Responses
200

All course units updated successfully.

201

All course units created successfully.

207

Course units added or updated with varying statuses

400

Bad request, all entries in batch are invalid.

500

Internal server error.

put/course-unit/batch
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "data": [
    ]
}

Get details of a specific course unit

Retrieve detailed information about a specific course unit by its ID.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (CourseUnitIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.5\.[\w!"#$%...

Global Study Element Identifier. Can identify CourseUnit. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "5" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.5.option-abc
Responses
200

Course unit details retrieved successfully.

404

Course unit not found.

500

Internal server error.

get/course-unit/{identifier}
Request samples
Response samples
application/json
{
  • "additionalInformation": {
    },
  • "code": "ODKP1190",
  • "completionLanguages": [
    ],
  • "completionOptions": [
    ],
  • "contactDetails": [
    ],
  • "content": {
    },
  • "creditRange": {
    },
  • "creditsDescription": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "evaluationScale": "string",
  • "externalIdentifier": "otm-2278f170-d8d0-4bf4-8e31-7b0e7f512f96",
  • "identifier": "1.2.246.10.34113206.1.01909.5.option-abc",
  • "inclusionApplicationInstruction": {
    },
  • "ingress": {
    },
  • "keywords": [
    ],
  • "learningMaterial": {
    },
  • "name": {
    },
  • "objective": {
    },
  • "prerequisites": {
    },
  • "state": "urn:code:curriculum-state:active",
  • "studyField": "urn:code:okmohjauksenala:1",
  • "studyLevel": "urn:code:study-level:TODO",
  • "validityPeriod": {
    }
}

Update an existing course unit

Update the details of an existing course unit.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (CourseUnitIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.5\.[\w!"#$%...

Global Study Element Identifier. Can identify CourseUnit. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "5" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.5.option-abc
Request Body schema: application/json
required
object (MarkupWithTranslations)

This field provides supplementary details and context related to the primary data. It is intended to capture any relevant information that enhances understanding, including explanations, clarifications, or additional notes that may be necessary for comprehensive interpretation.

code
string

The code identifying the course unit from original source.

completionLanguages
Array of strings (LanguageCode)

The languages in which the course can be completed. Language codes retrieved from a coding system.

required
Array of objects (CompletionOption)

A list of all possible completion methods for this course unit. Example methods include attending lectures, exams, internships, or recognition of prior learning.

Array of objects (ContactPerson)
object (MarkupWithTranslations)

A detailed description of the course content.

required
object (CreditRange)

Schema for a CreditRange object, representing the minimum and maximum values for a range of credits, along with the type of the range. Typically represented in ECTS, the range may vary (e.g., 2-7 credits). If only one value is provided, the range is assumed fixed (e.g., 2-2 credits means 2 credits).

object (MarkupWithTranslations)

Textual explanation how credits are earned when minimum and maximum are defined. How learner can achieve maximum credits.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

Responsible organization

evaluationScale
string

Evaluation scale used for the realization (to be determined by schema definition).

externalIdentifier
required
string

An identifier provided by the organizing institution.

identifier
required
string (StudyElementIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.5\.[\w!"#$%...

The HED identifier for the course unit, acting as a node reference.

object (MarkupWithTranslations)

Content compatibility instructions for the course unit

object (TextWithTranslations)

A brief description that encapsulates the main idea or purpose of the data object, allowing users to quickly grasp its significance.

keywords
Array of strings

Keywords describing the course content, used mainly for query support.

object (MarkupWithTranslations)

Learning materials for the course unit

required
object (TextWithTranslations)

Visible names for course unit with language translations.

object (MarkupWithTranslations)

Description of the course objectives, detailing what students should achieve upon completion.

object (MarkupWithTranslations)

Prerequisites for the course unit

state
required
string (CurriculumStateCode) urn:code:curriculum-state:(active|deleted|can...

A URN code containing the curriculum study element state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/curriculum-state):

studyField
string (FieldOfStudyCode) urn:code:okmohjauksenala:[0-9]{1,2}

The field of study (from a predefined code set). Example values are retrieved from the specified coding system.

studyLevel
string (StudyLevelCode) urn:code:study-level:TODO

The level of study, retrieved from a coding system.

required
object (OffsetDateTimeRange)

The validity period of the course unit. If the validity period is not provided in the source data, it could be assumed to start from the data transfer date.

Responses
200

Course unit updated successfully.

400

Bad request, invalid input.

404

Course unit not found.

500

Internal server error.

put/course-unit/{identifier}
Request samples
application/json
{
  • "additionalInformation": {
    },
  • "code": "ODKP1190",
  • "completionLanguages": [
    ],
  • "completionOptions": [
    ],
  • "contactDetails": [
    ],
  • "content": {
    },
  • "creditRange": {
    },
  • "creditsDescription": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "evaluationScale": "string",
  • "externalIdentifier": "otm-2278f170-d8d0-4bf4-8e31-7b0e7f512f96",
  • "identifier": "1.2.246.10.34113206.1.01909.5.option-abc",
  • "inclusionApplicationInstruction": {
    },
  • "ingress": {
    },
  • "keywords": [
    ],
  • "learningMaterial": {
    },
  • "name": {
    },
  • "objective": {
    },
  • "prerequisites": {
    },
  • "state": "urn:code:curriculum-state:active",
  • "studyField": "urn:code:okmohjauksenala:1",
  • "studyLevel": "urn:code:study-level:TODO",
  • "validityPeriod": {
    }
}
Response samples
application/json
{
  • "additionalInformation": {
    },
  • "code": "ODKP1190",
  • "completionLanguages": [
    ],
  • "completionOptions": [
    ],
  • "contactDetails": [
    ],
  • "content": {
    },
  • "creditRange": {
    },
  • "creditsDescription": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "evaluationScale": "string",
  • "externalIdentifier": "otm-2278f170-d8d0-4bf4-8e31-7b0e7f512f96",
  • "identifier": "1.2.246.10.34113206.1.01909.5.option-abc",
  • "inclusionApplicationInstruction": {
    },
  • "ingress": {
    },
  • "keywords": [
    ],
  • "learningMaterial": {
    },
  • "name": {
    },
  • "objective": {
    },
  • "prerequisites": {
    },
  • "state": "urn:code:curriculum-state:active",
  • "studyField": "urn:code:okmohjauksenala:1",
  • "studyLevel": "urn:code:study-level:TODO",
  • "validityPeriod": {
    }
}

CourseUnitRealization

A course organized by an educational provider, taking place at a specific time and location. (Reference and unofficially translated from https://sanastot.suomi.fi/terminology/oksa/concept/c1967 )

Get a list of course units realization

Retrieve a list of course units realization with optional filtering and pagination.

SecurityDigivisioBearerAuth
Request
query Parameters
educational-institution-code
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

Example: educational-institution-code=urn:code:oppilaitosnumero:01909
page
integer <int32> (Page) >= 0
Default: 0

Which page to navigate to. Indexing starts from 0.

Example: page=0
pageSize
integer <int32> (PageSize) [ 1 .. 100 ]
Default: 20

How many results to fetch to a single page.

Example: pageSize=20
Responses
200

A list of course units realizations

400

Bad request, invalid parameters.

500

Internal server error.

get/course-unit-realization
Request samples
Response samples
application/json
[
  • {
    }
]

Create a new course unit realization

Create a new course unit in the system.

SecurityDigivisioBearerAuth
Request
Request Body schema: application/json
required
object (MarkupWithTranslations)

This field provides supplementary details and context related to the primary data. It is intended to capture any relevant information that enhances understanding, including explanations, clarifications, or additional notes that may be necessary for comprehensive interpretation.

assessmentItemIds
required
Array of strings (AssessmentItemIdentifier)

Reference to Assessment Items

code
string

The code identifying the course unit realization from original source.

required
Array of objects (ContactPerson)

Contact details for responsible persons or organizing entities. The service displaying the data determines whether to use these details or those linked to the offering or course.

continuousEnrolment
boolean

Indicates whether continuous enrolment is allowed for the realization. If true, students can enroll at any time within the defined enrolment period, with immediate confirmation.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

Responsible organization

enrolmentCancellationEnd
string <date-time> (OffsetDateTime)

Last date and time to cancel enrolment for the realization.

object (OffsetDateTimeRange)

The period during which enrolments for the realization are open.

evaluationScale
string

Evaluation scale used for the realization (to be determined by schema definition).

object (WebLinkWithTranslations)

Web link for enrolment in the realization.

externalIdentifier
required
string

An identifier provided by the organizing institution.

identifier
required
string (CourseUnitRealizationIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.7\.[\w!"#$%...

The HED identifier for the course unit realization, acting as a node reference.

object (TextWithTranslations)

A brief description that encapsulates the main idea or purpose of the data object, allowing users to quickly grasp its significance.

object (TextWithTranslations)

A description of the learning environment used in the course realization.

object (MarkupWithTranslations)

A description of the teaching materials used in the course realization. This may include reading lists or other required resources.

Array of objects (Location)

Physical locations where the course realization takes place. Examples include university buildings and classrooms.

required
object (TextWithTranslations)

The name of the course realization in different languages. Example names could specify the teaching method or provider details.

realizationType
required
string (CourseUnitRealizationTypeCode) urn:code:course-unit-realisation-type:(\S{1,6...

A URN code containing the course unit realization type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/course-unit-realization-type):

state
required
string (CurriculumStateCode) urn:code:curriculum-state:(active|deleted|can...

A URN code containing the curriculum study element state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/curriculum-state):

teachingLanguages
string (LanguageCode) urn:code:kieli:..

The language(s) of instruction. Language codes are retrieved from a coding system.

required
object (OffsetDateTimeRange)

The actual period during which the course realization takes place. This includes times such as exam dates or participation windows.

Responses
201

Course unit realization created successfully.

400

Bad request, invalid input.

500

Internal server error.

post/course-unit-realization
Request samples
application/json
{
  • "additionalInformation": {
    },
  • "assessmentItemIds": [
    ],
  • "code": "ODKP1190",
  • "contactDetails": [
    ],
  • "continuousEnrolment": true,
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "enrolmentCancellationEnd": "2022-11-01T00:00:00Z",
  • "enrolmentPeriod": {
    },
  • "evaluationScale": "string",
  • "externalEnrolmentLink": {
    },
  • "externalIdentifier": "otm-2278f170-d8d0-4bf4-8e31-7b0e7f512f96",
  • "identifier": "1.2.246.10.34113206.1.01909.7.option-abc",
  • "ingress": {
    },
  • "learningEnvironment": {
    },
  • "learningMaterial": {
    },
  • "locations": [
    ],
  • "name": {
    },
  • "realizationType": "urn:code:course-unit-realisation-type:exam",
  • "state": "urn:code:curriculum-state:active",
  • "teachingLanguages": "urn:code:kieli:FI",
  • "validityPeriod": {
    }
}
Response samples
application/json
{
  • "additionalInformation": {
    },
  • "assessmentItemIds": [
    ],
  • "code": "ODKP1190",
  • "contactDetails": [
    ],
  • "continuousEnrolment": true,
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "enrolmentCancellationEnd": "2022-11-01T00:00:00Z",
  • "enrolmentPeriod": {
    },
  • "evaluationScale": "string",
  • "externalEnrolmentLink": {
    },
  • "externalIdentifier": "otm-2278f170-d8d0-4bf4-8e31-7b0e7f512f96",
  • "identifier": "1.2.246.10.34113206.1.01909.7.option-abc",
  • "ingress": {
    },
  • "learningEnvironment": {
    },
  • "learningMaterial": {
    },
  • "locations": [
    ],
  • "name": {
    },
  • "realizationType": "urn:code:course-unit-realisation-type:exam",
  • "state": "urn:code:curriculum-state:active",
  • "teachingLanguages": "urn:code:kieli:FI",
  • "validityPeriod": {
    }
}

Add or update a batch of course unit realizations

Creates or updates a batch of course unit realizations in the system.

SecurityDigivisioBearerAuth
Request
Request Body schema: application/json
required
Array ([ 1 .. 20 ] items)
object (MarkupWithTranslations)

This field provides supplementary details and context related to the primary data. It is intended to capture any relevant information that enhances understanding, including explanations, clarifications, or additional notes that may be necessary for comprehensive interpretation.

assessmentItemIds
required
Array of strings (AssessmentItemIdentifier)

Reference to Assessment Items

code
string

The code identifying the course unit realization from original source.

required
Array of objects (ContactPerson)

Contact details for responsible persons or organizing entities. The service displaying the data determines whether to use these details or those linked to the offering or course.

continuousEnrolment
boolean

Indicates whether continuous enrolment is allowed for the realization. If true, students can enroll at any time within the defined enrolment period, with immediate confirmation.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

Responsible organization

enrolmentCancellationEnd
string <date-time> (OffsetDateTime)

Last date and time to cancel enrolment for the realization.

object (OffsetDateTimeRange)

The period during which enrolments for the realization are open.

evaluationScale
string

Evaluation scale used for the realization (to be determined by schema definition).

object (WebLinkWithTranslations)

Web link for enrolment in the realization.

externalIdentifier
required
string

An identifier provided by the organizing institution.

identifier
required
string (CourseUnitRealizationIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.7\.[\w!"#$%...

The HED identifier for the course unit realization, acting as a node reference.

object (TextWithTranslations)

A brief description that encapsulates the main idea or purpose of the data object, allowing users to quickly grasp its significance.

object (TextWithTranslations)

A description of the learning environment used in the course realization.

object (MarkupWithTranslations)

A description of the teaching materials used in the course realization. This may include reading lists or other required resources.

Array of objects (Location)

Physical locations where the course realization takes place. Examples include university buildings and classrooms.

required
object (TextWithTranslations)

The name of the course realization in different languages. Example names could specify the teaching method or provider details.

realizationType
required
string (CourseUnitRealizationTypeCode) urn:code:course-unit-realisation-type:(\S{1,6...

A URN code containing the course unit realization type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/course-unit-realization-type):

state
required
string (CurriculumStateCode) urn:code:curriculum-state:(active|deleted|can...

A URN code containing the curriculum study element state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/curriculum-state):

teachingLanguages
string (LanguageCode) urn:code:kieli:..

The language(s) of instruction. Language codes are retrieved from a coding system.

required
object (OffsetDateTimeRange)

The actual period during which the course realization takes place. This includes times such as exam dates or participation windows.

Responses
200

All course unit realizations updated successfully.

201

All course unit realizations created successfully.

207

Course units added or updated with varying statuses

400

Bad request, all entries in batch are invalid.

500

Internal server error.

put/course-unit-realization/batch
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "data": [
    ]
}

Get details of a specific course unit realization

Retrieve detailed information about a specific course unit realization by its ID.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (CourseUnitRealizationIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.7\.[\w!"#$%...

Global Course Unit Realization Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "7" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.7.option-abc
Responses
200

Course unit realizations details retrieved successfully.

404

Course unit not found.

500

Internal server error.

get/course-unit-realization/{identifier}
Request samples
Response samples
application/json
{
  • "additionalInformation": {
    },
  • "assessmentItemIds": [
    ],
  • "code": "ODKP1190",
  • "contactDetails": [
    ],
  • "continuousEnrolment": true,
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "enrolmentCancellationEnd": "2022-11-01T00:00:00Z",
  • "enrolmentPeriod": {
    },
  • "evaluationScale": "string",
  • "externalEnrolmentLink": {
    },
  • "externalIdentifier": "otm-2278f170-d8d0-4bf4-8e31-7b0e7f512f96",
  • "identifier": "1.2.246.10.34113206.1.01909.7.option-abc",
  • "ingress": {
    },
  • "learningEnvironment": {
    },
  • "learningMaterial": {
    },
  • "locations": [
    ],
  • "name": {
    },
  • "realizationType": "urn:code:course-unit-realisation-type:exam",
  • "state": "urn:code:curriculum-state:active",
  • "teachingLanguages": "urn:code:kieli:FI",
  • "validityPeriod": {
    }
}

Update an existing course unit realization

Update the details of an existing course unit realization.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (CourseUnitRealizationIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.7\.[\w!"#$%...

Global Course Unit Realization Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "7" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.7.option-abc
Request Body schema: application/json
required
object (MarkupWithTranslations)

This field provides supplementary details and context related to the primary data. It is intended to capture any relevant information that enhances understanding, including explanations, clarifications, or additional notes that may be necessary for comprehensive interpretation.

assessmentItemIds
required
Array of strings (AssessmentItemIdentifier)

Reference to Assessment Items

code
string

The code identifying the course unit realization from original source.

required
Array of objects (ContactPerson)

Contact details for responsible persons or organizing entities. The service displaying the data determines whether to use these details or those linked to the offering or course.

continuousEnrolment
boolean

Indicates whether continuous enrolment is allowed for the realization. If true, students can enroll at any time within the defined enrolment period, with immediate confirmation.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

Responsible organization

enrolmentCancellationEnd
string <date-time> (OffsetDateTime)

Last date and time to cancel enrolment for the realization.

object (OffsetDateTimeRange)

The period during which enrolments for the realization are open.

evaluationScale
string

Evaluation scale used for the realization (to be determined by schema definition).

object (WebLinkWithTranslations)

Web link for enrolment in the realization.

externalIdentifier
required
string

An identifier provided by the organizing institution.

identifier
required
string (CourseUnitRealizationIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.7\.[\w!"#$%...

The HED identifier for the course unit realization, acting as a node reference.

object (TextWithTranslations)

A brief description that encapsulates the main idea or purpose of the data object, allowing users to quickly grasp its significance.

object (TextWithTranslations)

A description of the learning environment used in the course realization.

object (MarkupWithTranslations)

A description of the teaching materials used in the course realization. This may include reading lists or other required resources.

Array of objects (Location)

Physical locations where the course realization takes place. Examples include university buildings and classrooms.

required
object (TextWithTranslations)

The name of the course realization in different languages. Example names could specify the teaching method or provider details.

realizationType
required
string (CourseUnitRealizationTypeCode) urn:code:course-unit-realisation-type:(\S{1,6...

A URN code containing the course unit realization type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/course-unit-realization-type):

state
required
string (CurriculumStateCode) urn:code:curriculum-state:(active|deleted|can...

A URN code containing the curriculum study element state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/curriculum-state):

teachingLanguages
string (LanguageCode) urn:code:kieli:..

The language(s) of instruction. Language codes are retrieved from a coding system.

required
object (OffsetDateTimeRange)

The actual period during which the course realization takes place. This includes times such as exam dates or participation windows.

Responses
200

Course unit realization updated successfully.

400

Bad request, invalid input.

404

Course unit realization not found.

500

Internal server error.

put/course-unit-realization/{identifier}
Request samples
application/json
{
  • "additionalInformation": {
    },
  • "assessmentItemIds": [
    ],
  • "code": "ODKP1190",
  • "contactDetails": [
    ],
  • "continuousEnrolment": true,
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "enrolmentCancellationEnd": "2022-11-01T00:00:00Z",
  • "enrolmentPeriod": {
    },
  • "evaluationScale": "string",
  • "externalEnrolmentLink": {
    },
  • "externalIdentifier": "otm-2278f170-d8d0-4bf4-8e31-7b0e7f512f96",
  • "identifier": "1.2.246.10.34113206.1.01909.7.option-abc",
  • "ingress": {
    },
  • "learningEnvironment": {
    },
  • "learningMaterial": {
    },
  • "locations": [
    ],
  • "name": {
    },
  • "realizationType": "urn:code:course-unit-realisation-type:exam",
  • "state": "urn:code:curriculum-state:active",
  • "teachingLanguages": "urn:code:kieli:FI",
  • "validityPeriod": {
    }
}
Response samples
application/json
{
  • "additionalInformation": {
    },
  • "assessmentItemIds": [
    ],
  • "code": "ODKP1190",
  • "contactDetails": [
    ],
  • "continuousEnrolment": true,
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "enrolmentCancellationEnd": "2022-11-01T00:00:00Z",
  • "enrolmentPeriod": {
    },
  • "evaluationScale": "string",
  • "externalEnrolmentLink": {
    },
  • "externalIdentifier": "otm-2278f170-d8d0-4bf4-8e31-7b0e7f512f96",
  • "identifier": "1.2.246.10.34113206.1.01909.7.option-abc",
  • "ingress": {
    },
  • "learningEnvironment": {
    },
  • "learningMaterial": {
    },
  • "locations": [
    ],
  • "name": {
    },
  • "realizationType": "urn:code:course-unit-realisation-type:exam",
  • "state": "urn:code:curriculum-state:active",
  • "teachingLanguages": "urn:code:kieli:FI",
  • "validityPeriod": {
    }
}

FormalStudyOption

Formal education is degree-oriented education according to the education system. It is organized, context-specific, and implemented as defined in the curriculum (OPS). Formal education offerings include degree programs, open higher education, specialization education, parts of degrees, preparatory education for immigrants, and offerings from international higher education institutions. The most important feature of formal education is the credit point (ECTS) allocation for the studies included (Reference and unofficially translated from https://sanastot.suomi.fi/en/terminology/digivisio_2030/concept/concept-12 )

Returns Formal Study Options of an Educational Institution.

Returns a page of Formal Study Options belonging to the indicated Educational Institution.

SecurityDigivisioBearerAuth
Request
query Parameters
educational-institution-code
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

Example: educational-institution-code=urn:code:oppilaitosnumero:01909
page
integer <int32> (Page) >= 0
Default: 0

Which page to navigate to. Indexing starts from 0.

Example: page=0
pageSize
integer <int32> (PageSize) [ 1 .. 100 ]
Default: 20

How many results to fetch to a single page.

Example: pageSize=20
Responses
200

Ok

400

Bad Request

get/formal-studyoption
Request samples
Response samples
application/json
{
  • "data": [
    ]
}

Adds a Formal Study Option.

StudyOptionIdentifier is specified by the caller. EducationalInstitutionCode identifier must match the educational institution identifier part of the StudyOptionIdentifier, and the organization of the authenticated sender must have write access to that educational institution.

SecurityDigivisioBearerAuth
Request
Request Body schema: application/json
required
object (TypedMarkupWithTranslations)

Additional information for the study option

code
string [ 1 .. 100 ] characters

A human readable identifier for this study option.

Array of objects (ContactPoint)
cooperationNetworkCode
string

Cooperation network code from Codesystem (TODO)

object (ContentDescription)

Textual explanation how credits are earned when minimum and maximum are defined. How learner can achieve maximum credits.

object (CreditRange)

The scope of the study option. Currently supported only credits.

Array of objects (ContentDescription)

Description can be divided by sub topics if needed

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

Responsible organization

externalIdentifier
string

Possible identifier in Educational Institution context

identifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

object (TextWithTranslations)

Content compatibility instructions for the study option

object (TextWithTranslations)

A brief description that encapsulates the main idea or purpose of the data object, allowing users to quickly grasp its significance.

Array of objects (FormalStudyOptionInstance)

List of Formal Study Option Instances related to this base Formal Study Option

object (TypedMarkupWithTranslations)

Learning materials for the study option

modifiedAt
required
string <date-time> (OffsetDateTime)

Last modification time with UTC offset.

required
object (TextWithTranslations)

Visible names for formal study option with language translations.

object (TypedMarkupWithTranslations)

Objective for the study option

object (TypedMarkupWithTranslations)

Prerequisites for the study option

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyFields
required
Array of strings (FieldOfStudyCode)

OKM codes

studyLevel
string (StudyLevelCode) urn:code:study-level:TODO

Study level Code system code.

themes
required
Array of strings (StudyOptionThemeCodesList)

Themes for formal study options from Code system

type
required
string (FormalStudyOptionType)

Formal study option type from code system.

Enum: "COURSE_UNIT" "PACKAGE" "STUDY_MODULE" "STUDY_RIGHT"
object (WebLinkWithTranslations)

External URL of the formal study option

required
object (OffsetDateTimeRange)

Defines the start and end times (optional) of the offering, when the Study option offering can be displayed. It is not an actual study period.

Responses
201

Created

400

Bad Request

post/formal-studyoption
Request samples
application/json
{
  • "additionalInformation": {
    },
  • "code": "FYS-503",
  • "contactDetails": [
    ],
  • "cooperationNetworkCode": "urn:code:co-operation-network-code:A0001",
  • "creditsDescription": {
    },
  • "creditRange": {
    },
  • "description": [
    ],
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "inclusionApplicationInstruction": {
    },
  • "ingress": {
    },
  • "instances": [
    ],
  • "learningMaterial": {
    },
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "objective": {
    },
  • "prerequisites": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyFields": [
    ],
  • "studyLevel": "urn:code:study-level:TODO",
  • "themes": [
    ],
  • "type": "COURSE_UNIT",
  • "url": {
    },
  • "validityPeriod": {
    }
}
Response samples
application/json
{
  • "identifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "state": "urn:code:study-option-state:active"
}

FormalStudyOptionInstance

An instance of formal education describes the content of formal education time-based content. For example there is FormalStudyOption like "Programming basics".It defines some common details which can be references without knowing course details etc. Maybe courses included are not decided yet completely. For example, the courses may be scheduled for the period from January 1, 2024, to May 1, 2024. The formal study instance includes information for specific time period. There might be a education package with same almost same content but with different learning methods, then that creates another instance and it refers to same Formal Study Option than other one because these two instances shares same basic information. And if there is same package for next year, it is a new instance because time period is different, but it can refere same FormalStudyOption.

Returns the specified Formal Study Option.

Returns the Formal Study Option indicated by the Study Option Identifier.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.1.option-abc
Responses
200

Ok

404

Not Found

get/formal-studyoption/{identifier}
Request samples
Response samples
application/json
{
  • "additionalInformation": {
    },
  • "code": "FYS-503",
  • "contactDetails": [
    ],
  • "cooperationNetworkCode": "urn:code:co-operation-network-code:A0001",
  • "creditsDescription": {
    },
  • "creditRange": {
    },
  • "description": [
    ],
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "inclusionApplicationInstruction": {
    },
  • "ingress": {
    },
  • "instances": [
    ],
  • "learningMaterial": {
    },
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "objective": {
    },
  • "prerequisites": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyFields": [
    ],
  • "studyLevel": "urn:code:study-level:TODO",
  • "themes": [
    ],
  • "type": "COURSE_UNIT",
  • "url": {
    },
  • "validityPeriod": {
    }
}

Updates a Formal Study Option.

StudyOptionIdentifier is specified by the caller. StudyOptionIdentifier or educationalInstitutionCode cannot be modified. EducationalInstitutionCode identifier must match the educational institution identifier part of the StudyOptionIdentifier, and the organization of the authenticated sender must have write access to that educational institution.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.1.option-abc
Request Body schema: application/json
required
object (TypedMarkupWithTranslations)

Additional information for the study option

code
string [ 1 .. 100 ] characters

A human readable identifier for this study option.

Array of objects (ContactPoint)
cooperationNetworkCode
string

Cooperation network code from Codesystem (TODO)

object (ContentDescription)

Textual explanation how credits are earned when minimum and maximum are defined. How learner can achieve maximum credits.

object (CreditRange)

The scope of the study option. Currently supported only credits.

Array of objects (ContentDescription)

Description can be divided by sub topics if needed

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

Responsible organization

externalIdentifier
string

Possible identifier in Educational Institution context

identifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

object (TextWithTranslations)

Content compatibility instructions for the study option

object (TextWithTranslations)

A brief description that encapsulates the main idea or purpose of the data object, allowing users to quickly grasp its significance.

Array of objects (FormalStudyOptionInstance)

List of Formal Study Option Instances related to this base Formal Study Option

object (TypedMarkupWithTranslations)

Learning materials for the study option

modifiedAt
required
string <date-time> (OffsetDateTime)

Last modification time with UTC offset.

required
object (TextWithTranslations)

Visible names for formal study option with language translations.

object (TypedMarkupWithTranslations)

Objective for the study option

object (TypedMarkupWithTranslations)

Prerequisites for the study option

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyFields
required
Array of strings (FieldOfStudyCode)

OKM codes

studyLevel
string (StudyLevelCode) urn:code:study-level:TODO

Study level Code system code.

themes
required
Array of strings (StudyOptionThemeCodesList)

Themes for formal study options from Code system

type
required
string (FormalStudyOptionType)

Formal study option type from code system.

Enum: "COURSE_UNIT" "PACKAGE" "STUDY_MODULE" "STUDY_RIGHT"
object (WebLinkWithTranslations)

External URL of the formal study option

required
object (OffsetDateTimeRange)

Defines the start and end times (optional) of the offering, when the Study option offering can be displayed. It is not an actual study period.

Responses
200

Ok

400

Bad Request

put/formal-studyoption/{identifier}
Request samples
application/json
{
  • "additionalInformation": {
    },
  • "code": "FYS-503",
  • "contactDetails": [
    ],
  • "cooperationNetworkCode": "urn:code:co-operation-network-code:A0001",
  • "creditsDescription": {
    },
  • "creditRange": {
    },
  • "description": [
    ],
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "inclusionApplicationInstruction": {
    },
  • "ingress": {
    },
  • "instances": [
    ],
  • "learningMaterial": {
    },
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "objective": {
    },
  • "prerequisites": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyFields": [
    ],
  • "studyLevel": "urn:code:study-level:TODO",
  • "themes": [
    ],
  • "type": "COURSE_UNIT",
  • "url": {
    },
  • "validityPeriod": {
    }
}
Response samples
application/json
{
  • "identifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "state": "urn:code:study-option-state:active"
}

Returns Formal Study Option Instances of a Formal Study Option.

The results are not paged.

SecurityDigivisioBearerAuth
Request
query Parameters
study-option-identifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

Example: study-option-identifier=1.2.246.10.34113206.1.01909.1.option-abc
Responses
200

Ok

400

Bad Request

get/formal-studyoption-instance
Request samples
Response samples
application/json
{
  • "studyOptionInstances": [
    ]
}

Adds a new Formal Study Option Instance.

THIS IS A DRAFT ENDPOINT. StudyOptionInstanceIdentifier is specified by the caller. EducationalInstitutionCode identifier must match both the educational institution identifier part of the StudyOptionInstanceIdentifier, and the organization of the authenticated sender.

SecurityDigivisioBearerAuth
Request
Request Body schema: application/json
required
object (TypedMarkupWithTranslations)

This field provides supplementary details and context related to the primary data. It is intended to capture any relevant information that enhances understanding, including explanations, clarifications, or additional notes that may be necessary for comprehensive interpretation.

required
Array of objects (ContactPoint)
cooperationNetworkCode
string

Cooperation network code from Codesystem (TODO)

object (ContentDescription)

Textual explanation how credits are earned when minimum and maximum are defined. How learner can achieve maximum credits.

object (CreditRange)

The scope of the study option. Currently supported only credits.

Array of objects (ContentDescription)

A concise description of the study option available to students, outlining its focus, key topics, and intended learning outcomes. This field aims to provide students with a clear understanding of what the study option entails, helping them make informed decisions about their educational path.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

Responsible organization

externalIdentifier
string

Possible identifier in Educational Institution context

object (TextWithTranslations)

Guidelines for ensuring content compatibility with the specified study option. This includes instructions on how to adapt materials and resources to meet the needs of diverse learners, ensuring accessibility and inclusivity. The instructions may cover aspects such as format requirements, recommended tools, and best practices for delivering content effectively to all students.

object (TextWithTranslations)

A brief description that encapsulates the main idea or purpose of the data object, allowing users to quickly grasp its significance.

object (TypedMarkupWithTranslations)

Learning materials for the study option

modifiedAt
required
string <date-time> (OffsetDateTime)

Last modification time with UTC offset.

required
object (TextWithTranslations)

Visible names for formal study option with language translations.

object (TypedMarkupWithTranslations)

Objective for the study option

object (TypedMarkupWithTranslations)

Prerequisites for the study option

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyFields
required
Array of strings (FieldOfStudyCode)

OKM codes

studyLevel
string (StudyLevelCode) urn:code:study-level:TODO

Study level Code system code.

themes
Array of strings (StudyOptionThemeCodesList)

Themes for formal study options from Code system

type
required
string (FormalStudyOptionType)

Formal study option type from code system.

Enum: "COURSE_UNIT" "PACKAGE" "STUDY_MODULE" "STUDY_RIGHT"
object (WebLinkWithTranslations)

External URL of the study option

required
object (OffsetDateTimeRange)

Defines the start and end times (optional) of the offering, when the Study option offering can be displayed. It is not an actual study period.

identifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Unique identifier for FormalStudyOptionInstance.

relatedFormalStudyOption
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Id for formal Study Option is parent entity.

language
string (LanguageCode) urn:code:kieli:..

A Language code URN containing the two letter language code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/kieli/koodi

object (TextWithTranslations)

The learning environment description encompasses the setting and context in which students engage with their studies. Like physical classrooms, laboratories, virtual platforms, hybrid models etc.

object (SalesInformation)

Sales information

object (WebLinkWithTranslations)

Url for enrollment.

object (OffsetDateTimeRange)

Date and time range for enrollment.

enrollmentMinAttendance
number

Minimum attendance count required

enrollmentMaxAttendance
number

Maximum attendance count required

object (StudyStructure)

Study Structure defines which course units, course unit realizations and completion options are included to entity. It is possible that there is study structure before course unit realizations. In that case it should be left as empty list if course unit realizations does not exists.

Responses
201

Created

400

Bad Request

post/formal-studyoption-instance
Request samples
application/json
{
  • "additionalInformation": {
    },
  • "contactDetails": [
    ],
  • "cooperationNetworkCode": "urn:code:co-operation-network-code:A0001",
  • "creditsDescription": {
    },
  • "creditRange": {
    },
  • "description": [
    ],
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "inclusionApplicationInstruction": {
    },
  • "ingress": {
    },
  • "learningMaterial": {
    },
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "objective": {
    },
  • "prerequisites": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyFields": [
    ],
  • "studyLevel": "urn:code:study-level:TODO",
  • "themes": [
    ],
  • "type": "COURSE_UNIT",
  • "url": {
    },
  • "validityPeriod": {
    },
  • "identifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "relatedFormalStudyOption": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "language": "urn:code:kieli:FI",
  • "learningEnvironment": {
    },
  • "salesInformation": {
    },
  • "enrollmentUrl": {
    },
  • "enrollmentDateAntTimeRange": {
    },
  • "enrollmentMinAttendance": 10,
  • "enrollmentMaxAttendance": 100,
  • "studyStructure": {
    }
}
Response samples
application/json
{
  • "identifier": "1.2.246.10.34113206.1.01909.2.instanssi653",
  • "state": "urn:code:study-option-state:active"
}

InformalStudyOption

Informal study or self-study (Statistics Finland’s definition): “In the Adult Education Survey, self-study is defined as the acquisition of new knowledge or skills that occurs outside of separately organized, formal education (both formal and non-formal). This type of study can be quite informal and can take place alone, with colleagues, or with acquaintances. From the perspective of higher education institutions, this form of offering includes “resources” produced by the institutions that learners can use independently to support their own learning. In this case, the learner does not register as a student at the institution, and the institution does not assess or grant academic credits to the learner. For example, freely available open learning materials can be offered as part of self-study offerings. Conversely, if the learning material is such that its use requires registration as a student, it is part of formal or non-formal education.
(Reference and unofficially translated from https://sanastot.suomi.fi/en/terminology/digivisio_2030/concept/concept-14 )

Returns Informal Study Options of an Educational Institution.

Returns a page of Study Options belonging to the indicated Educational Institution.

SecurityDigivisioBearerAuth
Request
query Parameters
educational-institution-code
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

Example: educational-institution-code=urn:code:oppilaitosnumero:01909
page
integer <int32> (Page) >= 0
Default: 0

Which page to navigate to. Indexing starts from 0.

Example: page=0
pageSize
integer <int32> (PageSize) [ 1 .. 100 ]
Default: 20

How many results to fetch to a single page.

Example: pageSize=20
Responses
200

Ok

400

Bad Request

get/informal-studyoption
Request samples
Response samples
application/json
{
  • "totalAmount": 10,
  • "studyOptions": [
    ]
}

Adds an Informal Study Option.

Unsupported states: ARCHIVED and CANCELLED StudyOptionIdentifier is specified by the caller. EducationalInstitutionCode identifier must match the educational institution identifier part of the StudyOptionIdentifier, and the organization of the authenticated sender must have write access to that educational institution.

SecurityDigivisioBearerAuth
Request
Request Body schema: application/json
required
code
string [ 1 .. 100 ] characters \S(.*\S)?

A human readable identifier for this study option.

required
Array of objects (ContactDetails)
required
object (MarkupWithTranslations)

Description

required
object (TextWithTranslations)

Ingress

modifiedAt
string <date-time> (OffsetDateTime)

Optional last modification time with UTC offset. The value cannot be in the future nor before creation time. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

required
object (TextWithTranslations)

Name

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyFields
Array of strings (FieldOfStudyCode)

OKM codes

themes
Array of strings (StudyOptionThemeCodesList)

A list of URN codes containing the study option theme. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-theme):

url
string <uri>

External URL of the study option

object (OffsetDateTimeRange)

The date range when the Study Option is meant to be visible.

createdAt
string <date-time> (OffsetDateTime)

Optional creation time with UTC offset. The value cannot be in the future nor after modifiedAt. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request.
Defaults to the current time.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

externalIdentifier
string

Possible identifier in Educational Institution context. This property is immutable.

identifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

Responses
201

Created

400

Bad Request

post/informal-studyoption
Request samples
application/json
{
  • "code": "FYS-503",
  • "contactDetails": [
    ],
  • "description": {
    },
  • "ingress": {
    },
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyFields": [
    ],
  • "themes": [
    ],
  • "validityPeriod": {
    },
  • "createdAt": "2022-11-01T00:00:00Z",
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.1.option-abc"
}
Response samples
application/json
{
  • "identifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "state": "urn:code:study-option-state:active"
}

Returns the specified Informal Study Option.

Returns the Informal Study Option indicated by the Study Option Identifier.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.1.option-abc
Responses
200

Ok

404

Not Found

get/informal-studyoption/{identifier}
Request samples
Response samples
application/json
{
  • "code": "FYS-503",
  • "contactDetails": [
    ],
  • "description": {
    },
  • "ingress": {
    },
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyFields": [
    ],
  • "themes": [
    ],
  • "validityPeriod": {
    },
  • "createdAt": "2022-11-01T00:00:00Z",
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.1.option-abc"
}

Updates an Informal Study Option.

Unsupported states: ARCHIVED and CANCELLED StudyOptionIdentifier is specified by the caller. StudyOptionIdentifier or educationalInstitutionCode cannot be modified. EducationalInstitutionCode must match the educational institution code part of the StudyOptionIdentifier, and the organization of the authenticated sender must have write access to that educational institution.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.1.option-abc
Request Body schema: application/json
required
code
string [ 1 .. 100 ] characters \S(.*\S)?

A human readable identifier for this study option.

required
Array of objects (ContactDetails)
required
object (MarkupWithTranslations)

Description

required
object (TextWithTranslations)

Ingress

modifiedAt
string <date-time> (OffsetDateTime)

Optional last modification time with UTC offset. The value cannot be in the future nor before creation time. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

required
object (TextWithTranslations)

Name

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyFields
Array of strings (FieldOfStudyCode)

OKM codes

themes
Array of strings (StudyOptionThemeCodesList)

A list of URN codes containing the study option theme. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-theme):

url
string <uri>

External URL of the study option

object (OffsetDateTimeRange)

The date range when the Study Option is meant to be visible.

Responses
200

Ok

400

Bad Request

put/informal-studyoption/{identifier}
Request samples
application/json
{
  • "code": "FYS-503",
  • "contactDetails": [
    ],
  • "description": {
    },
  • "ingress": {
    },
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyFields": [
    ],
  • "themes": [
    ],
  • "validityPeriod": {
    }
}
Response samples
application/json
{
  • "identifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "state": "urn:code:study-option-state:active"
}

InformalStudyOptionInstance

An instance of informal study option instance describes the content of time-based content, for example Webinars, Seminars, Event.

For instance, the webinars, events, or seminars may be scheduled for the period from January 1, 2024, to May 1, 2024. The formal study instance includes information for this specific time period.

There might be an educational package with almost the same content but delivered through different learning methods (e.g., live webinars vs. recorded seminars). This creates another instance, and it refers to the same FormalStudyOption as the other one because these two instances share the same basic information.

If the same package is offered the next year, it is considered a new instance because the time period is different, but it can refer to the same FormalStudyOption.

Returns Informal Study Option Instances of an Informal Study Option.

The results are not paged.

SecurityDigivisioBearerAuth
Request
query Parameters
study-option-identifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

Example: study-option-identifier=1.2.246.10.34113206.1.01909.1.option-abc
Responses
200

Ok

400

Bad Request

get/informal-studyoption-instance
Request samples
Response samples
application/json
{
  • "studyOptionInstances": [
    ]
}

Adds a new Informal Study Option Instance.

Unsupported states: ARCHIVED and CANCELLED StudyOptionInstanceIdentifier is specified by the caller. EducationalInstitutionCode identifier must match both the educational institution identifier part of the StudyOptionInstanceIdentifier, and the organization of the authenticated sender.

SecurityDigivisioBearerAuth
Request
Request Body schema: application/json
required
additionalInformation
string

Possible extra information about the Study Option Instance.

authors
required
Array of strings

A list of authors or contributors associated with the content. This may include presenters of webinars, speakers at seminars, creators of videos, authors of publications or blogs, and organizers of events. Mandatory field for avoiding null list, use an empty list if no data is available.

required
Array of objects (ContactDetails)
createdAt
string <date-time> (OffsetDateTime)

Optional creation time with UTC offset. The value cannot be in the future nor after modifiedAt. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (MarkupWithTranslations)

Additional description of the instance. If not provided in the request, it will be populated from parent study option.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

externalIdentifier
string

Possible identifier in Educational Institution context. This property is immutable.

identifier
required
string (StudyOptionInstanceIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.2\.[\w!"#$%...

Global Study Option Instance Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "2" followed by an identifier unique within the institution.

object (TextWithTranslations)

Ingress

keywords
required
Array of strings

Keywords

language
required
string (LanguageCode) urn:code:kieli:..

A Language code URN containing the two letter language code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/kieli/koodi

modifiedAt
string <date-time> (OffsetDateTime)

Optional last modification time with UTC offset. The value cannot be in future nor before creation time. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (TextWithTranslations)

Name of the instance. If not provided in the request, it will be populated from parent study option.

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyOptionIdentifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

type
required
string (InformalStudyOptionTypeCode) urn:code:informal-study-option-type:(\S{1,60}...

A URN code containing the informal study option type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/informal-study-option-type):

required
object (OffsetDateTimeRange)

The date range when the Study Option Instance is meant to be visible.

publisher
string non-empty

Name of the publisher

url
required
string <uri>

URL of the blog

Responses
201

Created

400

Bad Request

post/informal-studyoption-instance
Request samples
application/json
{
  • "additionalInformation": "string",
  • "authors": [
    ],
  • "contactDetails": [
    ],
  • "createdAt": "2022-11-01T00:00:00Z",
  • "description": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.2.instanssi653",
  • "ingress": {
    },
  • "keywords": [
    ],
  • "language": "urn:code:kieli:FI",
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyOptionIdentifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "type": "urn:code:informal-study-option-type:blog",
  • "validityPeriod": {
    },
  • "publisher": "John Doe",
}
Response samples
application/json
{
  • "identifier": "1.2.246.10.34113206.1.01909.2.instanssi653",
  • "state": "urn:code:study-option-state:active"
}

Returns the specified Informal Study Option Instance.

Returns the Informal Study Option Instance indicated by the Study Option Instance Identifier.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (StudyOptionInstanceIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.2\.[\w!"#$%...

Global Study Option Instance Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "2" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.2.instanssi653
query Parameters
include-attachment-contents
boolean

Whether to populate file contents in the attachments array.

Responses
200

Ok

404

Not Found

get/informal-studyoption-instance/{identifier}
Request samples
Response samples
application/json
{
  • "additionalInformation": "string",
  • "authors": [
    ],
  • "contactDetails": [
    ],
  • "createdAt": "2022-11-01T00:00:00Z",
  • "description": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.2.instanssi653",
  • "ingress": {
    },
  • "keywords": [
    ],
  • "language": "urn:code:kieli:FI",
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyOptionIdentifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "type": "urn:code:informal-study-option-type:blog",
  • "validityPeriod": {
    },
  • "publisher": "John Doe",
}

Updates an Informal Study Option Instance.

Unsupported states: ARCHIVED and CANCELLED StudyOptionInstanceIdentifier is specified by the caller. StudyOptionInstanceIdentifier or educationalInstitutionCode cannot be modified. EducationalInstitutionCode identifier must match both the educational institution identifier part of the StudyOptionInstanceIdentifier, and the organization of the authenticated sender.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (StudyOptionInstanceIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.2\.[\w!"#$%...

Global Study Option Instance Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "2" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.2.instanssi653
Request Body schema: application/json
required
additionalInformation
string

Possible extra information about the Study Option Instance.

authors
required
Array of strings

A list of authors or contributors associated with the content. This may include presenters of webinars, speakers at seminars, creators of videos, authors of publications or blogs, and organizers of events. Mandatory field for avoiding null list, use an empty list if no data is available.

required
Array of objects (ContactDetails)
createdAt
string <date-time> (OffsetDateTime)

Optional creation time with UTC offset. The value cannot be in the future nor after modifiedAt. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (MarkupWithTranslations)

Additional description of the instance. If not provided in the request, it will be populated from parent study option.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

externalIdentifier
string

Possible identifier in Educational Institution context. This property is immutable.

identifier
required
string (StudyOptionInstanceIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.2\.[\w!"#$%...

Global Study Option Instance Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "2" followed by an identifier unique within the institution.

object (TextWithTranslations)

Ingress

keywords
required
Array of strings

Keywords

language
required
string (LanguageCode) urn:code:kieli:..

A Language code URN containing the two letter language code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/kieli/koodi

modifiedAt
string <date-time> (OffsetDateTime)

Optional last modification time with UTC offset. The value cannot be in future nor before creation time. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (TextWithTranslations)

Name of the instance. If not provided in the request, it will be populated from parent study option.

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyOptionIdentifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

type
required
string (InformalStudyOptionTypeCode) urn:code:informal-study-option-type:(\S{1,60}...

A URN code containing the informal study option type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/informal-study-option-type):

required
object (OffsetDateTimeRange)

The date range when the Study Option Instance is meant to be visible.

publisher
string non-empty

Name of the publisher

url
required
string <uri>

URL of the blog

Responses
200

Ok

400

Bad Request

put/informal-studyoption-instance/{identifier}
Request samples
application/json
{
  • "additionalInformation": "string",
  • "authors": [
    ],
  • "contactDetails": [
    ],
  • "createdAt": "2022-11-01T00:00:00Z",
  • "description": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.2.instanssi653",
  • "ingress": {
    },
  • "keywords": [
    ],
  • "language": "urn:code:kieli:FI",
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyOptionIdentifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "type": "urn:code:informal-study-option-type:blog",
  • "validityPeriod": {
    },
  • "publisher": "John Doe",
}
Response samples
application/json
{
  • "identifier": "1.2.246.10.34113206.1.01909.2.instanssi653",
  • "state": "urn:code:study-option-state:active"
}

Adds a file attachment to an Informal Study Option Instance.

Adds a file attachment and returns the UUID of the newly created file attachment. Maximum of three attachments are allowed. The maximum size of the attachment is 10 MB, and the supported file types are .pdf, .ppt, .pptx, .doc ja .docx. Only Study Option Instances of type Event, Webinar and Seminar can have attachments.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (StudyOptionInstanceIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.2\.[\w!"#$%...

Global Study Option Instance Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "2" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.2.instanssi653
Request Body schema: multipart/form-data
required
file
required
string <binary>
Responses
201

Created

400

Bad Request

413

Request entity too large

415

Unsupported media type

post/informal-studyoption-instance/{identifier}/attachments
Request samples
Response samples
application/json
{
  • "id": "7d689acf-6905-4776-b519-c9ed3f216aaa"
}

Deletes a file attachment from an Informal Study Option Instance.

SecurityDigivisioBearerAuth
Request
path Parameters
identifier
required
string (StudyOptionInstanceIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.2\.[\w!"#$%...

Global Study Option Instance Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "2" followed by an identifier unique within the institution.

Example: 1.2.246.10.34113206.1.01909.2.instanssi653
file-id
required
string <uuid> (FileId)
Example: 7d689acf-6905-4776-b519-c9ed3f216aaa
Responses
204

The attachment was successfully deleted.

404

The File or the Study Option Instance was not found.

delete/informal-studyoption-instance/{identifier}/attachments/{file-id}
Request samples
Response samples
application/problem+json
{
  • "type": "/some/uri-reference",
  • "title": "some title for the error situation",
  • "status": 100,
  • "detail": "some description for the error situation",
  • "instance": "/some/uri-reference#specific-occurrence-context",
  • "traceId": "string"
}

Common schema models

Common objects

EducationalInstitutionCode

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

"urn:code:oppilaitosnumero:01909"

LanguageCode

A Language code URN containing the two letter language code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/kieli/koodi

string (LanguageCode) urn:code:kieli:..

A Language code URN containing the two letter language code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/kieli/koodi

"urn:code:kieli:FI"

TextWithTranslations

required
Array of objects non-empty

Localized text entries for multiple languages, including language identifiers and corresponding translations for consistent meaning.

{
  • "translations": [
    ]
}

RichTextCode

Type of rich text from Code system. NOTICE! It is the responsibility of the services to define which HTML or markdown specifications they support and to ensure security against threats such as XSS (Cross-Site Scripting) or code injection.

string (RichTextCode)

Type of rich text from Code system. NOTICE! It is the responsibility of the services to define which HTML or markdown specifications they support and to ensure security against threats such as XSS (Cross-Site Scripting) or code injection.

"urn:description-markup-type:markdown"

RichText

richText
required
string

Styled description of the content

richTextType
required
string (RichTextCode)

Type of rich text from Code system. NOTICE! It is the responsibility of the services to define which HTML or markdown specifications they support and to ensure security against threats such as XSS (Cross-Site Scripting) or code injection.

{
  • "richText": "In the *basic studies* of the **Finnish language**, students familiarize themselves with the basics of the structure, meaning, and use of the Finnish language, as well as the language as a **social phenomenon**.",
  • "richTextType": "urn:description-markup-type:markdown"
}

TypedMarkupWithTranslations

Localized markdown markup for different languages with plain text. Note! Schema does not specify service dependant supported markdown syntax.

required
Array of objects non-empty
{
  • "translations": [
    ]
}

FieldOfStudyCode

A Classification Code URN containing the 1 or 2 digit code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/okmohjauksenala/koodi

string (FieldOfStudyCode) urn:code:okmohjauksenala:[0-9]{1,2}

A Classification Code URN containing the 1 or 2 digit code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/okmohjauksenala/koodi

"urn:code:okmohjauksenala:1"

MarkupWithTranslations

Localized markdown markup for different languages. TODO Specify supported markdown syntax.

required
Array of objects non-empty
{
  • "translations": [
    ]
}

PersonName

Schema for a Person name

firstNames
required
Array of strings
lastName
required
string

The last name of the person.

{
  • "firstNames": [
    ],
  • "lastName": "string"
}

PhoneNumber

Schema for a Phone number details.

countryCode
required
string

The country code for the phone number without plus sign.

phoneNumber
required
string

Number without country code.

{
  • "countryCode": 358,
  • "phoneNumber": 401234567
}

PersonRoleCode

A URN code containing the person role. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/person-role):

string (PersonRoleCode) urn:code:person-role:(\S{1,60})

A URN code containing the person role. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/person-role):

"urn:code:person-role:administrative-person"

ContactDetails

Contact details basic data

externalIdentifier
string

An identifier that allows the educational organization to uniquely identify the original data in its own environment.

emailAddress
string <email>

Email address

required
object (PersonName)

Schema for a Person name

object (PhoneNumber)

Schema for a Phone number details.

role
required
string (PersonRoleCode) urn:code:person-role:(\S{1,60})

Role of the contact

{
  • "externalIdentifier": "person.11221.111",
  • "emailAddress": "firstname.lastname@foo.bar.invalid",
  • "contactName": {
    },
  • "phoneNumber": {
    },
  • "role": "urn:code:person-role:administrative-person"
}

OffsetDateTime

The date and time in ISO 8601 format. Example explained:

  • The date is represented as YYYY-MM-DD.
  • The time is in 24-hour format (HH:MM:SS).
  • The timezone offset. In example, the 'Z' at the end indicates that the time is in UTC (Coordinated Universal Time)
string <date-time> (OffsetDateTime)

The date and time in ISO 8601 format. Example explained:

  • The date is represented as YYYY-MM-DD.
  • The time is in 24-hour format (HH:MM:SS).
  • The timezone offset. In example, the 'Z' at the end indicates that the time is in UTC (Coordinated Universal Time)
"2022-11-01T00:00:00Z"

OffsetDateTimeRange

A date-time range with UTC offset.

start
required
string <date-time> (OffsetDateTime)

The inclusive start date of the range specifies the beginning point of a time interval. This date is represented in ISO 8601 format, which includes the date, time, and a UTC offset. The UTC offset indicates the difference from Coordinated Universal Time (UTC), allowing for accurate time representation across different time zones.

endExclusive
string <date-time> (OffsetDateTime)

The optional exclusive end date of the range indicates the point at which the time interval concludes, but does not include this date itself in the range. This means that any events or data occurring on this date are not considered part of the range. The date should be formatted according to ISO 8601 standards, which includes the date, time, and a UTC offset to specify the time zone.

{
  • "start": "2022-11-01T00:00:00Z",
  • "endExclusive": "2022-11-01T00:00:00Z"
}

HediIdentifier

Global Hedi Identifier base class. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator x followed by an identifier unique within the institution.

string (HediIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.*\.[\w!"#$%...

Global Hedi Identifier base class. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator x followed by an identifier unique within the institution.

"1.2.246.10.34113206.1.01909.1.option-abc"

WebLinkWithTranslations

Schema for a link with translations object, including language, optional order, display text, and web address.

required
Array of objects non-empty

Web link entries for multiple languages, including language, optional order, display text, and web address.

{
  • "translations": [
    ]
}

Coordinates

Schema for a Coordinates object, representing geographical location. The coordinate reference system is GeoJSON coordinates, which uses the World Geodetic System 1984 (WGS 84) [WGS84] datum, with longitude and latitude units of decimal degrees.

latitude
required
number <double>

The latitude of the location in decimal degrees.

longitude
required
number <double>

The longitude of the location in decimal degrees.

{
  • "latitude": 60.1699,
  • "longitude": 24.9384
}

AddressCode

A Address code URN containing meaning of provided address from Code system.

string (AddressCode) urn:code:address-type:(\S{1,60})

A Address code URN containing meaning of provided address from Code system.

"urn:code:address-type:visit"

Address

Schema for an Address object, representing physical address details for a location, including street address, city, postal code, country, and optional metadata.

streetAddress
required
string

The street address of the location.

city
required
string

The city or municipality where the event or location is situated.

municipalityCode
string

The municipality code, if applicable.

postalCode
required
string

The postal code of the address.

country
required
string

The country of the address, using the ISO 3166-1 alpha-2 two-letter country code.

object (Coordinates)

The geographical coordinates of the location. Useful for map visualizations or pinpointing specific buildings on a campus.

addressPurpose
string (AddressCode) urn:code:address-type:(\S{1,60})

A Address code URN containing meaning of provided address from Code system.

object (MarkupWithTranslations)

Additional information related to the address, potentially localized.

{
  • "streetAddress": "Yliopistonkatu 4",
  • "city": "Helsinki",
  • "municipalityCode": 61,
  • "postalCode": 100,
  • "country": "FI",
  • "coordinates": {
    },
  • "addressPurpose": "urn:code:address-type:visit",
  • "additionalInformation": {
    }
}

Space

Schema for a Space object, representing details about a specific room or area within a building, including room number, floor, and directions.

roomNumber
string

The room number or other identifier for the space, if available.

floor
string

The floor number where the space is located, if applicable.

object (TextWithTranslations)

Detailed instructions for locating the space, such as directions from an elevator or staircase.

{
  • "roomNumber": "A203",
  • "floor": 2,
  • "directions": {
    }
}

PublicTransportation

Schema for a PublicTransportation object, representing details about a specific type of public transportation and its description.

type
required
string

The type of public transportation, defined by a controlled vocabulary. For example, tram, bus, or train.

required
object (TextWithTranslations)

Information about the selected type of public transportation, such as lines or stops.

{
  • "type": "urn:hed:transportation:tram",
  • "description": {
    }
}

Transportation

Schema for a Transportation object, providing details about public transportation, cycling options, and walking instructions for accessing a location.

Array of objects (PublicTransportation)

Details about available public transportation options, such as bus, train, or tram lines.

object (TextWithTranslations)

Information about cycling to the location, such as bicycle racks or dedicated paths.

object (TextWithTranslations)

Guidance on arriving at the location on foot.

{
  • "publicTransportation": [
    ],
  • "cycling": {
    },
  • "walkingInstructions": {
    }
}

Location

Schema for a Location object, representing a physical location with details about address, building, space, access, and transportation instructions.

required
object (Address)

The physical address of the location, structured according to the Address schema.

object (TextWithTranslations)

Information about the building, such as its name or specific identification.

object (Space)

Details about the specific space within the building, such as a room, hall, or other area.

object (TextWithTranslations)

Guidance regarding the access door, for example, specifying which door is open.

object (TextWithTranslations)

Driving directions to the location, if applicable.

object (TextWithTranslations)

Information and instructions about parking options near the location.

object (Transportation)

Information about other transportation options, such as trains, trams, taxis, bicycles, or walking.

object (TextWithTranslations)

Other noteworthy instructions or details related to accessing the location.

{
  • "address": {
    },
  • "building": {
    },
  • "space": {
    },
  • "accessDoor": {
    },
  • "drivingInstructions": {
    },
  • "parking": {
    },
  • "otherTransportation": {
    },
  • "additionalInformation": {
    }
}

ParticipationStatus

Status of the participation. All participants are saved to single list based on enrolment time. If there are more participants than maxParticipants then status is InQueue

string (ParticipationStatus)

Status of the participation. All participants are saved to single list based on enrolment time. If there are more participants than maxParticipants then status is InQueue

Enum: "ABORTED_BY_STUDENT" "ABORTED_BY_TEACHER" "ACCEPTED" "IN_QUEUE" "NOT_ENROLLED" "PENDING" "REJECTED"
"ABORTED_BY_STUDENT"

ContactPointCode

The type of contact point, as defined by an Code System (under development).

string (ContactPointCode)

The type of contact point, as defined by an Code System (under development).

"urn:hed:contact-point:more-information"

ContactPoint

Schema for a ContactPoint object, which can represent contact details for an organization or a person. Includes fields for email, phone, address, and optional descriptions or additional URLs.

emailAddress
string <email>

The email address for the contact point.

object (PersonName)

Schema for a Person name

object (PhoneNumber)

Schema for a Phone number details.

countryCode
string

The country code for the phone number.

object (WebLinkWithTranslations)

The URL to a contact form associated with the contact point.

object (TextWithTranslations)

A description of the contact point, potentially localized.

object (WebLinkWithTranslations)

A URL linking to additional or more comprehensive contact details, such as an organization's contact page.

object (Address)

Address associated with the contact point.

contactPointType
string (ContactPointCode)

The type of contact point, as defined by an Code System (under development).

{
  • "emailAddress": "firstname.lastname@example.foo",
  • "personName": {
    },
  • "phoneNumber": {
    },
  • "countryCode": 358,
  • "contactForm": {
    },
  • "description": {
    },
  • "contactDetailsAddressUrl": {
    },
  • "address": {
    },
  • "contactPointType": "urn:hed:contact-point:more-information"
}

ContentDescription

Schema for a description object, including type, optional order, title, content, and default language.

type
required
string

Description type from the code system.

order
integer

If an order number is provided, it is a suggestion for the data processor to display the contents of the same type definition in the requested order.

object

Title of the description (without formatting).

Array of objects non-empty

List of content items following the MarkupWithTranslation schema.

defaultLanguage
required
string (LanguageCode) urn:code:kieli:..

Default language content should always be provided. This is considered as a hint which language is provided at least.

{
  • "type": "urn:hed:description:study-option:basic-description",
  • "order": 1,
  • "title": {
    },
  • "content": [
    ],
  • "defaultLanguage": "urn:code:kieli:FI"
}

StudyOptionStateCode

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

"urn:code:study-option-state:active"

StudyOptionThemeCode

A URN code containing the study option theme. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-theme):

string (StudyOptionThemeCode) urn:code:study-option-theme:(\S{1,60})

A URN code containing the study option theme. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-theme):

"urn:code:study-option-theme:new-technologies"

SalesInformation

Schema for a SalesInformation object, including price, currency, tax rate, and optional conditions and additional information.

object (MarkupWithTranslations)

Additional information about the sales or pricing, expressed as a list of content descriptions.

currency
required
string

The ISO 4217-compliant three-letter currency code.

price
required
number

The price, including tax, in cents. The value should be provided as an integer.

object (MarkupWithTranslations)

Conditions related to the price, expressed as localized markup elements.

object (OffsetDateTimeRange)

The time range during which the price is valid.

taxRate
required
number

The tax rate as a percentage. Value is in basis points, where 1% = 100. Examples:

  • 25.5% must be represented as 2550
  • 14% must be represented as 1400
{
  • "name": "Discounts examples",
  • "summary": "Different Discounts",
  • "value": {
    }
}

PositiveNumber

A positive integer

integer <int32> (PositiveNumber) >= 1

A positive integer

1

InformalStudyOptionTypeCode

A URN code containing the informal study option type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/informal-study-option-type):

string (InformalStudyOptionTypeCode) urn:code:informal-study-option-type:(\S{1,60}...

A URN code containing the informal study option type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/informal-study-option-type):

"urn:code:informal-study-option-type:blog"

Information models

Schema modes for information purpose

CapabilityMethods

A list of supported HTTP methods for the resource.

string (CapabilityMethods)

A list of supported HTTP methods for the resource.

Enum: "GET" "POST" "PUT" "DELETE"
"GET"

CapabilityResources

A list of supported resources for this API implementation.

string (CapabilityResources)

A list of supported resources for this API implementation.

Enum: "AssessmentItem" "CompletionOption" "CourseUnit" "CourseUnitRealization" "Enrolment" "FormalStudyOption" "InformalStudyOption"
"AssessmentItem"

CapabilityStatement

This capability statement provides a capability statement that details the supported resources and methods for this API implementation.

required
Array of objects
supportedResources
required
Array of strings (CapabilityResources)
Items Enum: "AssessmentItem" "CompletionOption" "CourseUnit" "CourseUnitRealization" "Enrolment" "FormalStudyOption" "InformalStudyOption"
{
  • "supportedOperations": [
    ],
  • "supportedResources": [
    ]
}

Retrieve API capabilities

Returns supported resources and operations

SecurityDigivisioBearerAuth
Responses
200

Capability statement

400

Bad request, invalid parameters.

500

Internal server error.

get/capability
Request samples
Response samples
application/json
{
  • "supportedOperations": [
    ],
  • "supportedResources": [
    ]
}

Formal Study Options models

Formal Study Options models

Credit

Credit amount in ECTS European Credit Transfer and Accumulation System). This value represents the number of credits earned, typically a decimal number.

number <double> (Credit)

Credit amount in ECTS European Credit Transfer and Accumulation System). This value represents the number of credits earned, typically a decimal number.

5

CreditRange

Schema for a CreditRange object, representing the minimum and maximum values for a range of credits, along with the type of the range. Typically represented in ECTS, the range may vary (e.g., 2-7 credits). If only one value is provided, the range is assumed fixed (e.g., 2-2 credits means 2 credits).

min
required
number <double> (Credit)

The minimum number of credits that can be awarded for the completion of the course or program.

max
required
number <double> (Credit)

The maximum number of credits that can be awarded for the completion of the course or program.

{
  • "min": 5,
  • "max": 5
}

AssessmentItemIdentifier

Global Assessment Item Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "6" followed by an identifier unique within the institution.

string (AssessmentItemIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.6\.[\w!"#$%...

Global Assessment Item Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "6" followed by an identifier unique within the institution.

"1.2.246.10.34113206.1.01909.6.option-abc"

AssessmentItemType

Assessment Item type. NOTE! Should be change as CodeSystem value.

string (AssessmentItemType)

Assessment Item type. NOTE! Should be change as CodeSystem value.

Enum: "EXAM" "INDEPENDENT_WORK" "TEACHING_PARTICIPATION"
"EXAM"

AssessmentItem

Assessment items (arviointikohde) defines parts for course completions.

attainmentLanguages
Array of strings (LanguageCode)

Specifies the language in which a student completes their academic coursework or requirements.

required
object (CreditRange)

Schema for a CreditRange object, representing the minimum and maximum values for a range of credits, along with the type of the range. Typically represented in ECTS, the range may vary (e.g., 2-7 credits). If only one value is provided, the range is assumed fixed (e.g., 2-2 credits means 2 credits).

object (TypedMarkupWithTranslations)

Description for assessment item.

externalIdentifier
string

Possible identifier in Educational Institution context

object (TypedMarkupWithTranslations)

Description of assessment item about grading.

identifier
string (AssessmentItemIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.6\.[\w!"#$%...

Global Assessment Item Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "6" followed by an identifier unique within the institution.

object (TypedMarkupWithTranslations)

Learning materials for the assessment item

object (TextWithTranslations)
studyField
string (FieldOfStudyCode) urn:code:okmohjauksenala:[0-9]{1,2}

A Classification Code URN containing the 1 or 2 digit code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/okmohjauksenala/koodi

object (TextWithTranslations)

Study format description for assessment item.

studyFormatType
string (AssessmentItemType)

Assessment Item type. NOTE! Should be change as CodeSystem value.

Enum: "EXAM" "INDEPENDENT_WORK" "TEACHING_PARTICIPATION"
{
  • "attainmentLanguages": [
    ],
  • "creditRange": {
    },
  • "description": {
    },
  • "externalIdentifier": "string",
  • "gradingDescription": {
    },
  • "identifier": "1.2.246.10.34113206.1.01909.6.option-abc",
  • "learningMaterial": {
    },
  • "name": {
    },
  • "studyField": "urn:code:okmohjauksenala:1",
  • "studyFormat": {
    },
  • "studyFormatType": "EXAM"
}

CompletionOptionIdentifier

Global Completion Option Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "8" followed by an identifier unique within the institution.

string (CompletionOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.8\.[\w!"#$%...

Global Completion Option Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "8" followed by an identifier unique within the institution.

"1.2.246.10.34113206.1.01909.8.option-abc"

CompletionOption

Completion option for the study element.

identifier
required
string (CompletionOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.8\.[\w!"#$%...

Global Completion Option Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "8" followed by an identifier unique within the institution.

externalIdentifier
required
string

Identifier in Educational Institution context

assessmentItemIds
Array of strings (AssessmentItemIdentifier)

List of assessment items which are in use for this completion option mapping.

object (MarkupWithTranslations)

The description of this completion option.

object (TextWithTranslations)
mandatoryAssessmentItemIds
Array of strings (AssessmentItemIdentifier)

Mandatory assessment items List (AssessmentItem).

object (TextWithTranslations)

Prerequisites for the completion option.

{
  • "identifier": "1.2.246.10.34113206.1.01909.8.option-abc",
  • "externalIdentifier": "6ed825c0-92cd-4161-bf0e-a55cd35d4982",
  • "assessmentItemIds": [
    ],
  • "completionOptionDescription": {
    },
  • "evaluationCriteria": {
    },
  • "mandatoryAssessmentItemIds": [
    ],
  • "prerequisites": {
    }
}

StudyElementIdentifier

Global Study Element Identifier. Can identify CourseUnit or StudyModule The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "5" followed by an identifier unique within the institution.

string (StudyElementIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.5\.[\w!"#$%...

Global Study Element Identifier. Can identify CourseUnit or StudyModule The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "5" followed by an identifier unique within the institution.

"1.2.246.10.34113206.1.01909.5.option-abc"

StudyLevelCode

Study Level for Study Option. TODO: Mikä koodisto oikeasti?

string (StudyLevelCode) urn:code:study-level:TODO

Study Level for Study Option. TODO: Mikä koodisto oikeasti?

"urn:code:study-level:TODO"

CourseUnit

Course Unit contains information of course (Opintojakso).

A specific part of studies that deals with a particular area of expertise, topic, or content, which can be completed separately and has defined scope and objectives. (Reference and unofficially translated from https://sanastot.suomi.fi/terminology/oksa/concept/c264 )

object (MarkupWithTranslations)

This field provides supplementary details and context related to the primary data. It is intended to capture any relevant information that enhances understanding, including explanations, clarifications, or additional notes that may be necessary for comprehensive interpretation.

code
string

The code identifying the course unit from original source.

completionLanguages
Array of strings (LanguageCode)

The languages in which the course can be completed. Language codes retrieved from a coding system.

required
Array of objects (CompletionOption)

A list of all possible completion methods for this course unit. Example methods include attending lectures, exams, internships, or recognition of prior learning.

Array of objects (ContactPerson)
object (MarkupWithTranslations)

A detailed description of the course content.

required
object (CreditRange)

Schema for a CreditRange object, representing the minimum and maximum values for a range of credits, along with the type of the range. Typically represented in ECTS, the range may vary (e.g., 2-7 credits). If only one value is provided, the range is assumed fixed (e.g., 2-2 credits means 2 credits).

object (MarkupWithTranslations)

Textual explanation how credits are earned when minimum and maximum are defined. How learner can achieve maximum credits.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

Responsible organization

evaluationScale
string

Evaluation scale used for the realization (to be determined by schema definition).

externalIdentifier
required
string

An identifier provided by the organizing institution.

identifier
required
string (StudyElementIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.5\.[\w!"#$%...

The HED identifier for the course unit, acting as a node reference.

object (MarkupWithTranslations)

Content compatibility instructions for the course unit

object (TextWithTranslations)

A brief description that encapsulates the main idea or purpose of the data object, allowing users to quickly grasp its significance.

keywords
Array of strings

Keywords describing the course content, used mainly for query support.

object (MarkupWithTranslations)

Learning materials for the course unit

required
object (TextWithTranslations)

Visible names for course unit with language translations.

object (MarkupWithTranslations)

Description of the course objectives, detailing what students should achieve upon completion.

object (MarkupWithTranslations)

Prerequisites for the course unit

state
required
string (CurriculumStateCode) urn:code:curriculum-state:(active|deleted|can...

A URN code containing the curriculum study element state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/curriculum-state):

studyField
string (FieldOfStudyCode) urn:code:okmohjauksenala:[0-9]{1,2}

The field of study (from a predefined code set). Example values are retrieved from the specified coding system.

studyLevel
string (StudyLevelCode) urn:code:study-level:TODO

The level of study, retrieved from a coding system.

required
object (OffsetDateTimeRange)

The validity period of the course unit. If the validity period is not provided in the source data, it could be assumed to start from the data transfer date.

{
  • "additionalInformation": {
    },
  • "code": "ODKP1190",
  • "completionLanguages": [
    ],
  • "completionOptions": [
    ],
  • "contactDetails": [
    ],
  • "content": {
    },
  • "creditRange": {
    },
  • "creditsDescription": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "evaluationScale": "string",
  • "externalIdentifier": "otm-2278f170-d8d0-4bf4-8e31-7b0e7f512f96",
  • "identifier": "1.2.246.10.34113206.1.01909.5.option-abc",
  • "inclusionApplicationInstruction": {
    },
  • "ingress": {
    },
  • "keywords": [
    ],
  • "learningMaterial": {
    },
  • "name": {
    },
  • "objective": {
    },
  • "prerequisites": {
    },
  • "state": "urn:code:curriculum-state:active",
  • "studyField": "urn:code:okmohjauksenala:1",
  • "studyLevel": "urn:code:study-level:TODO",
  • "validityPeriod": {
    }
}

CourseUnitIdentifier

Global Study Element Identifier. Can identify CourseUnit. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "5" followed by an identifier unique within the institution.

string (CourseUnitIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.5\.[\w!"#$%...

Global Study Element Identifier. Can identify CourseUnit. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "5" followed by an identifier unique within the institution.

"1.2.246.10.34113206.1.01909.5.option-abc"

CourseUnitRealizationIdentifier

Global Course Unit Realization Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "7" followed by an identifier unique within the institution.

string (CourseUnitRealizationIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.7\.[\w!"#$%...

Global Course Unit Realization Identifier. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "7" followed by an identifier unique within the institution.

"1.2.246.10.34113206.1.01909.7.option-abc"

CourseUnitRealizationTypeCode

A URN code containing the course unit realization type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/course-unit-realization-type):

string (CourseUnitRealizationTypeCode) urn:code:course-unit-realisation-type:(\S{1,6...

A URN code containing the course unit realization type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/course-unit-realization-type):

"urn:code:course-unit-realisation-type:exam"

CourseUnitRealization

Course Unit Realization Opintojakson toteutus

object (MarkupWithTranslations)

This field provides supplementary details and context related to the primary data. It is intended to capture any relevant information that enhances understanding, including explanations, clarifications, or additional notes that may be necessary for comprehensive interpretation.

assessmentItemIds
required
Array of strings (AssessmentItemIdentifier)

Reference to Assessment Items

code
string

The code identifying the course unit realization from original source.

required
Array of objects (ContactPerson)

Contact details for responsible persons or organizing entities. The service displaying the data determines whether to use these details or those linked to the offering or course.

continuousEnrolment
boolean

Indicates whether continuous enrolment is allowed for the realization. If true, students can enroll at any time within the defined enrolment period, with immediate confirmation.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

Responsible organization

enrolmentCancellationEnd
string <date-time> (OffsetDateTime)

Last date and time to cancel enrolment for the realization.

object (OffsetDateTimeRange)

The period during which enrolments for the realization are open.

evaluationScale
string

Evaluation scale used for the realization (to be determined by schema definition).

object (WebLinkWithTranslations)

Web link for enrolment in the realization.

externalIdentifier
required
string

An identifier provided by the organizing institution.

identifier
required
string (CourseUnitRealizationIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.7\.[\w!"#$%...

The HED identifier for the course unit realization, acting as a node reference.

object (TextWithTranslations)

A brief description that encapsulates the main idea or purpose of the data object, allowing users to quickly grasp its significance.

object (TextWithTranslations)

A description of the learning environment used in the course realization.

object (MarkupWithTranslations)

A description of the teaching materials used in the course realization. This may include reading lists or other required resources.

Array of objects (Location)

Physical locations where the course realization takes place. Examples include university buildings and classrooms.

required
object (TextWithTranslations)

The name of the course realization in different languages. Example names could specify the teaching method or provider details.

realizationType
required
string (CourseUnitRealizationTypeCode) urn:code:course-unit-realisation-type:(\S{1,6...

A URN code containing the course unit realization type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/course-unit-realization-type):

state
required
string (CurriculumStateCode) urn:code:curriculum-state:(active|deleted|can...

A URN code containing the curriculum study element state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/curriculum-state):

teachingLanguages
string (LanguageCode) urn:code:kieli:..

The language(s) of instruction. Language codes are retrieved from a coding system.

required
object (OffsetDateTimeRange)

The actual period during which the course realization takes place. This includes times such as exam dates or participation windows.

{
  • "additionalInformation": {
    },
  • "assessmentItemIds": [
    ],
  • "code": "ODKP1190",
  • "contactDetails": [
    ],
  • "continuousEnrolment": true,
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "enrolmentCancellationEnd": "2022-11-01T00:00:00Z",
  • "enrolmentPeriod": {
    },
  • "evaluationScale": "string",
  • "externalEnrolmentLink": {
    },
  • "externalIdentifier": "otm-2278f170-d8d0-4bf4-8e31-7b0e7f512f96",
  • "identifier": "1.2.246.10.34113206.1.01909.7.option-abc",
  • "ingress": {
    },
  • "learningEnvironment": {
    },
  • "learningMaterial": {
    },
  • "locations": [
    ],
  • "name": {
    },
  • "realizationType": "urn:code:course-unit-realisation-type:exam",
  • "state": "urn:code:curriculum-state:active",
  • "teachingLanguages": "urn:code:kieli:FI",
  • "validityPeriod": {
    }
}

FormalStudyOptionType

Formal Study Option type.

string (FormalStudyOptionType)

Formal Study Option type.

Enum: "COURSE_UNIT" "PACKAGE" "STUDY_MODULE" "STUDY_RIGHT"
"COURSE_UNIT"

CourseUnitWithCompletionOptions

A list of mappings between course units and their selected completion options. Each entry consists of a reference to a course unit and an array of completion option references that have been chosen for that unit. The course unit itself might have more completion options; select here which ones are in use with this option. Course unit reference is needed because, actual course unit realization might not exists when this data is shown.

completionOptionIds
required
Array of strings (CompletionOptionIdentifier)
courseUnitIdentifier
required
string (StudyElementIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.5\.[\w!"#$%...

A unique identifier for the course unit.

{
  • "completionOptionIds": [
    ],
  • "courseUnitIdentifier": "1.2.246.10.34113206.1.01909.5.option-abc"
}

StudyStructure

Study Structure defines which course units, course unit realizations and completion options are included to entity. It is possible that there is study structure before course unit realizations. In that case it should be left as empty list if course unit realizations does not exists.

courseUnitRealizationIds
required
Array of strings (CourseUnitRealizationIdentifier)
required
Array of objects (CourseUnitWithCompletionOptions)
{
  • "courseUnitRealizationIds": [
    ],
  • "courseUnitWithCompletionOptions": [
    ]
}

FormalStudyOptionInstance

An instance of formal education describes the content of formal education time-based content. For example there is FormalStudyOption like "Programming basics".It defines some common details which can be references without knowing course details etc. Maybe courses included are not decided yet completely.
For example, the courses may be scheduled for the period from January 1, 2024, to May 1, 2024. The formal study instance includes information for specific time period. There might be a education package with same almost same content but with different learning methods, then that creates another instance and it refers to same Formal Study Option than other one because these two instances shares same basic information. And if there is same package for next year, it is a new instance because time period is different, but it can refers same FormalStudyOption.

object (TypedMarkupWithTranslations)

This field provides supplementary details and context related to the primary data. It is intended to capture any relevant information that enhances understanding, including explanations, clarifications, or additional notes that may be necessary for comprehensive interpretation.

required
Array of objects (ContactPoint)
cooperationNetworkCode
string

Cooperation network code from Codesystem (TODO)

object (ContentDescription)

Textual explanation how credits are earned when minimum and maximum are defined. How learner can achieve maximum credits.

object (CreditRange)

The scope of the study option. Currently supported only credits.

Array of objects (ContentDescription)

A concise description of the study option available to students, outlining its focus, key topics, and intended learning outcomes. This field aims to provide students with a clear understanding of what the study option entails, helping them make informed decisions about their educational path.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

Responsible organization

externalIdentifier
string

Possible identifier in Educational Institution context

object (TextWithTranslations)

Guidelines for ensuring content compatibility with the specified study option. This includes instructions on how to adapt materials and resources to meet the needs of diverse learners, ensuring accessibility and inclusivity. The instructions may cover aspects such as format requirements, recommended tools, and best practices for delivering content effectively to all students.

object (TextWithTranslations)

A brief description that encapsulates the main idea or purpose of the data object, allowing users to quickly grasp its significance.

object (TypedMarkupWithTranslations)

Learning materials for the study option

modifiedAt
required
string <date-time> (OffsetDateTime)

Last modification time with UTC offset.

required
object (TextWithTranslations)

Visible names for formal study option with language translations.

object (TypedMarkupWithTranslations)

Objective for the study option

object (TypedMarkupWithTranslations)

Prerequisites for the study option

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyFields
required
Array of strings (FieldOfStudyCode)

OKM codes

studyLevel
string (StudyLevelCode) urn:code:study-level:TODO

Study level Code system code.

themes
Array of strings (StudyOptionThemeCodesList)

Themes for formal study options from Code system

type
required
string (FormalStudyOptionType)

Formal study option type from code system.

Enum: "COURSE_UNIT" "PACKAGE" "STUDY_MODULE" "STUDY_RIGHT"
object (WebLinkWithTranslations)

External URL of the study option

required
object (OffsetDateTimeRange)

Defines the start and end times (optional) of the offering, when the Study option offering can be displayed. It is not an actual study period.

identifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Unique identifier for FormalStudyOptionInstance.

relatedFormalStudyOption
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Id for formal Study Option is parent entity.

language
string (LanguageCode) urn:code:kieli:..

A Language code URN containing the two letter language code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/kieli/koodi

object (TextWithTranslations)

The learning environment description encompasses the setting and context in which students engage with their studies. Like physical classrooms, laboratories, virtual platforms, hybrid models etc.

object (SalesInformation)

Sales information

object (WebLinkWithTranslations)

Url for enrollment.

object (OffsetDateTimeRange)

Date and time range for enrollment.

enrollmentMinAttendance
number

Minimum attendance count required

enrollmentMaxAttendance
number

Maximum attendance count required

object (StudyStructure)

Study Structure defines which course units, course unit realizations and completion options are included to entity. It is possible that there is study structure before course unit realizations. In that case it should be left as empty list if course unit realizations does not exists.

{
  • "additionalInformation": {
    },
  • "contactDetails": [
    ],
  • "cooperationNetworkCode": "urn:code:co-operation-network-code:A0001",
  • "creditsDescription": {
    },
  • "creditRange": {
    },
  • "description": [
    ],
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "inclusionApplicationInstruction": {
    },
  • "ingress": {
    },
  • "learningMaterial": {
    },
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "objective": {
    },
  • "prerequisites": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyFields": [
    ],
  • "studyLevel": "urn:code:study-level:TODO",
  • "themes": [
    ],
  • "type": "COURSE_UNIT",
  • "url": {
    },
  • "validityPeriod": {
    },
  • "identifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "relatedFormalStudyOption": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "language": "urn:code:kieli:FI",
  • "learningEnvironment": {
    },
  • "salesInformation": {
    },
  • "enrollmentUrl": {
    },
  • "enrollmentDateAntTimeRange": {
    },
  • "enrollmentMinAttendance": 10,
  • "enrollmentMaxAttendance": 100,
  • "studyStructure": {
    }
}

FormalStudyOption

Basic information about education that is common to specific formal offerings. Instances of formal offerings (FormalStudyOptionInstance) can override certain fields with their own data content. For example, there is Formal study option "Orientation to research work in education" which has basic information how incoming offering contains like content basic descrption "In the course: the methodological foundations of educational knowledge, principles related to the nature, significance, and production of knowledge are examine" or learning outcomes "After completing the course, the student understands educational research and its basic concepts". These information can be specified in detailed level with Formal Study Option Instances.

object (TypedMarkupWithTranslations)

Additional information for the study option

code
string [ 1 .. 100 ] characters

A human readable identifier for this study option.

Array of objects (ContactPoint)
cooperationNetworkCode
string

Cooperation network code from Codesystem (TODO)

object (ContentDescription)

Textual explanation how credits are earned when minimum and maximum are defined. How learner can achieve maximum credits.

object (CreditRange)

The scope of the study option. Currently supported only credits.

Array of objects (ContentDescription)

Description can be divided by sub topics if needed

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

Responsible organization

externalIdentifier
string

Possible identifier in Educational Institution context

identifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

object (TextWithTranslations)

Content compatibility instructions for the study option

object (TextWithTranslations)

A brief description that encapsulates the main idea or purpose of the data object, allowing users to quickly grasp its significance.

Array of objects (FormalStudyOptionInstance)

List of Formal Study Option Instances related to this base Formal Study Option

object (TypedMarkupWithTranslations)

Learning materials for the study option

modifiedAt
required
string <date-time> (OffsetDateTime)

Last modification time with UTC offset.

required
object (TextWithTranslations)

Visible names for formal study option with language translations.

object (TypedMarkupWithTranslations)

Objective for the study option

object (TypedMarkupWithTranslations)

Prerequisites for the study option

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyFields
required
Array of strings (FieldOfStudyCode)

OKM codes

studyLevel
string (StudyLevelCode) urn:code:study-level:TODO

Study level Code system code.

themes
required
Array of strings (StudyOptionThemeCodesList)

Themes for formal study options from Code system

type
required
string (FormalStudyOptionType)

Formal study option type from code system.

Enum: "COURSE_UNIT" "PACKAGE" "STUDY_MODULE" "STUDY_RIGHT"
object (WebLinkWithTranslations)

External URL of the formal study option

required
object (OffsetDateTimeRange)

Defines the start and end times (optional) of the offering, when the Study option offering can be displayed. It is not an actual study period.

{
  • "additionalInformation": {
    },
  • "code": "FYS-503",
  • "contactDetails": [
    ],
  • "cooperationNetworkCode": "urn:code:co-operation-network-code:A0001",
  • "creditsDescription": {
    },
  • "creditRange": {
    },
  • "description": [
    ],
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "inclusionApplicationInstruction": {
    },
  • "ingress": {
    },
  • "instances": [
    ],
  • "learningMaterial": {
    },
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "objective": {
    },
  • "prerequisites": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyFields": [
    ],
  • "studyLevel": "urn:code:study-level:TODO",
  • "themes": [
    ],
  • "type": "COURSE_UNIT",
  • "url": {
    },
  • "validityPeriod": {
    }
}

StudyElementType

Study Element type.

string (StudyElementType)

Study Element type.

Enum: "COURSE_UNIT" "STUDY_MODULE" "DEGREE_PROGRAMME"
"COURSE_UNIT"

StudyElementBase

Common properties for different types of Study Element.

code
string

Code in Educational Institution context

childrenRefs
Array of strings (StudyElementIdentifier)

Reference to child Study Elements

object (CreditRange)

Schema for a CreditRange object, representing the minimum and maximum values for a range of credits, along with the type of the range. Typically represented in ECTS, the range may vary (e.g., 2-7 credits). If only one value is provided, the range is assumed fixed (e.g., 2-2 credits means 2 credits).

externalIdentifier
string

Possible identifier in Educational Institution context

identifier
required
string (StudyElementIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.5\.[\w!"#$%...

Global Study Element Identifier. Can identify CourseUnit or StudyModule The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "5" followed by an identifier unique within the institution.

object (TextWithTranslations)
studyFields
Array of strings (FieldOfStudyCode)

Study fields

type
required
string (StudyElementType)

Study Element type.

Enum: "COURSE_UNIT" "STUDY_MODULE" "DEGREE_PROGRAMME"
object (OffsetDateTimeRange)

The date range when the Study Element is meant to be visible.

object (Location)

Schema for a Location object, representing a physical location with details about address, building, space, access, and transportation instructions.

object (SalesInformation)

Schema for a SalesInformation object, including price, currency, tax rate, and optional conditions and additional information.

{
  • "code": "ABC.123",
  • "childrenRefs": [
    ],
  • "creditRange": {
    },
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.5.option-abc",
  • "name": {
    },
  • "studyFields": [
    ],
  • "type": "COURSE_UNIT",
  • "validityPeriod": {
    },
  • "location": {
    },
  • "salesInformation": {
    }
}

StudyModule

Study Module specific fields. TODO: Add more rules and separate data type Opintokokonaisuus

code
string

Code in Educational Institution context

childrenRefs
Array of strings (StudyElementIdentifier)

Reference to child Study Elements

object (CreditRange)

Schema for a CreditRange object, representing the minimum and maximum values for a range of credits, along with the type of the range. Typically represented in ECTS, the range may vary (e.g., 2-7 credits). If only one value is provided, the range is assumed fixed (e.g., 2-2 credits means 2 credits).

externalIdentifier
string

Possible identifier in Educational Institution context

identifier
required
string (StudyElementIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.5\.[\w!"#$%...

Global Study Element Identifier. Can identify CourseUnit or StudyModule The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "5" followed by an identifier unique within the institution.

object (TextWithTranslations)
studyFields
Array of strings (FieldOfStudyCode)

Study fields

type
required
string (StudyElementType)

Study Element type.

Enum: "COURSE_UNIT" "STUDY_MODULE" "DEGREE_PROGRAMME"
object (OffsetDateTimeRange)

The date range when the Study Element is meant to be visible.

object (Location)

Schema for a Location object, representing a physical location with details about address, building, space, access, and transportation instructions.

object (SalesInformation)

Schema for a SalesInformation object, including price, currency, tax rate, and optional conditions and additional information.

Array of objects

Rules for completing the study element

{
  • "code": "ABC.123",
  • "childrenRefs": [
    ],
  • "creditRange": {
    },
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.5.option-abc",
  • "name": {
    },
  • "studyFields": [
    ],
  • "type": "COURSE_UNIT",
  • "validityPeriod": {
    },
  • "location": {
    },
  • "salesInformation": {
    },
  • "rules": [
    ]
}

StudyElement

Study Element, which can be Course Unit or Study Module Opintoelementti

object (MarkupWithTranslations)

This field provides supplementary details and context related to the primary data. It is intended to capture any relevant information that enhances understanding, including explanations, clarifications, or additional notes that may be necessary for comprehensive interpretation.

code
string

The code identifying the course unit from original source.

completionLanguages
Array of strings (LanguageCode)

The languages in which the course can be completed. Language codes retrieved from a coding system.

required
Array of objects (CompletionOption)

A list of all possible completion methods for this course unit. Example methods include attending lectures, exams, internships, or recognition of prior learning.

Array of objects (ContactPerson)
object (MarkupWithTranslations)

A detailed description of the course content.

required
object (CreditRange)

Schema for a CreditRange object, representing the minimum and maximum values for a range of credits, along with the type of the range. Typically represented in ECTS, the range may vary (e.g., 2-7 credits). If only one value is provided, the range is assumed fixed (e.g., 2-2 credits means 2 credits).

object (MarkupWithTranslations)

Textual explanation how credits are earned when minimum and maximum are defined. How learner can achieve maximum credits.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

Responsible organization

evaluationScale
string

Evaluation scale used for the realization (to be determined by schema definition).

externalIdentifier
required
string

An identifier provided by the organizing institution.

identifier
required
string (StudyElementIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.5\.[\w!"#$%...

The HED identifier for the course unit, acting as a node reference.

object (MarkupWithTranslations)

Content compatibility instructions for the course unit

object (TextWithTranslations)

A brief description that encapsulates the main idea or purpose of the data object, allowing users to quickly grasp its significance.

keywords
Array of strings

Keywords describing the course content, used mainly for query support.

object (MarkupWithTranslations)

Learning materials for the course unit

required
object (TextWithTranslations)

Visible names for course unit with language translations.

object (MarkupWithTranslations)

Description of the course objectives, detailing what students should achieve upon completion.

object (MarkupWithTranslations)

Prerequisites for the course unit

state
required
string (CurriculumStateCode) urn:code:curriculum-state:(active|deleted|can...

A URN code containing the curriculum study element state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/curriculum-state):

studyField
string (FieldOfStudyCode) urn:code:okmohjauksenala:[0-9]{1,2}

The field of study (from a predefined code set). Example values are retrieved from the specified coding system.

studyLevel
string (StudyLevelCode) urn:code:study-level:TODO

The level of study, retrieved from a coding system.

required
object (OffsetDateTimeRange)

The validity period of the course unit. If the validity period is not provided in the source data, it could be assumed to start from the data transfer date.

{
  • "additionalInformation": {
    },
  • "code": "ODKP1190",
  • "completionLanguages": [
    ],
  • "completionOptions": [
    ],
  • "contactDetails": [
    ],
  • "content": {
    },
  • "creditRange": {
    },
  • "creditsDescription": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "evaluationScale": "string",
  • "externalIdentifier": "otm-2278f170-d8d0-4bf4-8e31-7b0e7f512f96",
  • "identifier": "1.2.246.10.34113206.1.01909.5.option-abc",
  • "inclusionApplicationInstruction": {
    },
  • "ingress": {
    },
  • "keywords": [
    ],
  • "learningMaterial": {
    },
  • "name": {
    },
  • "objective": {
    },
  • "prerequisites": {
    },
  • "state": "urn:code:curriculum-state:active",
  • "studyField": "urn:code:okmohjauksenala:1",
  • "studyLevel": "urn:code:study-level:TODO",
  • "validityPeriod": {
    },
  • "type": "COURSE_UNIT"
}

FormalStudyOptionBundle

Formal Study Option. TODO: Harkitaan käytetäänkö bundlen sijaan erillisiä endpointteja

Array of objects (AssessmentItem)
Array of objects (CourseUnitRealization)
required
Array of objects (FormalStudyOption)
studyElements
Array of objects (StudyElement)
{
  • "assessmentItems": [
    ],
  • "courseUnitRealizations": [
    ],
  • "formalStudyOptions": [
    ],
  • "studyElements": [
    ]
}

Informal Study Option models

Informal Study Option specific objects

InformalStudyOption

Informal Study Option

code
string [ 1 .. 100 ] characters \S(.*\S)?

A human readable identifier for this study option.

required
Array of objects (ContactDetails)
required
object (MarkupWithTranslations)

Description

required
object (TextWithTranslations)

Ingress

modifiedAt
string <date-time> (OffsetDateTime)

Optional last modification time with UTC offset. The value cannot be in the future nor before creation time. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

required
object (TextWithTranslations)

Name

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyFields
Array of strings (FieldOfStudyCode)

OKM codes

themes
Array of strings (StudyOptionThemeCodesList)

A list of URN codes containing the study option theme. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-theme):

url
string <uri>

External URL of the study option

object (OffsetDateTimeRange)

The date range when the Study Option is meant to be visible.

createdAt
string <date-time> (OffsetDateTime)

Optional creation time with UTC offset. The value cannot be in the future nor after modifiedAt. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request.
Defaults to the current time.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

externalIdentifier
string

Possible identifier in Educational Institution context. This property is immutable.

identifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

{
  • "code": "FYS-503",
  • "contactDetails": [
    ],
  • "description": {
    },
  • "ingress": {
    },
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyFields": [
    ],
  • "themes": [
    ],
  • "validityPeriod": {
    },
  • "createdAt": "2022-11-01T00:00:00Z",
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.1.option-abc"
}

InformalStudyOptionInstance

Discriminator and base class for different Study Option Instances.

An instance of informal study option instance describes the content of time-based content, for example Webinars, Seminars, Event.

For instance, the webinars, events, or seminars may be scheduled for the period from January 1, 2024, to May 1, 2024. The formal study instance includes information for this specific time period.

There might be an educational package with almost the same content but delivered through different learning methods (e.g., live webinars vs. recorded seminars). This creates another instance, and it refers to the same FormalStudyOption as the other one because these two instances share the same basic information.

If the same package is offered the next year, it is considered a new instance because the time period is different, but it can refer to the same FormalStudyOption.

additionalInformation
string

Possible extra information about the Study Option Instance.

authors
required
Array of strings

A list of authors or contributors associated with the content. This may include presenters of webinars, speakers at seminars, creators of videos, authors of publications or blogs, and organizers of events. Mandatory field for avoiding null list, use an empty list if no data is available.

required
Array of objects (ContactDetails)
createdAt
string <date-time> (OffsetDateTime)

Optional creation time with UTC offset. The value cannot be in the future nor after modifiedAt. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (MarkupWithTranslations)

Additional description of the instance. If not provided in the request, it will be populated from parent study option.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

externalIdentifier
string

Possible identifier in Educational Institution context. This property is immutable.

identifier
required
string (StudyOptionInstanceIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.2\.[\w!"#$%...

Global Study Option Instance Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "2" followed by an identifier unique within the institution.

object (TextWithTranslations)

Ingress

keywords
required
Array of strings

Keywords

language
required
string (LanguageCode) urn:code:kieli:..

A Language code URN containing the two letter language code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/kieli/koodi

modifiedAt
string <date-time> (OffsetDateTime)

Optional last modification time with UTC offset. The value cannot be in future nor before creation time. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (TextWithTranslations)

Name of the instance. If not provided in the request, it will be populated from parent study option.

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyOptionIdentifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

type
required
string (InformalStudyOptionTypeCode) urn:code:informal-study-option-type:(\S{1,60}...

A URN code containing the informal study option type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/informal-study-option-type):

required
object (OffsetDateTimeRange)

The date range when the Study Option Instance is meant to be visible.

publisher
string non-empty

Name of the publisher

url
required
string <uri>

URL of the blog

{
  • "additionalInformation": "string",
  • "authors": [
    ],
  • "contactDetails": [
    ],
  • "createdAt": "2022-11-01T00:00:00Z",
  • "description": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.2.instanssi653",
  • "ingress": {
    },
  • "keywords": [
    ],
  • "language": "urn:code:kieli:FI",
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyOptionIdentifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "type": "urn:code:informal-study-option-type:blog",
  • "validityPeriod": {
    },
  • "publisher": "John Doe",
}

Blog

Blog specific fields

additionalInformation
string

Possible extra information about the Study Option Instance.

authors
required
Array of strings

A list of authors or contributors associated with the content. This may include presenters of webinars, speakers at seminars, creators of videos, authors of publications or blogs, and organizers of events. Mandatory field for avoiding null list, use an empty list if no data is available.

required
Array of objects (ContactDetails)
createdAt
string <date-time> (OffsetDateTime)

Optional creation time with UTC offset. The value cannot be in the future nor after modifiedAt. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (MarkupWithTranslations)

Additional description of the instance. If not provided in the request, it will be populated from parent study option.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

externalIdentifier
string

Possible identifier in Educational Institution context. This property is immutable.

identifier
required
string (StudyOptionInstanceIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.2\.[\w!"#$%...

Global Study Option Instance Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "2" followed by an identifier unique within the institution.

object (TextWithTranslations)

Ingress

keywords
required
Array of strings

Keywords

language
required
string (LanguageCode) urn:code:kieli:..

A Language code URN containing the two letter language code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/kieli/koodi

modifiedAt
string <date-time> (OffsetDateTime)

Optional last modification time with UTC offset. The value cannot be in future nor before creation time. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (TextWithTranslations)

Name of the instance. If not provided in the request, it will be populated from parent study option.

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyOptionIdentifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

type
required
string (InformalStudyOptionTypeCode) urn:code:informal-study-option-type:(\S{1,60}...

A URN code containing the informal study option type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/informal-study-option-type):

required
object (OffsetDateTimeRange)

The date range when the Study Option Instance is meant to be visible.

publisher
string non-empty

Name of the publisher

url
required
string <uri>

URL of the blog

{
  • "additionalInformation": "string",
  • "authors": [
    ],
  • "contactDetails": [
    ],
  • "createdAt": "2022-11-01T00:00:00Z",
  • "description": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.2.instanssi653",
  • "ingress": {
    },
  • "keywords": [
    ],
  • "language": "urn:code:kieli:FI",
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyOptionIdentifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "type": "urn:code:informal-study-option-type:blog",
  • "validityPeriod": {
    },
  • "publisher": "John Doe",
}

Event

Event specific fields

additionalInformation
string

Possible extra information about the Study Option Instance.

authors
required
Array of strings

A list of authors or contributors associated with the content. This may include presenters of webinars, speakers at seminars, creators of videos, authors of publications or blogs, and organizers of events. Mandatory field for avoiding null list, use an empty list if no data is available.

required
Array of objects (ContactDetails)
createdAt
string <date-time> (OffsetDateTime)

Optional creation time with UTC offset. The value cannot be in the future nor after modifiedAt. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (MarkupWithTranslations)

Additional description of the instance. If not provided in the request, it will be populated from parent study option.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

externalIdentifier
string

Possible identifier in Educational Institution context. This property is immutable.

identifier
required
string (StudyOptionInstanceIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.2\.[\w!"#$%...

Global Study Option Instance Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "2" followed by an identifier unique within the institution.

object (TextWithTranslations)

Ingress

keywords
required
Array of strings

Keywords

language
required
string (LanguageCode) urn:code:kieli:..

A Language code URN containing the two letter language code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/kieli/koodi

modifiedAt
string <date-time> (OffsetDateTime)

Optional last modification time with UTC offset. The value cannot be in future nor before creation time. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (TextWithTranslations)

Name of the instance. If not provided in the request, it will be populated from parent study option.

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyOptionIdentifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

type
required
string (InformalStudyOptionTypeCode) urn:code:informal-study-option-type:(\S{1,60}...

A URN code containing the informal study option type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/informal-study-option-type):

required
object (OffsetDateTimeRange)

The date range when the Study Option Instance is meant to be visible.

publisher
string non-empty

Name of the publisher

url
required
string <uri>

URL of the blog

{
  • "additionalInformation": "string",
  • "authors": [
    ],
  • "contactDetails": [
    ],
  • "createdAt": "2022-11-01T00:00:00Z",
  • "description": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.2.instanssi653",
  • "ingress": {
    },
  • "keywords": [
    ],
  • "language": "urn:code:kieli:FI",
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyOptionIdentifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "type": "urn:code:informal-study-option-type:blog",
  • "validityPeriod": {
    },
  • "publisher": "John Doe",
}

Podcast

Podcast specific fields

additionalInformation
string

Possible extra information about the Study Option Instance.

authors
required
Array of strings

A list of authors or contributors associated with the content. This may include presenters of webinars, speakers at seminars, creators of videos, authors of publications or blogs, and organizers of events. Mandatory field for avoiding null list, use an empty list if no data is available.

required
Array of objects (ContactDetails)
createdAt
string <date-time> (OffsetDateTime)

Optional creation time with UTC offset. The value cannot be in the future nor after modifiedAt. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (MarkupWithTranslations)

Additional description of the instance. If not provided in the request, it will be populated from parent study option.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

externalIdentifier
string

Possible identifier in Educational Institution context. This property is immutable.

identifier
required
string (StudyOptionInstanceIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.2\.[\w!"#$%...

Global Study Option Instance Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "2" followed by an identifier unique within the institution.

object (TextWithTranslations)

Ingress

keywords
required
Array of strings

Keywords

language
required
string (LanguageCode) urn:code:kieli:..

A Language code URN containing the two letter language code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/kieli/koodi

modifiedAt
string <date-time> (OffsetDateTime)

Optional last modification time with UTC offset. The value cannot be in future nor before creation time. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (TextWithTranslations)

Name of the instance. If not provided in the request, it will be populated from parent study option.

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyOptionIdentifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

type
required
string (InformalStudyOptionTypeCode) urn:code:informal-study-option-type:(\S{1,60}...

A URN code containing the informal study option type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/informal-study-option-type):

required
object (OffsetDateTimeRange)

The date range when the Study Option Instance is meant to be visible.

publisher
string non-empty

Name of the publisher

url
required
string <uri>

URL of the blog

{
  • "additionalInformation": "string",
  • "authors": [
    ],
  • "contactDetails": [
    ],
  • "createdAt": "2022-11-01T00:00:00Z",
  • "description": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.2.instanssi653",
  • "ingress": {
    },
  • "keywords": [
    ],
  • "language": "urn:code:kieli:FI",
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyOptionIdentifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "type": "urn:code:informal-study-option-type:blog",
  • "validityPeriod": {
    },
  • "publisher": "John Doe",
}

Publication

Publication specific fields

There must be at least one ContactDetails with Author -role.

additionalInformation
string

Possible extra information about the Study Option Instance.

authors
required
Array of strings

A list of authors or contributors associated with the content. This may include presenters of webinars, speakers at seminars, creators of videos, authors of publications or blogs, and organizers of events. Mandatory field for avoiding null list, use an empty list if no data is available.

required
Array of objects (ContactDetails)
createdAt
string <date-time> (OffsetDateTime)

Optional creation time with UTC offset. The value cannot be in the future nor after modifiedAt. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (MarkupWithTranslations)

Additional description of the instance. If not provided in the request, it will be populated from parent study option.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

externalIdentifier
string

Possible identifier in Educational Institution context. This property is immutable.

identifier
required
string (StudyOptionInstanceIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.2\.[\w!"#$%...

Global Study Option Instance Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "2" followed by an identifier unique within the institution.

object (TextWithTranslations)

Ingress

keywords
required
Array of strings

Keywords

language
required
string (LanguageCode) urn:code:kieli:..

A Language code URN containing the two letter language code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/kieli/koodi

modifiedAt
string <date-time> (OffsetDateTime)

Optional last modification time with UTC offset. The value cannot be in future nor before creation time. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (TextWithTranslations)

Name of the instance. If not provided in the request, it will be populated from parent study option.

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyOptionIdentifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

type
required
string (InformalStudyOptionTypeCode) urn:code:informal-study-option-type:(\S{1,60}...

A URN code containing the informal study option type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/informal-study-option-type):

required
object (OffsetDateTimeRange)

The date range when the Study Option Instance is meant to be visible.

publisher
string non-empty

Name of the publisher

url
required
string <uri>

URL of the blog

{
  • "additionalInformation": "string",
  • "authors": [
    ],
  • "contactDetails": [
    ],
  • "createdAt": "2022-11-01T00:00:00Z",
  • "description": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.2.instanssi653",
  • "ingress": {
    },
  • "keywords": [
    ],
  • "language": "urn:code:kieli:FI",
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyOptionIdentifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "type": "urn:code:informal-study-option-type:blog",
  • "validityPeriod": {
    },
  • "publisher": "John Doe",
}

Seminar

Seminar specific fields.

additionalInformation
string

Possible extra information about the Study Option Instance.

authors
required
Array of strings

A list of authors or contributors associated with the content. This may include presenters of webinars, speakers at seminars, creators of videos, authors of publications or blogs, and organizers of events. Mandatory field for avoiding null list, use an empty list if no data is available.

required
Array of objects (ContactDetails)
createdAt
string <date-time> (OffsetDateTime)

Optional creation time with UTC offset. The value cannot be in the future nor after modifiedAt. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (MarkupWithTranslations)

Additional description of the instance. If not provided in the request, it will be populated from parent study option.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

externalIdentifier
string

Possible identifier in Educational Institution context. This property is immutable.

identifier
required
string (StudyOptionInstanceIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.2\.[\w!"#$%...

Global Study Option Instance Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "2" followed by an identifier unique within the institution.

object (TextWithTranslations)

Ingress

keywords
required
Array of strings

Keywords

language
required
string (LanguageCode) urn:code:kieli:..

A Language code URN containing the two letter language code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/kieli/koodi

modifiedAt
string <date-time> (OffsetDateTime)

Optional last modification time with UTC offset. The value cannot be in future nor before creation time. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (TextWithTranslations)

Name of the instance. If not provided in the request, it will be populated from parent study option.

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyOptionIdentifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

type
required
string (InformalStudyOptionTypeCode) urn:code:informal-study-option-type:(\S{1,60}...

A URN code containing the informal study option type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/informal-study-option-type):

required
object (OffsetDateTimeRange)

The date range when the Study Option Instance is meant to be visible.

publisher
string non-empty

Name of the publisher

url
required
string <uri>

URL of the blog

{
  • "additionalInformation": "string",
  • "authors": [
    ],
  • "contactDetails": [
    ],
  • "createdAt": "2022-11-01T00:00:00Z",
  • "description": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.2.instanssi653",
  • "ingress": {
    },
  • "keywords": [
    ],
  • "language": "urn:code:kieli:FI",
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyOptionIdentifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "type": "urn:code:informal-study-option-type:blog",
  • "validityPeriod": {
    },
  • "publisher": "John Doe",
}

Video

Video specific fields

Video is a widely used audiovisual content format in online learning. A video can be a lecture recording, a separately scripted, filmed, and edited piece, an animation, etc. Video is a cost-effective way to convey a lot of information. The forms of video expression are constantly evolving. Artificial intelligence has also become a viable tool for video production. The downside of video is accessibility – it may require subtitles or other forms of content description. Implementing these becomes easier with technological advancements.

A video is one of the teaching methods used in the implementation of informal or non-formal offerings on for example in Opin.fi. A video can be any video presentation available on a publishing platform (a single video or a series), such as a lecture or webinar recording, a video blog, an animation, etc. For example, Opin.fi does not impose any technical requirements on the video. The description of the video and the link to the video on its publishing platform are provided to for example in Opin.fi. Therefore, videos are not stored on Opin.fi.

The university is responsible for the availability, accessibility, quality, content, and usage rights of the video in accordance with the rules and quality criteria of the Opin.fi service. The university maintains the information related to video-based offerings.

(Reference and unofficially translated from https://sanastot.suomi.fi/terminology/digivisio_2030/concept/concept-43 )

additionalInformation
string

Possible extra information about the Study Option Instance.

authors
required
Array of strings

A list of authors or contributors associated with the content. This may include presenters of webinars, speakers at seminars, creators of videos, authors of publications or blogs, and organizers of events. Mandatory field for avoiding null list, use an empty list if no data is available.

required
Array of objects (ContactDetails)
createdAt
string <date-time> (OffsetDateTime)

Optional creation time with UTC offset. The value cannot be in the future nor after modifiedAt. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (MarkupWithTranslations)

Additional description of the instance. If not provided in the request, it will be populated from parent study option.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

externalIdentifier
string

Possible identifier in Educational Institution context. This property is immutable.

identifier
required
string (StudyOptionInstanceIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.2\.[\w!"#$%...

Global Study Option Instance Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "2" followed by an identifier unique within the institution.

object (TextWithTranslations)

Ingress

keywords
required
Array of strings

Keywords

language
required
string (LanguageCode) urn:code:kieli:..

A Language code URN containing the two letter language code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/kieli/koodi

modifiedAt
string <date-time> (OffsetDateTime)

Optional last modification time with UTC offset. The value cannot be in future nor before creation time. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (TextWithTranslations)

Name of the instance. If not provided in the request, it will be populated from parent study option.

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyOptionIdentifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

type
required
string (InformalStudyOptionTypeCode) urn:code:informal-study-option-type:(\S{1,60}...

A URN code containing the informal study option type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/informal-study-option-type):

required
object (OffsetDateTimeRange)

The date range when the Study Option Instance is meant to be visible.

publisher
string non-empty

Name of the publisher

url
required
string <uri>

URL of the blog

{
  • "additionalInformation": "string",
  • "authors": [
    ],
  • "contactDetails": [
    ],
  • "createdAt": "2022-11-01T00:00:00Z",
  • "description": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.2.instanssi653",
  • "ingress": {
    },
  • "keywords": [
    ],
  • "language": "urn:code:kieli:FI",
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyOptionIdentifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "type": "urn:code:informal-study-option-type:blog",
  • "validityPeriod": {
    },
  • "publisher": "John Doe",
}

Webinar

A webinar (also known as a web seminar) is a virtual event conducted over the internet, where both presenters and the audience participate from their own devices regardless of their geographical location. Webinars can be utilized in remote or online informal education by organizing lectures and training sessions.

(Reference and translated unofficially https://sanastot.suomi.fi/terminology/digivisio_2030/concept/concept-44 )

Webinar specific fields.

additionalInformation
string

Possible extra information about the Study Option Instance.

authors
required
Array of strings

A list of authors or contributors associated with the content. This may include presenters of webinars, speakers at seminars, creators of videos, authors of publications or blogs, and organizers of events. Mandatory field for avoiding null list, use an empty list if no data is available.

required
Array of objects (ContactDetails)
createdAt
string <date-time> (OffsetDateTime)

Optional creation time with UTC offset. The value cannot be in the future nor after modifiedAt. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (MarkupWithTranslations)

Additional description of the instance. If not provided in the request, it will be populated from parent study option.

educationalInstitutionCode
required
string (EducationalInstitutionCode) urn:code:oppilaitosnumero:(\d{5})

A URN code containing the five digit identifier of a Finnish educational institute (Oppilaitosnumero). The identifiers are listed at https://koski.opintopolku.fi/koski/dokumentaatio/koodisto/oppilaitosnumero/latest. The value is immutable when used as a property.

externalIdentifier
string

Possible identifier in Educational Institution context. This property is immutable.

identifier
required
string (StudyOptionInstanceIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.2\.[\w!"#$%...

Global Study Option Instance Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "2" followed by an identifier unique within the institution.

object (TextWithTranslations)

Ingress

keywords
required
Array of strings

Keywords

language
required
string (LanguageCode) urn:code:kieli:..

A Language code URN containing the two letter language code as specified by the koodiArvo field of https://virkailija.opintopolku.fi/koodisto-service/rest/json/kieli/koodi

modifiedAt
string <date-time> (OffsetDateTime)

Optional last modification time with UTC offset. The value cannot be in future nor before creation time. When creating an object, both modifiedAt and createdAt, or neither of them, must be provided in the request. Defaults to the current time.

object (TextWithTranslations)

Name of the instance. If not provided in the request, it will be populated from parent study option.

state
required
string (StudyOptionStateCode) urn:code:study-option-state:(active|deleted|c...

A URN code containing the study option state (NOTE. draft and ready states are not supported). Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/study-option-state):

studyOptionIdentifier
required
string (StudyOptionIdentifier) 1\.2\.246\.10\.34113206\.1.\d{5}\.1\.[\w!"#$%...

Global Study Option Identifier. Value is immutable when used as a property. The identifier starts with the HEDI prefix "1.2.246.10.34113206.1.", followed by the educational institution identifier of the institution owning the study option (a 5 digit identifier), followed by the HEDI object type indicator "1" followed by an identifier unique within the institution.

type
required
string (InformalStudyOptionTypeCode) urn:code:informal-study-option-type:(\S{1,60}...

A URN code containing the informal study option type. Details of all valid values defined by the code system can be found from the target environments code-system API (GET <servers.url>/v1/code-system/informal-study-option-type):

required
object (OffsetDateTimeRange)

The date range when the Study Option Instance is meant to be visible.

publisher
string non-empty

Name of the publisher

url
required
string <uri>

URL of the blog

{
  • "additionalInformation": "string",
  • "authors": [
    ],
  • "contactDetails": [
    ],
  • "createdAt": "2022-11-01T00:00:00Z",
  • "description": {
    },
  • "educationalInstitutionCode": "urn:code:oppilaitosnumero:01909",
  • "externalIdentifier": "SEMINAARI-y659",
  • "identifier": "1.2.246.10.34113206.1.01909.2.instanssi653",
  • "ingress": {
    },
  • "keywords": [
    ],
  • "language": "urn:code:kieli:FI",
  • "modifiedAt": "2022-11-01T00:00:00Z",
  • "name": {
    },
  • "state": "urn:code:study-option-state:active",
  • "studyOptionIdentifier": "1.2.246.10.34113206.1.01909.1.option-abc",
  • "type": "urn:code:informal-study-option-type:blog",
  • "validityPeriod": {
    },
  • "publisher": "John Doe",
}