Overview
The public API is used for accessing public data related to courses, curricula, organisations and locations.
Endpoints
Export admission targets
GET /api/admission-targets/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point. With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be consecutive. With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultAdmissionTarget[ExportResultAdmissionTarget] |
Import admission targets
POST /api/admission-targets/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
AdmissionTarget required |
List (AdmissionTarget) |
Export assessment items
GET /api/assessment-items/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return assessment items modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return assessment items modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of assessment items to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultAssessmentItem[ExportResultAssessmentItem] |
Samples
GET /api/assessment-items/v1/export?since=27345&limit=5 HTTP/1.1
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1064
{
"greatestOrdinal" : 27347,
"hasMore" : false,
"entities" : [ {
"metadata" : {
"revision" : 1,
"createdBy" : "spectre.e",
"createdOn" : "2023-05-22T10:23:10.086676",
"lastModifiedBy" : "spectre.e",
"lastModifiedOn" : "2023-05-22T10:23:10.086818",
"modificationOrdinal" : 27347
},
"documentState" : "DRAFT",
"id" : "otm-2f107f02-55cb-43a9-82ab-05fcb8c77b71",
"universityOrgIds" : [ "the-spectre" ],
"credits" : {
"min" : 1,
"max" : 1
},
"name" : null,
"nameSpecifier" : null,
"gradeScaleId" : null,
"possibleAttainmentLanguages" : [ ],
"assessmentItemType" : null,
"contentDescription" : null,
"studyFormat" : null,
"grading" : null,
"learningMaterial" : null,
"literature" : [ ],
"studyField" : null,
"subject" : null,
"snapshotDateTime" : null,
"responsibilityInfos" : [ ],
"organisations" : [ ],
"primaryCourseUnitGroupId" : "otm-7401e42d-0ec5-451b-b2d5-85014c548816",
"cooperationNetworkDetails" : null
} ]
}
Get assessment item
GET /api/assessment-items/v1/{assessmentItemId}
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
AssessmentItem[AssessmentItem] |
Samples
GET /api/assessment-items/v1/otm-2f31ba1a-93c2-44f6-8cdb-8e6d247bbd2a HTTP/1.1
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 925
{
"metadata" : {
"revision" : 1,
"createdBy" : "spectre.e",
"createdOn" : "2023-05-22T10:23:10.389723",
"lastModifiedBy" : "spectre.e",
"lastModifiedOn" : "2023-05-22T10:23:10.389901",
"modificationOrdinal" : 27474
},
"documentState" : "DRAFT",
"id" : "otm-2f31ba1a-93c2-44f6-8cdb-8e6d247bbd2a",
"universityOrgIds" : [ "the-spectre" ],
"credits" : {
"min" : 1,
"max" : 1
},
"name" : null,
"nameSpecifier" : null,
"gradeScaleId" : null,
"possibleAttainmentLanguages" : [ ],
"assessmentItemType" : null,
"contentDescription" : null,
"studyFormat" : null,
"grading" : null,
"learningMaterial" : null,
"literature" : [ ],
"studyField" : null,
"subject" : null,
"snapshotDateTime" : null,
"responsibilityInfos" : [ ],
"organisations" : [ ],
"primaryCourseUnitGroupId" : "otm-bfb3eec6-6ff5-40e3-9408-1d55b8224696",
"cooperationNetworkDetails" : null
}
Import assessment items
POST /api/assessment-items/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
AssessmentItem required |
List (AssessmentItem) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/assessment-items/v1/import HTTP/1.1
Content-Type: application/json
Content-Length: 969
Host: localhost:8080
[ {
"metadata" : null,
"id" : "otm-a31931a6-c8b6-43c1-a587-7e09c5d8a71e",
"universityOrgIds" : [ "the-spectre" ],
"credits" : {
"min" : 10,
"max" : 10
},
"name" : {
"fi" : "AssessmentItem 2023-05-22T10:23:10.589056372"
},
"nameSpecifier" : {
"fi" : "spec"
},
"gradeScaleId" : "hy-0-5",
"possibleAttainmentLanguages" : [ ],
"assessmentItemType" : "urn:code:assessment-item-type:exam",
"contentDescription" : null,
"studyFormat" : null,
"grading" : null,
"learningMaterial" : null,
"literature" : [ ],
"studyField" : null,
"subject" : null,
"snapshotDateTime" : null,
"responsibilityInfos" : [ ],
"organisations" : [ {
"organisationId" : "the-spectre",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1,
"validityPeriod" : { }
} ],
"primaryCourseUnitGroupId" : "otm-fixture-cu-id",
"cooperationNetworkDetails" : null
} ]
HTTP/1.1 200 OK
Export buildings
GET /api/buildings/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return buildings modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return buildings modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of buildings to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultBuilding[ExportResultBuilding] |
Samples
GET /api/buildings/v1/export?since=27915&limit=5 HTTP/1.1
Accept: application/json
Authorization: Basic c3BlY3RyZS5lOnRlc3QxMjM=
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 757
{
"greatestOrdinal" : 27918,
"hasMore" : false,
"entities" : [ {
"metadata" : {
"revision" : 1,
"createdBy" : "arska",
"createdOn" : "2023-05-22T10:23:12.243771",
"lastModifiedBy" : "arska",
"lastModifiedOn" : "2023-05-22T10:23:12.243962",
"modificationOrdinal" : 27918
},
"documentState" : "ACTIVE",
"id" : "otm-ed567b6b-72ac-4267-9bb7-1f8b1877cb74",
"universityOrgIds" : [ "the-spectre" ],
"name" : {
"en" : "Viikki",
"fi" : "Viikki"
},
"address" : {
"countryUrn" : "urn:code:country:246",
"isUserEditable" : true,
"streetAddress" : "Viikinkari 9",
"postalCode" : "00790",
"city" : "Helsinki",
"type" : "FinnishAddress"
}
} ]
}
Get building
GET /api/buildings/v1/{buildingId}
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Building[Building] |
Samples
GET /api/buildings/v1/otm-ed567b6b-72ac-4267-9bb7-1f8b1877cb74 HTTP/1.1
Accept: application/json
Authorization: Bearer eyJraWQiOiJ0ZXN0LjEiLCJ0eXAiOiJKV1QiLCJhbGciOiJFUzUxMiJ9.eyJzdWIiOiJhcnNrYSIsInNjb3BlIjoiYWRtaW4gdXNlciIsImlzcyI6InNpcyIsInVuaXZlcnNpdHlPcmdJZHMiOiJoeS11bml2ZXJzaXR5LXJvb3QtaWQiLCJwZXJzb25pZCI6Im90bS1hZG1pbi1pZC0xIiwiZXhwIjoxNjg0NzQwMzcyLCJ1c2VyaW5mbyI6e319.AZQNLW0xZKony5inXbOyWoC82GywGFHyHdgXu0pPO3Viq6wHUZL43NtTQFdTy8mywdN6YXmxe0euTYkIrTHkBUs8AMC4ytqfo4Mmhik58l7psdW45jMu7PPZRilW9voHHQSnkYHADq2U1OKmDhqW028TtDJQcVUvYanULTK2IoS-x96m
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 636
{
"metadata" : {
"revision" : 1,
"createdBy" : "arska",
"createdOn" : "2023-05-22T10:23:12.623889",
"lastModifiedBy" : "arska",
"lastModifiedOn" : "2023-05-22T10:23:12.624023",
"modificationOrdinal" : 28001
},
"documentState" : "ACTIVE",
"id" : "otm-ed567b6b-72ac-4267-9bb7-1f8b1877cb74",
"universityOrgIds" : [ "the-spectre" ],
"name" : {
"en" : "Viikki",
"fi" : "Viikki"
},
"address" : {
"countryUrn" : "urn:code:country:246",
"isUserEditable" : true,
"streetAddress" : "Viikinkari 9",
"postalCode" : "00790",
"city" : "Helsinki",
"type" : "FinnishAddress"
}
}
Import buildings
POST /api/buildings/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
Building required |
List (Building) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/buildings/v1/import HTTP/1.1
Content-Type: application/json
Authorization: Basic c3BlY3RyZS5pOnRlc3QxMjM=
Content-Length: 1211
Host: localhost:8080
[ {
"metadata" : null,
"id" : "otm-ed567b6b-72ac-4267-9bb7-1f8b1877cb74",
"universityOrgIds" : [ "the-spectre" ],
"name" : {
"en" : "Viikki",
"fi" : "Viikki"
},
"address" : {
"countryUrn" : "urn:code:country:246",
"isUserEditable" : true,
"streetAddress" : "Viikinkari 9",
"postalCode" : "00790",
"city" : "Helsinki",
"type" : "FinnishAddress"
}
}, {
"metadata" : null,
"id" : "otm-155b685f-2a5e-401a-90c5-167d35101764",
"universityOrgIds" : [ "the-spectre" ],
"name" : {
"en" : "Porthania",
"fi" : "Porthania"
},
"address" : {
"countryUrn" : "urn:code:country:246",
"isUserEditable" : true,
"streetAddress" : "Yliopistonkatu 3",
"postalCode" : "00100",
"city" : "Helsinki",
"type" : "FinnishAddress"
}
}, {
"metadata" : null,
"id" : "otm-5029f514-b78c-4135-a354-9866fa472016",
"universityOrgIds" : [ "the-spectre" ],
"name" : {
"en" : "Chemicum",
"fi" : "Chemicum"
},
"address" : {
"countryUrn" : "urn:code:country:246",
"isUserEditable" : true,
"streetAddress" : "Gustaf Hällströmin katu 2a",
"postalCode" : "00560",
"city" : "Helsinki",
"type" : "FinnishAddress"
}
} ]
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Export codebooks
GET /api/codebooks/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return codebooks modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return codebooks modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of codebooks to return. May return less, either because there are not enough change items, or because of internal limits. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultCodeBook[ExportResultCodeBook] |
Samples
GET /api/codebooks/v1/export?since=0&limit=5 HTTP/1.1
Accept: application/json
Authorization: Basic c3BlY3RyZS5lOnRlc3QxMjM=
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 619
{
"greatestOrdinal" : 28632,
"hasMore" : false,
"entities" : [ {
"urn" : "urn:code:test",
"codeBookType" : "COMMON",
"name" : {
"fi" : "Dummy name"
},
"classificationScopeUrns" : [ ],
"universityOrgIds" : [ "the-spectre" ],
"metadata" : {
"revision" : 1,
"createdBy" : "spectre-course-unit-admin-user",
"createdOn" : "2023-05-22T10:23:14.744505",
"lastModifiedBy" : "spectre-course-unit-admin-user",
"lastModifiedOn" : "2023-05-22T10:23:14.744602",
"modificationOrdinal" : 28632
},
"documentState" : "ACTIVE",
"codes" : [ ]
} ]
}
Export university code usages
GET /api/codes/usage/v1/export
Export the information about which university has which code in use. The result includes all the usages for all the codebooks. Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return code university usages modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return code university usages modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of code university usages to return. May return less, either because there are not enough change items, or because of internal limits. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultCodeUniversityUsage[ExportResultCodeUniversityUsage] |
Samples
GET /api/codes/usage/v1/export?since=0&limit=5 HTTP/1.1
Accept: application/json
Authorization: Basic c3BlY3RyZS5lOnRlc3QxMjM=
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 520
{
"greatestOrdinal" : 28757,
"hasMore" : false,
"entities" : [ {
"codesInUse" : [ "urn:code:test:foo" ],
"documentState" : "ACTIVE",
"metadata" : {
"revision" : 1,
"createdBy" : "spectre-course-unit-admin-user",
"createdOn" : "2023-05-22T10:23:15.114630",
"lastModifiedBy" : "spectre-course-unit-admin-user",
"lastModifiedOn" : "2023-05-22T10:23:15.114713",
"modificationOrdinal" : 28757
},
"universityOrgId" : "the-spectre",
"id" : "the-spectre"
} ]
}
Import codebooks
POST /api/codebooks/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
CodeBook required |
List (CodeBook) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/codebooks/v1/import HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Basic c3BlY3RyZS5pOnRlc3QxMjM=
Content-Length: 794
Host: localhost:8080
[ {
"type" : "Code",
"name" : {
"fi" : "Nimi"
},
"shortName" : {
"fi" : "Nimi"
},
"urn" : "urn:code:test:1537fa08:73cd:4fc1:9572:2872d23415dd",
"parentUrn" : null,
"isLeafNode" : true,
"universitySpecifier" : null,
"deprecated" : null
}, {
"type" : "Code",
"name" : {
"fi" : "Nimi"
},
"shortName" : {
"fi" : "Nimi"
},
"urn" : "urn:code:test:89ece829:84f2:4357:a601:87634b020bf3",
"parentUrn" : null,
"isLeafNode" : true,
"universitySpecifier" : null,
"deprecated" : null
}, {
"type" : "Code",
"name" : {
"fi" : "Nimi"
},
"shortName" : {
"fi" : "Nimi"
},
"urn" : "urn:code:test:f7a726dc:e936:4eae:9332:0e89c185eeb1",
"parentUrn" : null,
"isLeafNode" : true,
"universitySpecifier" : null,
"deprecated" : null
} ]
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Import code university usages
POST /api/codes/usage/v1/import
Import the codes used for university
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
CodeUniversityUsage required |
List (CodeUniversityUsage) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/codes/usage/v1/import HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Basic c3BlY3RyZS5pOnRlc3QxMjM=
Content-Length: 130
Host: localhost:8080
[ {
"codesInUse" : [ "urn:code:test:foo" ],
"metadata" : null,
"universityOrgId" : "the-spectre",
"id" : "the-spectre"
} ]
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Export co-operation networks
GET /api/cooperation-networks/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return cooperation networks modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return cooperation networks modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of cooperation networks to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultCooperationNetwork[ExportResultCooperationNetwork] |
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
CooperationNetwork required |
List (CooperationNetwork) |
Export co-operation network settings
GET /api/cooperation-network-settings/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return cooperation network settings modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return cooperation network settings modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of cooperation network settings to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultCooperationNetworkSettings[ExportResultCooperationNetworkSettings] |
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
CooperationNetworkSettings required |
List (CooperationNetworkSettings) |
Delete course units
POST /api/course-units/v1/batch-delete
Delete a batch of course units by id or groupId
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
DeleteBatch required |
DeleteBatch (DeleteBatch) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/course-units/v1/batch-delete HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Basic c3BlY3RyZS5pOnRlc3QxMjM=
Content-Length: 81
Host: localhost:8080
{
"ids" : [ "otm-8c833ee3-aff4-44c4-acf7-15c20bef11dd" ],
"groupIds" : null
}
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Export course units
GET /api/course-units/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return course units modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return course units modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of course units to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultCourseUnit[ExportResultCourseUnit] |
Samples
GET /api/course-units/v1/export?since=35687&limit=5 HTTP/1.1
Accept: application/json
Authorization: Basic c3BlY3RyZS5lOnRlc3QxMjM=
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 2730
{
"greatestOrdinal" : 35729,
"hasMore" : false,
"entities" : [ {
"metadata" : {
"revision" : 1,
"createdBy" : "spectre-course-unit-admin-user",
"createdOn" : "2023-05-22T10:23:38.475327",
"lastModifiedBy" : "spectre-course-unit-admin-user",
"lastModifiedOn" : "2023-05-22T10:23:38.475462",
"modificationOrdinal" : 35729
},
"documentState" : "DRAFT",
"id" : "otm-b2de859c-ae52-4a09-8c62-0e90d6502445",
"universityOrgIds" : [ "the-spectre" ],
"groupId" : "otm-b2de859c-ae52-4a09-8c62-0e90d6502445",
"approvalState" : "urn:code:approval-state-type:not-ready",
"credits" : {
"min" : 0,
"max" : 100
},
"completionMethods" : [ ],
"assessmentItemOrder" : null,
"substitutions" : [ ],
"name" : {
"fi" : "Opintojakso, jonka koodi on Koodi-xyzzynen-otm-b2de859c-ae52-4a09-8c62-0e90d6502445"
},
"code" : "Koodi-xyzzynen-otm-b2de859c-ae52-4a09-8c62-0e90d6502445",
"abbreviation" : null,
"validityPeriod" : {
"startDate" : "1970-01-04"
},
"gradeScaleId" : "hy-0-5",
"tweetText" : null,
"outcomes" : null,
"prerequisites" : null,
"content" : null,
"additional" : null,
"learningMaterial" : null,
"literature" : [ {
"type" : "LiteratureName",
"name" : "Raamattu",
"localId" : "bc9135ba-1e1b-4063-92a6-9e89235b3367"
}, {
"type" : "LiteratureReference",
"url" : "http://www.example.com",
"localId" : "0c8dc414-b8e7-4ca3-91c4-d17e6a06bb58"
} ],
"searchTags" : [ "kala", "meemi" ],
"categoryTags" : [ ],
"recommendedFormalPrerequisites" : [ ],
"compulsoryFormalPrerequisites" : [ ],
"studyFields" : [ "urn:code:study-field:2002-0" ],
"studyLevel" : "urn:code:study-level:basic-studies",
"courseUnitType" : "urn:code:course-unit-type:regular",
"subject" : null,
"cefrLevel" : null,
"responsibilityInfos" : [ {
"text" : {
"fi" : "Jaska"
},
"personId" : null,
"roleUrn" : "urn:code:module-responsibility-info-type:responsible-teacher",
"validityPeriod" : { }
} ],
"organisations" : [ {
"organisationId" : "the-spectre",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1,
"validityPeriod" : { }
} ],
"possibleAttainmentLanguages" : [ "urn:code:language:fi" ],
"equivalentCoursesInfo" : {
"fi" : "*Ruhahaa*"
},
"curriculumPeriodIds" : [ "otm-test-curriculum-period-2015-2016" ],
"customCodeUrns" : null,
"inclusionApplicationInstruction" : null,
"cooperationNetworkDetails" : null,
"s2r2Classification" : null
} ]
}
Find course unit versions by group id and curriculum period id
GET /api/course-units/v1/by-group-id
NOTE! This is not an exact and deterministic search. It returns a single version representing each group id. By default ACTIVE course units are preferred over DRAFT course units and DELETED versions are the last resort, unless document states are limited using the documentStates parameter or preferByState parameter. Order of the course units is not guaranteed. Curriculum period id is not mandatory. When curriculum id is not given or the given curriculum does not contain all versions, search will use active and valid curricula starting from current proceeding to the future and then into the past in order to find versions.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
groupId required |
List of group ids whose course unit versions we are interested in. |
List ([String]) |
|
universityId required |
University whose course units are preferred. |
String |
otm-123456 |
curriculumPeriodId optional |
Curriculum period id. Return versions which belong to this curriculum period. |
String |
otm-123456 |
documentStates optional |
Return Course units only in given Document states. |
List ([String]) |
|
preferByState optional |
Prefer course units by state in the order ACTIVE, DRAFT, DELETED. |
Boolean |
true |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
List[CourseUnit] |
Get course units
GET /api/course-units/v1
They are fetched by their groupId. Documents in DRAFT and ACTIVE states are fetched.
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
List[CourseUnit] |
Get course unit
GET /api/course-units/v1/{courseUnitId}
Course unit is fetched by its id. The document state of the course unit does not affect the operation, i.e. even DELETED course units can be exported, they just have \"documentState\": \"DELETED\".
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
CourseUnit[CourseUnit] |
Import course units
POST /api/course-units/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
CourseUnit required |
List (CourseUnit) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/course-units/v1/import HTTP/1.1
Content-Type: application/json
Authorization: Basic c3BlY3RyZS5pOnRlc3QxMjM=
Content-Length: 2211
Host: localhost:8080
[ {
"metadata" : null,
"id" : "otm-9f0dd486-b324-4408-8088-a9c2b0082080",
"universityOrgIds" : [ "the-spectre" ],
"groupId" : "otm-9f0dd486-b324-4408-8088-a9c2b0082080",
"approvalState" : "urn:code:approval-state-type:not-ready",
"credits" : {
"min" : 0,
"max" : 100
},
"completionMethods" : [ ],
"assessmentItemOrder" : null,
"substitutions" : [ ],
"name" : {
"fi" : "Opintojakso, jonka koodi on Koodi-xyzzynen-otm-9f0dd486-b324-4408-8088-a9c2b0082080"
},
"code" : "Koodi-xyzzynen-otm-9f0dd486-b324-4408-8088-a9c2b0082080",
"abbreviation" : null,
"validityPeriod" : {
"startDate" : "1970-01-04"
},
"gradeScaleId" : "hy-0-5",
"tweetText" : null,
"outcomes" : null,
"prerequisites" : null,
"content" : null,
"additional" : null,
"learningMaterial" : null,
"literature" : [ {
"type" : "LiteratureName",
"name" : "Raamattu",
"localId" : "546bf3a3-7500-43dd-9e7d-f9b390a4f51c"
}, {
"type" : "LiteratureReference",
"url" : "http://www.example.com",
"localId" : "eab50457-4c4d-4562-a60d-2ad3aeee5dfb"
} ],
"searchTags" : [ "kala", "meemi" ],
"categoryTags" : [ ],
"recommendedFormalPrerequisites" : [ ],
"compulsoryFormalPrerequisites" : [ ],
"studyFields" : [ "urn:code:study-field:2002-0" ],
"studyLevel" : "urn:code:study-level:basic-studies",
"courseUnitType" : "urn:code:course-unit-type:regular",
"subject" : null,
"cefrLevel" : null,
"responsibilityInfos" : [ {
"text" : {
"fi" : "Jaska"
},
"personId" : null,
"roleUrn" : "urn:code:module-responsibility-info-type:responsible-teacher",
"validityPeriod" : { }
} ],
"organisations" : [ {
"organisationId" : "the-spectre",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1,
"validityPeriod" : { }
} ],
"possibleAttainmentLanguages" : [ "urn:code:language:fi" ],
"equivalentCoursesInfo" : {
"fi" : "*Ruhahaa*"
},
"curriculumPeriodIds" : [ "otm-test-curriculum-period-2015-2016" ],
"customCodeUrns" : null,
"inclusionApplicationInstruction" : null,
"cooperationNetworkDetails" : null,
"s2r2Classification" : null
} ]
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Import legacy course units
POST /api/course-units/v1/import/legacy
Import with a lenient legacy validation
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
CourseUnit required |
List (CourseUnit) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/course-units/v1/import/legacy HTTP/1.1
Content-Type: application/json
Authorization: Basic c3BlY3RyZS5pOnRlc3QxMjM=
Content-Length: 2175
Host: localhost:8080
[ {
"metadata" : null,
"id" : "otm-7cdb83b9-318d-493e-9dfe-95a64f1204b7",
"universityOrgIds" : [ "the-spectre" ],
"groupId" : "otm-7cdb83b9-318d-493e-9dfe-95a64f1204b7",
"approvalState" : "urn:code:approval-state-type:not-ready",
"credits" : null,
"completionMethods" : [ ],
"assessmentItemOrder" : null,
"substitutions" : [ ],
"name" : {
"fi" : "Opintojakso, jonka koodi on Koodi-xyzzynen-otm-7cdb83b9-318d-493e-9dfe-95a64f1204b7"
},
"code" : "Koodi-xyzzynen-otm-7cdb83b9-318d-493e-9dfe-95a64f1204b7",
"abbreviation" : null,
"validityPeriod" : {
"startDate" : "1970-01-04"
},
"gradeScaleId" : null,
"tweetText" : null,
"outcomes" : null,
"prerequisites" : null,
"content" : null,
"additional" : null,
"learningMaterial" : null,
"literature" : [ {
"type" : "LiteratureName",
"name" : "Raamattu",
"localId" : "0f9f7953-ee1a-457c-9de5-4da200726c50"
}, {
"type" : "LiteratureReference",
"url" : "http://www.example.com",
"localId" : "34fd237d-1a4b-4195-aae3-62ff3e18360a"
} ],
"searchTags" : [ "kala", "meemi" ],
"categoryTags" : [ ],
"recommendedFormalPrerequisites" : [ ],
"compulsoryFormalPrerequisites" : [ ],
"studyFields" : [ "urn:code:study-field:2002-0" ],
"studyLevel" : "urn:code:study-level:basic-studies",
"courseUnitType" : "urn:code:course-unit-type:regular",
"subject" : null,
"cefrLevel" : null,
"responsibilityInfos" : [ {
"text" : {
"fi" : "Jaska"
},
"personId" : null,
"roleUrn" : "urn:code:module-responsibility-info-type:responsible-teacher",
"validityPeriod" : { }
} ],
"organisations" : [ {
"organisationId" : "the-spectre",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1,
"validityPeriod" : { }
} ],
"possibleAttainmentLanguages" : [ "urn:code:language:fi" ],
"equivalentCoursesInfo" : {
"fi" : "*Ruhahaa*"
},
"curriculumPeriodIds" : [ "otm-test-curriculum-period-2015-2016" ],
"customCodeUrns" : null,
"inclusionApplicationInstruction" : null,
"cooperationNetworkDetails" : null,
"s2r2Classification" : null
} ]
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Import course unit prerequisites
POST /api/prerequisites/v1/import
Only updates existing course units recommendedFormalPrerequisites and compulsoryFormalPrerequisites.
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
CourseUnit required |
List (CourseUnit) |
Patch course units
PATCH /api/course-units/v1/import
Patch imports with strict validation
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
PatchEntity required |
List (PatchEntity) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
PATCH /api/course-units/v1/import HTTP/1.1
Content-Type: application/json
Authorization: Basic c3BlY3RyZS5pOnRlc3QxMjM=
Content-Length: 100
Host: localhost:8080
[ {
"id" : "otm-964412d9-5253-4caf-8373-8f0bc4603814",
"name" : {
"fi" : "Uusi nimi"
}
} ]
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Patch legacy course units
PATCH /api/course-units/v1/import/legacy
Patch imports with lenient legacy validation
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
PatchEntity required |
List (PatchEntity) |
Stream course units
GET /api/course-units/v1/stream
Entities can be exported as a stream in modification order, and the stream can be left open to listen for changes. Duplicates are possible if entities are modified several times.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return messages modified after (exclusive comparison) this modification ordinal Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return messages modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
follow optional |
Return modified messages after modified after (exclusive comparison) this modification ordinal Alternate parameter with sinceTime. This is the recommended option. |
Boolean |
true |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
List[[object]] |
Export course unit realisations
GET /api/course-unit-realisations/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point. With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive. With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return course unit realisations modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return course unit realisations modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of course unit realisations to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultCourseUnitRealisation[ExportResultCourseUnitRealisation] |
Samples
GET /api/course-unit-realisations/v1/export?since=45459&limit=5 HTTP/1.1
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3646
{
"greatestOrdinal" : 45460,
"hasMore" : false,
"entities" : [ {
"metadata" : {
"revision" : 1,
"createdBy" : "spectre-course-unit-admin-user",
"createdOn" : "2023-05-22T10:24:01.323593",
"lastModifiedBy" : "spectre-course-unit-admin-user",
"lastModifiedOn" : "2023-05-22T10:24:01.323593",
"modificationOrdinal" : 45460
},
"documentState" : "DRAFT",
"id" : "otm-ac2b3103-eebe-4c29-b214-c01f907975de",
"universityOrgIds" : [ "the-spectre" ],
"flowState" : "PUBLISHED",
"massExamSessionId" : null,
"massExamSessionName" : null,
"name" : {
"fi" : "Tentti"
},
"nameSpecifier" : {
"fi" : "Biologian perusteiden tentti"
},
"assessmentItemIds" : [ "otm-ai-1", "otm-ai-2" ],
"tweetText" : null,
"literature" : [ {
"type" : "LiteratureName",
"name" : "Romantic life of African Elephants",
"localId" : "a2041d1b-bd31-471e-ada8-ea84894f03f8"
} ],
"learningMaterial" : null,
"learningEnvironmentDescription" : null,
"learningEnvironments" : [ ],
"studyFormat" : null,
"additionalInfo" : null,
"publishDate" : "2023-03-22",
"activityPeriod" : {
"startDate" : "2023-03-22",
"endDate" : "2024-01-22"
},
"teachingLanguageUrn" : "urn:code:language:fi",
"courseUnitRealisationTypeUrn" : "urn:code:course-unit-realisation-type:independent-work-essay",
"studyGroupSets" : [ {
"localId" : "sgs-Virkkaus",
"name" : {
"en" : "Virkkaus",
"fi" : "Virkkaus"
},
"studySubGroups" : [ {
"metadata" : null,
"id" : "otm-d4868212-e437-4ade-8868-292bfc38aea7",
"name" : {
"fi" : "Group_1_AVirkkaus"
},
"studyEventIds" : [ "study-event-1" ],
"teacherIds" : [ "otm-teacher-id-3" ],
"cancelled" : false,
"size" : null,
"externalId" : null
}, {
"metadata" : null,
"id" : "otm-222b7ec8-f66e-4ccd-805b-d5e043e3a8e9",
"name" : {
"fi" : "Group_1_BVirkkaus"
},
"studyEventIds" : [ "study-event-1" ],
"teacherIds" : [ "otm-teacher-id-3" ],
"cancelled" : false,
"size" : null,
"externalId" : null
} ],
"subGroupRange" : {
"min" : 0,
"max" : 1
}
} ],
"responsibilityInfos" : [ {
"text" : {
"fi" : "text"
},
"personId" : "otm-test-user-96",
"roleUrn" : "urn:code:course-unit-realisation-responsibility-info-type:responsible-teacher",
"validityPeriod" : { }
} ],
"organisations" : [ {
"organisationId" : "otm-org-5",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1,
"validityPeriod" : { }
} ],
"enrolmentPeriod" : {
"startDateTime" : "2023-03-15T00:00",
"endDateTime" : "2023-03-21T00:00"
},
"lateEnrolmentEnd" : "2023-06-22T00:00",
"enrolmentAdditionalCancellationEnd" : "2023-04-22T00:00",
"externalEnrolmentLink" : {
"url" : {
"en" : "http://www.english-example.com",
"fi" : "http://www.example.com/fi/"
},
"label" : {
"en" : "Display in English",
"fi" : "Display suomeksi"
}
},
"usesExternalEnrolment" : true,
"customCodeUrns" : null,
"continuousEnrolment" : false,
"externalStructureLink" : null,
"usesExternalStructure" : false,
"confirmedStudySubGroupModificationAllowed" : false,
"confirmedStudySubGroupModificationEnd" : null,
"cooperationNetworkDetails" : null
} ]
}
Get course unit realisation
GET /api/course-unit-realisations/v1/{courseUnitRealisationId}
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
CourseUnitRealisation[CourseUnitRealisation] |
Samples
GET /api/course-unit-realisations/v1/otm-383d640f-1e49-477f-8cd9-251fdceaa7de HTTP/1.1
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3371
{
"metadata" : {
"revision" : 1,
"createdBy" : "spectre-course-unit-realisation-admin-user",
"createdOn" : "2023-05-22T10:24:02.101275",
"lastModifiedBy" : "spectre-course-unit-realisation-admin-user",
"lastModifiedOn" : "2023-05-22T10:24:02.101275",
"modificationOrdinal" : 45696
},
"documentState" : "DRAFT",
"id" : "otm-383d640f-1e49-477f-8cd9-251fdceaa7de",
"universityOrgIds" : [ "the-spectre" ],
"flowState" : "PUBLISHED",
"massExamSessionId" : null,
"massExamSessionName" : null,
"name" : {
"fi" : "Tentti"
},
"nameSpecifier" : {
"fi" : "Biologian perusteiden tentti"
},
"assessmentItemIds" : [ "otm-ai-1", "otm-ai-2" ],
"tweetText" : null,
"literature" : [ {
"type" : "LiteratureName",
"name" : "Romantic life of African Elephants",
"localId" : "2f1b8c01-45f2-4b57-aad0-da53d4c27ae6"
} ],
"learningMaterial" : null,
"learningEnvironmentDescription" : null,
"learningEnvironments" : [ ],
"studyFormat" : null,
"additionalInfo" : null,
"publishDate" : "2023-03-22",
"activityPeriod" : {
"startDate" : "2023-03-22",
"endDate" : "2024-01-22"
},
"teachingLanguageUrn" : "urn:code:language:fi",
"courseUnitRealisationTypeUrn" : "urn:code:course-unit-realisation-type:independent-work-essay",
"studyGroupSets" : [ {
"localId" : "sgs-Virkkaus",
"name" : {
"en" : "Virkkaus",
"fi" : "Virkkaus"
},
"studySubGroups" : [ {
"metadata" : null,
"id" : "otm-8741361d-1e90-4218-9076-326a81e5652e",
"name" : {
"fi" : "Group_1_AVirkkaus"
},
"studyEventIds" : [ "study-event-1" ],
"teacherIds" : [ "otm-teacher-id-3" ],
"cancelled" : false,
"size" : null,
"externalId" : null
}, {
"metadata" : null,
"id" : "otm-128b554b-bd5a-4c17-87ea-d4b928db5378",
"name" : {
"fi" : "Group_1_BVirkkaus"
},
"studyEventIds" : [ "study-event-1" ],
"teacherIds" : [ "otm-teacher-id-3" ],
"cancelled" : false,
"size" : null,
"externalId" : null
} ],
"subGroupRange" : {
"min" : 0,
"max" : 1
}
} ],
"responsibilityInfos" : [ {
"text" : {
"fi" : "text"
},
"personId" : "otm-test-user-96",
"roleUrn" : "urn:code:course-unit-realisation-responsibility-info-type:responsible-teacher",
"validityPeriod" : { }
} ],
"organisations" : [ {
"organisationId" : "otm-org-5",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1,
"validityPeriod" : { }
} ],
"enrolmentPeriod" : {
"startDateTime" : "2023-03-15T00:00",
"endDateTime" : "2023-03-21T00:00"
},
"lateEnrolmentEnd" : "2023-06-22T00:00",
"enrolmentAdditionalCancellationEnd" : "2023-04-22T00:00",
"externalEnrolmentLink" : {
"url" : {
"en" : "http://www.english-example.com",
"fi" : "http://www.example.com/fi/"
},
"label" : {
"en" : "Display in English",
"fi" : "Display suomeksi"
}
},
"usesExternalEnrolment" : true,
"customCodeUrns" : null,
"continuousEnrolment" : false,
"externalStructureLink" : null,
"usesExternalStructure" : false,
"confirmedStudySubGroupModificationAllowed" : false,
"confirmedStudySubGroupModificationEnd" : null,
"cooperationNetworkDetails" : null
}
Import course unit realisations
POST /api/course-unit-realisations/v1/import
Imports with strict validation
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
CourseUnitRealisation required |
List (CourseUnitRealisation) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/course-unit-realisations/v1/import HTTP/1.1
Content-Type: application/json
Content-Length: 1468
Host: localhost:8080
[ {
"metadata" : {
"revision" : null,
"createdBy" : null,
"createdOn" : null,
"lastModifiedBy" : null,
"lastModifiedOn" : null,
"modificationOrdinal" : null
},
"documentState" : "DRAFT",
"id" : "otm-12a7120e-c675-42db-9ccc-2386cf5e63a2",
"universityOrgIds" : [ "the-spectre" ],
"flowState" : "NOT_READY",
"massExamSessionId" : null,
"massExamSessionName" : null,
"name" : {
"fi" : "Tentti"
},
"nameSpecifier" : null,
"assessmentItemIds" : [ ],
"tweetText" : null,
"literature" : [ ],
"learningMaterial" : null,
"learningEnvironmentDescription" : null,
"learningEnvironments" : [ ],
"studyFormat" : null,
"additionalInfo" : null,
"publishDate" : null,
"activityPeriod" : {
"startDate" : "2023-03-22",
"endDate" : "2024-01-22"
},
"teachingLanguageUrn" : null,
"courseUnitRealisationTypeUrn" : "urn:code:course-unit-realisation-type:independent-work-essay",
"studyGroupSets" : [ ],
"responsibilityInfos" : [ ],
"organisations" : [ ],
"enrolmentPeriod" : null,
"lateEnrolmentEnd" : null,
"enrolmentAdditionalCancellationEnd" : null,
"externalEnrolmentLink" : null,
"usesExternalEnrolment" : false,
"customCodeUrns" : null,
"continuousEnrolment" : false,
"externalStructureLink" : null,
"usesExternalStructure" : false,
"confirmedStudySubGroupModificationAllowed" : false,
"confirmedStudySubGroupModificationEnd" : null,
"cooperationNetworkDetails" : null
} ]
HTTP/1.1 200 OK
Import legacy course unit realisations
POST /api/course-unit-realisations/v1/import/legacy
Import with a lenient legacy validation
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
CourseUnitRealisation required |
List (CourseUnitRealisation) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/course-unit-realisations/v1/import/legacy HTTP/1.1
Content-Type: application/json
Content-Length: 3183
Host: localhost:8080
[ {
"metadata" : {
"revision" : null,
"createdBy" : null,
"createdOn" : null,
"lastModifiedBy" : null,
"lastModifiedOn" : null,
"modificationOrdinal" : null
},
"id" : "lega-cy-cur",
"universityOrgIds" : [ "the-spectre" ],
"flowState" : "PUBLISHED",
"massExamSessionId" : null,
"massExamSessionName" : null,
"name" : {
"fi" : "Tentti"
},
"nameSpecifier" : {
"fi" : "Biologian perusteiden tentti"
},
"assessmentItemIds" : [ "otm-ai-1", "otm-ai-2" ],
"tweetText" : null,
"literature" : [ {
"type" : "LiteratureName",
"name" : "Romantic life of African Elephants",
"localId" : "6882b36d-566e-49dd-b8bf-5f091841adf0"
} ],
"learningMaterial" : null,
"learningEnvironmentDescription" : null,
"learningEnvironments" : [ ],
"studyFormat" : null,
"additionalInfo" : null,
"publishDate" : null,
"activityPeriod" : {
"startDate" : "2023-03-22",
"endDate" : "2024-01-22"
},
"teachingLanguageUrn" : "urn:code:language:fi",
"courseUnitRealisationTypeUrn" : "urn:code:course-unit-realisation-type:independent-work-essay",
"studyGroupSets" : [ {
"localId" : "sgs-Virkkaus",
"name" : {
"en" : "Virkkaus",
"fi" : "Virkkaus"
},
"studySubGroups" : [ {
"metadata" : null,
"id" : "otm-be5c36ac-1645-4287-9527-34dae4c6c60e",
"name" : {
"fi" : "Group_1_AVirkkaus"
},
"studyEventIds" : [ "study-event-1" ],
"teacherIds" : [ "otm-teacher-id-3" ],
"cancelled" : false,
"size" : null,
"externalId" : null
}, {
"metadata" : null,
"id" : "otm-8abb4671-9bd1-4976-a414-1e5973dbf133",
"name" : {
"fi" : "Group_1_BVirkkaus"
},
"studyEventIds" : [ "study-event-1" ],
"teacherIds" : [ "otm-teacher-id-3" ],
"cancelled" : false,
"size" : null,
"externalId" : null
} ],
"subGroupRange" : {
"min" : 0,
"max" : 1
}
} ],
"responsibilityInfos" : [ {
"text" : {
"fi" : "text"
},
"personId" : "otm-test-user-96",
"roleUrn" : "urn:code:course-unit-realisation-responsibility-info-type:responsible-teacher",
"validityPeriod" : { }
} ],
"organisations" : [ {
"organisationId" : "otm-org-5",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1,
"validityPeriod" : { }
} ],
"enrolmentPeriod" : {
"startDateTime" : "2023-03-15T00:00",
"endDateTime" : "2023-03-21T00:00"
},
"lateEnrolmentEnd" : "2023-06-22T00:00",
"enrolmentAdditionalCancellationEnd" : "2023-04-22T00:00",
"externalEnrolmentLink" : {
"url" : {
"en" : "http://www.english-example.com",
"fi" : "http://www.example.com/fi/"
},
"label" : {
"en" : "Display in English",
"fi" : "Display suomeksi"
}
},
"usesExternalEnrolment" : true,
"customCodeUrns" : null,
"continuousEnrolment" : false,
"externalStructureLink" : null,
"usesExternalStructure" : false,
"confirmedStudySubGroupModificationAllowed" : false,
"confirmedStudySubGroupModificationEnd" : null,
"cooperationNetworkDetails" : null
} ]
HTTP/1.1 200 OK
Patch course unit realisations
PATCH /api/course-unit-realisations/v1/import
Patch imports with strict validation
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
PatchEntity required |
List (PatchEntity) |
Patch legacy course unit realisations
PATCH /api/course-unit-realisations/v1/import/legacy
Patch imports with lenient legacy validation
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
PatchEntity required |
List (PatchEntity) |
Stream course unit realisations
GET /api/course-unit-realisations/v1/stream
Entities can be exported as a stream in modification order, and the stream can be left open to listen for changes. Duplicates are possible if entities are modified several times.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return entities modified after (exclusive comparison) this modification ordinal Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return entities modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
follow optional |
Return entities modified after (exclusive comparison) this modification ordinal Alternate parameter with sinceTime. This is the recommended option. |
Boolean |
true |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
List[[object]] |
Export curriculum periods
GET /api/curriculum-periods/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return curriculum periods modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return curriculum periods modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of curriculum periods to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultCurriculumPeriod[ExportResultCurriculumPeriod] |
Samples
GET /api/curriculum-periods/v1/export?since=46834&limit=5 HTTP/1.1
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 675
{
"greatestOrdinal" : 46836,
"hasMore" : false,
"entities" : [ {
"metadata" : {
"revision" : 1,
"createdBy" : "arska",
"createdOn" : "2023-05-22T10:24:06.036180",
"lastModifiedBy" : "arska",
"lastModifiedOn" : "2023-05-22T10:24:06.036325",
"modificationOrdinal" : 46836
},
"documentState" : "ACTIVE",
"id" : "otm-7ec0754d-c1ce-40d3-9410-1d9d3b888323",
"universityOrgId" : "the-spectre",
"name" : {
"fi" : "Opetussuunnitelmakausi 2015-2016"
},
"abbreviation" : {
"fi" : "2015-2016"
},
"activePeriod" : {
"startDate" : "2015-08-01",
"endDate" : "2016-08-01"
}
} ]
}
Import curriculum periods
POST /api/curriculum-periods/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
CurriculumPeriod required |
List (CurriculumPeriod) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/curriculum-periods/v1/import HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 6892
Host: localhost:8080
[ {
"metadata" : null,
"id" : "hy-test-curriculum-period-1900-2008",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 1900-2008 (108v)"
},
"abbreviation" : {
"fi" : "1900-2008"
},
"activePeriod" : {
"startDate" : "1900-08-01",
"endDate" : "2008-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2008-2009",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2008-2009 (1v)"
},
"abbreviation" : {
"fi" : "2008-2009"
},
"activePeriod" : {
"startDate" : "2008-08-01",
"endDate" : "2009-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2009-2010",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2009-2010 (1v)"
},
"abbreviation" : {
"fi" : "2009-2010"
},
"activePeriod" : {
"startDate" : "2009-08-01",
"endDate" : "2010-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2010-2011",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2010-2011 (1v)"
},
"abbreviation" : {
"fi" : "2010-2011"
},
"activePeriod" : {
"startDate" : "2010-08-01",
"endDate" : "2011-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2011-2012",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2011-2012 (1v)"
},
"abbreviation" : {
"fi" : "2011-2012"
},
"activePeriod" : {
"startDate" : "2011-08-01",
"endDate" : "2012-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2012-2015",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2012-2015 (3v)"
},
"abbreviation" : {
"fi" : "2012-2015"
},
"activePeriod" : {
"startDate" : "2012-08-01",
"endDate" : "2015-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2015-2016",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2015-2016 (1v)"
},
"abbreviation" : {
"fi" : "2015-2016"
},
"activePeriod" : {
"startDate" : "2015-08-01",
"endDate" : "2016-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2016-2017",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2016-2017 (1v)"
},
"abbreviation" : {
"fi" : "2016-2017"
},
"activePeriod" : {
"startDate" : "2016-08-01",
"endDate" : "2017-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2017-2018",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2017-2018 (1v)"
},
"abbreviation" : {
"fi" : "2017-2018"
},
"activePeriod" : {
"startDate" : "2017-08-01",
"endDate" : "2018-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2018-2019",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2018-2019 (1v)"
},
"abbreviation" : {
"fi" : "2018-2019"
},
"activePeriod" : {
"startDate" : "2018-08-01",
"endDate" : "2019-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2019-2020",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2019-2020 (1v)"
},
"abbreviation" : {
"fi" : "2019-2020"
},
"activePeriod" : {
"startDate" : "2019-08-01",
"endDate" : "2020-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2020-2021",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2020-2021 (1v)"
},
"abbreviation" : {
"fi" : "2020-2021"
},
"activePeriod" : {
"startDate" : "2020-08-01",
"endDate" : "2021-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2021-2022",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2021-2022 (1v)"
},
"abbreviation" : {
"fi" : "2021-2022"
},
"activePeriod" : {
"startDate" : "2021-08-01",
"endDate" : "2022-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2022-2023",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2022-2023 (1v)"
},
"abbreviation" : {
"fi" : "2022-2023"
},
"activePeriod" : {
"startDate" : "2022-08-01",
"endDate" : "2023-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2023-2024",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2023-2024 (1v)"
},
"abbreviation" : {
"fi" : "2023-2024"
},
"activePeriod" : {
"startDate" : "2023-08-01",
"endDate" : "2024-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2024-2025",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2024-2025 (1v)"
},
"abbreviation" : {
"fi" : "2024-2025"
},
"activePeriod" : {
"startDate" : "2024-08-01",
"endDate" : "2025-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2025-2026",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2025-2026 (1v)"
},
"abbreviation" : {
"fi" : "2025-2026"
},
"activePeriod" : {
"startDate" : "2025-08-01",
"endDate" : "2026-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2026-2027",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2026-2027 (1v)"
},
"abbreviation" : {
"fi" : "2026-2027"
},
"activePeriod" : {
"startDate" : "2026-08-01",
"endDate" : "2027-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2027-2028",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2027-2028 (1v)"
},
"abbreviation" : {
"fi" : "2027-2028"
},
"activePeriod" : {
"startDate" : "2027-08-01",
"endDate" : "2028-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2028-2029",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2028-2029 (1v)"
},
"abbreviation" : {
"fi" : "2028-2029"
},
"activePeriod" : {
"startDate" : "2028-08-01",
"endDate" : "2029-08-01"
}
}, {
"metadata" : null,
"id" : "hy-test-curriculum-period-2029-2030",
"universityOrgId" : "hy-university-root-id",
"name" : {
"fi" : "HY opetussuunnitelmakausi 2029-2030 (1v)"
},
"abbreviation" : {
"fi" : "2029-2030"
},
"activePeriod" : {
"startDate" : "2029-08-01",
"endDate" : "2030-08-01"
}
} ]
HTTP/1.1 200 OK
Export questionnaires
GET /api/degree-programme-attainment-application-questionnaires/v1/export
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return questionnaires modified after (exclusive comparison) this modification ordinal (increasing value within KORI). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return questionnaires modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of questionnaires to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultDegreeProgrammeAttainmentApplicationQuestionnaire[ExportResultDegreeProgrammeAttainmentApplicationQuestionnaire] |
Import questionnaires
POST /api/degree-programme-attainment-application-questionnaires/v1/import
Parameters
Export disclosure authorization categories
GET /api/disclosure-categories/v1/export
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return disclosure authorization categories modified after (exclusive comparison) this modification ordinal (increasing value within Ori). Alternate parameter with sinceTime. |
Long (int64) |
789 |
sinceTime optional |
Return disclosure authorization categories modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of disclosure authorization categories to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultDisclosureAuthorizationCategory[ExportResultDisclosureAuthorizationCategory] |
Import disclosure authorization categories
POST /api/disclosure-categories/v1/import
Export educations
GET /api/educations/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return study educations modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return study educations modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of study educations to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultEducation[ExportResultEducation] |
Samples
GET /api/educations/v1/export?since=50312&limit=5 HTTP/1.1
Accept: application/json
Authorization: Basic c3BlY3RyZS5lOnRlc3QxMjM=
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 3004
{
"greatestOrdinal" : 50313,
"hasMore" : false,
"entities" : [ {
"metadata" : {
"revision" : 1,
"createdBy" : "spectre-edu-admin-user",
"createdOn" : "2023-05-22T10:24:21.829214",
"lastModifiedBy" : "spectre-edu-admin-user",
"lastModifiedOn" : "2023-05-22T10:24:21.829326",
"modificationOrdinal" : 50313
},
"documentState" : "DRAFT",
"id" : "otm-2b9e0947-627a-48ea-b574-b2303bbaed36",
"universityOrgIds" : [ "the-spectre" ],
"groupId" : "otm-2b9e0947-627a-48ea-b574-b2303bbaed36",
"name" : {
"fi" : "Nimi educationille xyzzy"
},
"validityPeriod" : {
"startDate" : "1970-01-01",
"endDate" : "2071-12-04"
},
"code" : "Lyhenne educationille plaa",
"educationType" : "urn:code:education-type:degree-education:masters-degree",
"specialisationStudiesClassificationUrn" : null,
"studyFields" : [ "urn:code:study-field:2002-2" ],
"organisations" : [ {
"organisationId" : "the-spectre",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1,
"validityPeriod" : { }
} ],
"attainmentLanguages" : [ "urn:code:language:fi" ],
"educationLocationUrn" : "urn:code:municipality:491",
"outcomes" : null,
"responsibilityInfos" : [ {
"text" : null,
"personId" : "test-person",
"roleUrn" : "urn:code:education-responsibility-info-type:academic-responsibility",
"validityPeriod" : { }
} ],
"structure" : {
"phase1" : {
"name" : {
"fi" : "Alempi tutkinto"
},
"options" : [ {
"localId" : "da9c6593-8200-42cf-a9d6-4ac5c5f35a0e",
"moduleGroupId" : "test-dp-1",
"childOptions" : [ ],
"acceptanceType" : "AUTOMATIC",
"childNaming" : "urn:code:education-option-naming-type:specialisation",
"degreeTitleUrn" : null,
"educationClassificationUrn" : null
} ]
},
"phase2" : null,
"learningOpportunities" : [ {
"localId" : "b9d9ad86-1e6f-46c0-adcc-72284472ccf7",
"name" : {
"fi" : "Kouluttautumismahdollisuus 1"
},
"allowedPaths" : [ {
"educationPhase1GroupId" : "test-dp-1"
} ],
"admissionTargetIds" : [ ],
"phase1EducationClassificationUrn" : "urn:code:education-classification:koulutus_655404",
"phase2EducationClassificationUrn" : null
} ]
},
"defaultStudyRightExpirationRulesUrn" : "urn:code:study-right-expiration-rules:eternal",
"defaultDecreeOnUniversityDegreesUrn" : "urn:code:decree-on-university-degrees:decree-2005",
"studyRightExtensionInstructions" : null,
"studySelectionRequirement" : "UNRESTRICTED",
"isMultiformEducation" : false,
"type" : "Education",
"rule" : {
"type" : "ModuleRule",
"localId" : "6ccc4b98-31bf-4ee8-8256-aa59185b8c62",
"moduleGroupId" : "test-dp-1"
}
} ]
}
Get educations
GET /api/educations/v1
Educations are fetched by their groupId. Documents in DRAFT and ACTIVE states are fetched.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
groupId required |
Set ([String]) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
List[Education] |
Get education
GET /api/educations/v1/{educationId}
Education is fetched by its id. The document state of the education does not affect the operation, i.e. even DELETED educations can be exported, they just have \"documentState\": \"DELETED\".
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Education[Education] |
Samples
GET /api/educations/v1/otm-teol-maisteri HTTP/1.1
Accept: application/json
Authorization: Basic c3BlY3RyZS5pOnRlc3QxMjM=
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: public,max-age=0,s-maxage=25200
xkey: otm-teol-maisteri
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Frame-Options: DENY
Content-Length: 2691
{
"metadata" : {
"revision" : 1,
"createdBy" : "spectre-edu-admin-user",
"createdOn" : "2023-05-22T10:24:20.689421",
"lastModifiedBy" : "spectre-edu-admin-user",
"lastModifiedOn" : "2023-05-22T10:24:20.689568",
"modificationOrdinal" : 49839
},
"documentState" : "DRAFT",
"id" : "otm-teol-maisteri",
"universityOrgIds" : [ "the-spectre" ],
"groupId" : "otm-teol-maisteri",
"name" : {
"fi" : "Teologian Maisteri"
},
"validityPeriod" : {
"startDate" : "1970-01-01",
"endDate" : "2071-12-03"
},
"code" : "CODE-1373136086",
"educationType" : "urn:code:education-type:degree-education:masters-degree",
"specialisationStudiesClassificationUrn" : null,
"studyFields" : [ "urn:code:study-field:2002-0" ],
"organisations" : [ {
"organisationId" : "the-spectre",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1.0,
"validityPeriod" : { }
} ],
"attainmentLanguages" : [ "urn:code:language:fi" ],
"educationLocationUrn" : null,
"outcomes" : null,
"responsibilityInfos" : [ {
"text" : null,
"personId" : "otm-harri",
"roleUrn" : "urn:code:education-responsibility-info-type:academic-responsibility",
"validityPeriod" : { }
} ],
"structure" : {
"phase1" : {
"name" : {
"fi" : "Dummy code"
},
"options" : [ {
"localId" : "edu-option-82",
"moduleGroupId" : "otm-testi-dp-TeM",
"childOptions" : [ ],
"acceptanceType" : "AUTOMATIC",
"childNaming" : "urn:code:education-option-naming-type:specialisation",
"degreeTitleUrn" : null,
"educationClassificationUrn" : null
} ]
},
"phase2" : null,
"learningOpportunities" : [ {
"localId" : "localId-121240778413203640",
"name" : {
"fi" : "Learning opportunity one two three"
},
"allowedPaths" : [ {
"educationPhase1GroupId" : "otm-testi-dp-TeM"
} ],
"admissionTargetIds" : [ ],
"phase1EducationClassificationUrn" : "urn:code:education-classification:koulutus_623112",
"phase2EducationClassificationUrn" : null
} ]
},
"defaultStudyRightExpirationRulesUrn" : "urn:code:study-right-expiration-rules:no-automatic-calculation",
"defaultDecreeOnUniversityDegreesUrn" : "urn:code:decree-on-university-degrees:decree-2005",
"studyRightExtensionInstructions" : null,
"studySelectionRequirement" : "UNRESTRICTED",
"isMultiformEducation" : false,
"type" : "Education",
"rule" : {
"type" : "ModuleRule",
"localId" : "6c20843e-b62c-4e7e-b969-af88e72d1532",
"moduleGroupId" : "otm-testi-dp-TeM"
}
}
Import educations
POST /api/educations/v1/import
Import with strict validation
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
Education required |
List (Education) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/educations/v1/import HTTP/1.1
Content-Type: application/json
Authorization: Basic c3BlY3RyZS5pOnRlc3QxMjM=
Content-Length: 2441
Host: localhost:8080
[ {
"metadata" : null,
"id" : "otm-12e27fef-92aa-49d0-a077-998a641f9dc5",
"universityOrgIds" : [ "the-spectre" ],
"groupId" : "otm-12e27fef-92aa-49d0-a077-998a641f9dc5",
"name" : {
"fi" : "TEol FM"
},
"validityPeriod" : {
"startDate" : "1970-01-01",
"endDate" : "2071-12-03"
},
"code" : "CODE--851336041",
"educationType" : "urn:code:education-type:degree-education:masters-degree",
"specialisationStudiesClassificationUrn" : null,
"studyFields" : [ "urn:code:study-field:2002-0" ],
"organisations" : [ {
"organisationId" : "the-spectre",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1.0,
"validityPeriod" : { }
} ],
"attainmentLanguages" : [ "urn:code:language:fi" ],
"educationLocationUrn" : null,
"outcomes" : null,
"responsibilityInfos" : [ {
"text" : null,
"personId" : "otm-harri",
"roleUrn" : "urn:code:education-responsibility-info-type:academic-responsibility",
"validityPeriod" : { }
} ],
"structure" : {
"phase1" : {
"name" : {
"fi" : "Alempi tutkinto"
},
"options" : [ {
"localId" : "edu-option-119",
"moduleGroupId" : "otm-testi-dp-TeM",
"childOptions" : [ ],
"acceptanceType" : "AUTOMATIC",
"childNaming" : "urn:code:education-option-naming-type:specialisation",
"degreeTitleUrn" : null,
"educationClassificationUrn" : null
} ]
},
"phase2" : null,
"learningOpportunities" : [ {
"localId" : "localId-121240778413203640",
"name" : {
"fi" : "Learning opportunity one two three"
},
"allowedPaths" : [ {
"educationPhase1GroupId" : "otm-testi-dp-TeM"
} ],
"admissionTargetIds" : [ ],
"phase1EducationClassificationUrn" : "urn:code:education-classification:koulutus_623112",
"phase2EducationClassificationUrn" : null
} ]
},
"defaultStudyRightExpirationRulesUrn" : "urn:code:study-right-expiration-rules:no-automatic-calculation",
"defaultDecreeOnUniversityDegreesUrn" : "urn:code:decree-on-university-degrees:decree-2005",
"studyRightExtensionInstructions" : null,
"studySelectionRequirement" : "UNRESTRICTED",
"isMultiformEducation" : false,
"type" : "Education",
"rule" : {
"type" : "ModuleRule",
"localId" : "edu-rule-1549082550",
"moduleGroupId" : "otm-testi-dp-TeM"
}
} ]
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Import legacy educations
POST /api/educations/v1/import/legacy
Imports with a lenient legacy validation
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
Education required |
List (Education) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/educations/v1/import/legacy HTTP/1.1
Content-Type: application/json
Authorization: Basic c3BlY3RyZS5pOnRlc3QxMjM=
Content-Length: 2043
Host: localhost:8080
[ {
"metadata" : null,
"id" : "otm-a9f48097-c795-44c1-be2c-ee4dbf90afb4",
"universityOrgIds" : [ "the-spectre" ],
"groupId" : "otm-a9f48097-c795-44c1-be2c-ee4dbf90afb4",
"name" : {
"fi" : "TEol FM"
},
"validityPeriod" : {
"startDate" : "1970-01-01",
"endDate" : "2071-12-03"
},
"code" : "CODE--2102028564",
"educationType" : "urn:code:education-type:degree-education:masters-degree",
"specialisationStudiesClassificationUrn" : null,
"studyFields" : null,
"organisations" : null,
"attainmentLanguages" : [ "urn:code:language:fi" ],
"educationLocationUrn" : null,
"outcomes" : null,
"responsibilityInfos" : [ ],
"structure" : {
"phase1" : {
"name" : {
"fi" : "Alempi tutkinto"
},
"options" : [ {
"localId" : "edu-option-122",
"moduleGroupId" : "otm-testi-dp-TeM",
"childOptions" : [ ],
"acceptanceType" : "AUTOMATIC",
"childNaming" : "urn:code:education-option-naming-type:specialisation",
"degreeTitleUrn" : null,
"educationClassificationUrn" : null
} ]
},
"phase2" : null,
"learningOpportunities" : [ {
"localId" : "localId-121240778413203640",
"name" : {
"fi" : "Learning opportunity one two three"
},
"allowedPaths" : [ {
"educationPhase1GroupId" : "otm-testi-dp-TeM"
} ],
"admissionTargetIds" : [ ],
"phase1EducationClassificationUrn" : "urn:code:education-classification:koulutus_623112",
"phase2EducationClassificationUrn" : null
} ]
},
"defaultStudyRightExpirationRulesUrn" : "urn:code:study-right-expiration-rules:no-automatic-calculation",
"defaultDecreeOnUniversityDegreesUrn" : "urn:code:decree-on-university-degrees:decree-2005",
"studyRightExtensionInstructions" : null,
"studySelectionRequirement" : "UNRESTRICTED",
"isMultiformEducation" : false,
"type" : "Education",
"rule" : {
"type" : "ModuleRule",
"localId" : "edu-rule-258683754",
"moduleGroupId" : "otm-testi-dp-TeM"
}
} ]
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Patch learning opportunity of education
PATCH /api/educations/{educationId}/learning-opportunities/{localId}
Parameters
Path Parameters
Name |
Description |
Schema |
Example |
educationId required |
String |
otm-123456 |
|
localId required |
String |
otm-123456 |
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
body required |
Object ([object]) |
Object |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Education[Education] |
Samples
PATCH /api/educations/otm-6f6772c0-48cc-463a-8831-2c18f3d98276/learning-opportunities/localId-121240778413203640 HTTP/1.1
Content-Type: application/json
Authorization: Basic c3BlY3RyZS5pOnRlc3QxMjM=
Content-Length: 259
Host: localhost:8080
{
"phase1EducationClassificationUrn" : "urn:code:education-classification:koulutus_823112",
"phase2EducationClassificationUrn" : "urn:code:education-classification:koulutus_823112",
"admissionTargetIds" : [ "otm-f5d60521-2209-4eaa-a7a7-d0eab6669bf1" ]
}
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 2792
{
"metadata" : {
"revision" : 2,
"createdBy" : "spectre.i",
"createdOn" : "2023-05-22T10:24:20.194473",
"lastModifiedBy" : "spectre.i",
"lastModifiedOn" : "2023-05-22T10:24:20.209057",
"modificationOrdinal" : 49613
},
"documentState" : "ACTIVE",
"id" : "otm-6f6772c0-48cc-463a-8831-2c18f3d98276",
"universityOrgIds" : [ "the-spectre" ],
"groupId" : "otm-6f6772c0-48cc-463a-8831-2c18f3d98276",
"name" : {
"fi" : "TEol FM"
},
"validityPeriod" : {
"startDate" : "1970-01-01",
"endDate" : "2071-12-03"
},
"code" : "CODE--1465040706",
"educationType" : "urn:code:education-type:degree-education:masters-degree",
"specialisationStudiesClassificationUrn" : null,
"studyFields" : [ "urn:code:study-field:2002-0" ],
"organisations" : [ {
"organisationId" : "the-spectre",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1.0,
"validityPeriod" : { }
} ],
"attainmentLanguages" : [ "urn:code:language:fi" ],
"educationLocationUrn" : null,
"outcomes" : null,
"responsibilityInfos" : [ {
"text" : null,
"personId" : "otm-harri",
"roleUrn" : "urn:code:education-responsibility-info-type:academic-responsibility",
"validityPeriod" : { }
} ],
"structure" : {
"phase1" : {
"name" : {
"fi" : "Dummy code"
},
"options" : [ {
"localId" : "edu-option-77",
"moduleGroupId" : "otm-testi-dp-TeM",
"childOptions" : [ ],
"acceptanceType" : "AUTOMATIC",
"childNaming" : "urn:code:education-option-naming-type:specialisation",
"degreeTitleUrn" : null,
"educationClassificationUrn" : null
} ]
},
"phase2" : null,
"learningOpportunities" : [ {
"localId" : "localId-121240778413203640",
"name" : {
"fi" : "Learning opportunity one two three"
},
"allowedPaths" : [ {
"educationPhase1GroupId" : "otm-testi-dp-TeM"
} ],
"admissionTargetIds" : [ "otm-f5d60521-2209-4eaa-a7a7-d0eab6669bf1" ],
"phase1EducationClassificationUrn" : "urn:code:education-classification:koulutus_823112",
"phase2EducationClassificationUrn" : "urn:code:education-classification:koulutus_823112"
} ]
},
"defaultStudyRightExpirationRulesUrn" : "urn:code:study-right-expiration-rules:no-automatic-calculation",
"defaultDecreeOnUniversityDegreesUrn" : "urn:code:decree-on-university-degrees:decree-2005",
"studyRightExtensionInstructions" : null,
"studySelectionRequirement" : "UNRESTRICTED",
"isMultiformEducation" : false,
"type" : "Education",
"rule" : {
"type" : "ModuleRule",
"localId" : "6ae2bdb4-2291-410c-b286-c8b64169253c",
"moduleGroupId" : "otm-testi-dp-TeM"
}
}
Export enrolment questionnaires
GET /api/enrolment-questionnaires/v1/export
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return enrolment questionnaires modified after (exclusive comparison) this modification ordinal (increasing value within KORI). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return enrolment questionnaires modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of enrolment questionnaires to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultEnrolmentQuestionnaire[ExportResultEnrolmentQuestionnaire] |
Import enrolment questionnaires
POST /api/enrolment-questionnaires/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
EnrolmentQuestionnaire required |
List (EnrolmentQuestionnaire) |
Import grade scales
POST /api/grade-scales/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
GradeScale required |
List (GradeScale) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/grade-scales/v1/import HTTP/1.1
Content-Type: application/json
Content-Length: 32855
Host: localhost:8080
[ {
"metadata" : null,
"id" : "hy-0-5",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "fail",
"fi" : "hylätty",
"sv" : "underkänd"
},
"abbreviation" : {
"en" : "0",
"fi" : "0",
"sv" : "0"
},
"numericCorrespondence" : 0.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "passable",
"fi" : "välttävä",
"sv" : "försvarlig"
},
"abbreviation" : {
"en" : "1",
"fi" : "1",
"sv" : "1"
},
"numericCorrespondence" : 1.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "satisfactory",
"fi" : "tyydyttävä",
"sv" : "nöjaktig"
},
"abbreviation" : {
"en" : "2",
"fi" : "2",
"sv" : "2"
},
"numericCorrespondence" : 2.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "good",
"fi" : "hyvä",
"sv" : "god"
},
"abbreviation" : {
"en" : "3",
"fi" : "3",
"sv" : "3"
},
"numericCorrespondence" : 3.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "very good",
"fi" : "kiitettävä",
"sv" : "berömlig"
},
"abbreviation" : {
"en" : "4",
"fi" : "4",
"sv" : "4"
},
"numericCorrespondence" : 4.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "utmärkt",
"fi" : "erinomainen",
"sv" : "excellent"
},
"abbreviation" : {
"en" : "5",
"fi" : "5",
"sv" : "5"
},
"numericCorrespondence" : 5.0
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Yleinen asteikko, 0-5"
},
"abbreviation" : {
"en" : "0-5",
"fi" : "0-5",
"sv" : "0-5"
}
}, {
"metadata" : null,
"id" : "jyu-0-5",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "fail",
"fi" : "hylätty",
"sv" : "underkänd"
},
"abbreviation" : {
"en" : "0",
"fi" : "0",
"sv" : "0"
},
"numericCorrespondence" : 0.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "passable",
"fi" : "välttävä",
"sv" : "försvarlig"
},
"abbreviation" : {
"en" : "1",
"fi" : "1",
"sv" : "1"
},
"numericCorrespondence" : 1.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "satisfactory",
"fi" : "tyydyttävä",
"sv" : "nöjaktig"
},
"abbreviation" : {
"en" : "2",
"fi" : "2",
"sv" : "2"
},
"numericCorrespondence" : 2.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "good",
"fi" : "hyvä",
"sv" : "god"
},
"abbreviation" : {
"en" : "3",
"fi" : "3",
"sv" : "3"
},
"numericCorrespondence" : 3.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "very good",
"fi" : "kiitettävä",
"sv" : "berömlig"
},
"abbreviation" : {
"en" : "4",
"fi" : "4",
"sv" : "4"
},
"numericCorrespondence" : 4.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "utmärkt",
"fi" : "erinomainen",
"sv" : "excellent"
},
"abbreviation" : {
"en" : "5",
"fi" : "5",
"sv" : "5"
},
"numericCorrespondence" : 5.0
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Yleinen asteikko, 0-5"
},
"abbreviation" : {
"en" : "0-5",
"fi" : "0-5",
"sv" : "0-5"
}
}, {
"metadata" : null,
"id" : "aalto-hyl-5",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Fail",
"fi" : "Hylätty",
"sv" : "Underkänd"
},
"abbreviation" : {
"en" : "Hyl.",
"fi" : "Hyl.",
"sv" : "Hyl."
},
"numericCorrespondence" : 0.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "passable",
"fi" : "välttävä",
"sv" : "försvarlig"
},
"abbreviation" : {
"en" : "1",
"fi" : "1",
"sv" : "1"
},
"numericCorrespondence" : 1.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "satisfactory",
"fi" : "tyydyttävä",
"sv" : "nöjaktig"
},
"abbreviation" : {
"en" : "2",
"fi" : "2",
"sv" : "2"
},
"numericCorrespondence" : 2.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "good",
"fi" : "hyvä",
"sv" : "god"
},
"abbreviation" : {
"en" : "3",
"fi" : "3",
"sv" : "3"
},
"numericCorrespondence" : 3.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "very good",
"fi" : "kiitettävä",
"sv" : "berömlig"
},
"abbreviation" : {
"en" : "4",
"fi" : "4",
"sv" : "4"
},
"numericCorrespondence" : 4.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "utmärkt",
"fi" : "erinomainen",
"sv" : "excellent"
},
"abbreviation" : {
"en" : "5",
"fi" : "5",
"sv" : "5"
},
"numericCorrespondence" : 5.0
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Yleinen asteikko, Hylätty-5"
},
"abbreviation" : {
"en" : "Hyl-5",
"fi" : "Hyl-5",
"sv" : "Hyl-5"
}
}, {
"metadata" : null,
"id" : "tay-hyl-5",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Fail",
"fi" : "Hylätty",
"sv" : "Underkänd"
},
"abbreviation" : {
"en" : "Hyl.",
"fi" : "Hyl.",
"sv" : "Hyl."
},
"numericCorrespondence" : 0.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "passable",
"fi" : "välttävä",
"sv" : "försvarlig"
},
"abbreviation" : {
"en" : "1",
"fi" : "1",
"sv" : "1"
},
"numericCorrespondence" : 1.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "satisfactory",
"fi" : "tyydyttävä",
"sv" : "nöjaktig"
},
"abbreviation" : {
"en" : "2",
"fi" : "2",
"sv" : "2"
},
"numericCorrespondence" : 2.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "good",
"fi" : "hyvä",
"sv" : "god"
},
"abbreviation" : {
"en" : "3",
"fi" : "3",
"sv" : "3"
},
"numericCorrespondence" : 3.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "very good",
"fi" : "kiitettävä",
"sv" : "berömlig"
},
"abbreviation" : {
"en" : "4",
"fi" : "4",
"sv" : "4"
},
"numericCorrespondence" : 4.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "utmärkt",
"fi" : "erinomainen",
"sv" : "excellent"
},
"abbreviation" : {
"en" : "5",
"fi" : "5",
"sv" : "5"
},
"numericCorrespondence" : 5.0
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Yleinen asteikko, Hylätty-5"
},
"abbreviation" : {
"en" : "Hyl-5",
"fi" : "Hyl-5",
"sv" : "Hyl-5"
}
}, {
"metadata" : null,
"id" : "hy-hyl-hyv",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Underkänd",
"fi" : "Hylätty",
"sv" : "Fail"
},
"abbreviation" : {
"en" : "Fail",
"fi" : "Hyl.",
"sv" : "UG"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Godkänd",
"fi" : "Hyväksytty",
"sv" : "Pass"
},
"abbreviation" : {
"en" : "Pass",
"fi" : "Hyv.",
"sv" : "G"
},
"numericCorrespondence" : null
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Hylätty-Hyväksytty -asteikko"
},
"abbreviation" : {
"en" : "Hyl-Hyv",
"fi" : "Hyl-Hyv",
"sv" : "Hyl-Hyv"
}
}, {
"metadata" : null,
"id" : "tay-hyl-hyv",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Underkänd",
"fi" : "Hylätty",
"sv" : "Fail"
},
"abbreviation" : {
"en" : "Fail",
"fi" : "Hyl.",
"sv" : "UG"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Godkänd",
"fi" : "Hyväksytty",
"sv" : "Pass"
},
"abbreviation" : {
"en" : "Pass",
"fi" : "Hyv.",
"sv" : "G"
},
"numericCorrespondence" : null
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Hylätty-Hyväksytty -asteikko"
},
"abbreviation" : {
"en" : "Hyl-Hyv",
"fi" : "Hyl-Hyv",
"sv" : "Hyl-Hyv"
}
}, {
"metadata" : null,
"id" : "jyu-hyl-hyv",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Underkänd",
"fi" : "Hylätty",
"sv" : "Fail"
},
"abbreviation" : {
"en" : "Fail",
"fi" : "Hyl.",
"sv" : "UG"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Godkänd",
"fi" : "Hyväksytty",
"sv" : "Pass"
},
"abbreviation" : {
"en" : "Pass",
"fi" : "Hyv.",
"sv" : "G"
},
"numericCorrespondence" : null
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Hylätty-Hyväksytty -asteikko"
},
"abbreviation" : {
"en" : "Hyl-Hyv",
"fi" : "Hyl-Hyv",
"sv" : "Hyl-Hyv"
}
}, {
"metadata" : null,
"id" : "aalto-hyl-hyv",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Underkänd",
"fi" : "Hylätty",
"sv" : "Fail"
},
"abbreviation" : {
"en" : "Fail",
"fi" : "Hyl.",
"sv" : "UG"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Godkänd",
"fi" : "Hyväksytty",
"sv" : "Pass"
},
"abbreviation" : {
"en" : "Pass",
"fi" : "Hyv.",
"sv" : "G"
},
"numericCorrespondence" : null
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Hylätty-Hyväksytty -asteikko"
},
"abbreviation" : {
"en" : "Hyl-Hyv",
"fi" : "Hyl-Hyv",
"sv" : "Hyl-Hyv"
}
}, {
"metadata" : null,
"id" : "hy-hyl-kh",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Underkänd",
"fi" : "Hylätty",
"sv" : "Fail"
},
"abbreviation" : {
"en" : "Fail",
"fi" : "Hyl.",
"sv" : "UG"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Godkänd",
"fi" : "Hyväksytty",
"sv" : "Pass"
},
"abbreviation" : {
"en" : "Pass",
"fi" : "Hyv.",
"sv" : "G"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Med beröm godkänd",
"fi" : "Kiittäen hyväksytty",
"sv" : "Pass with Distinction"
},
"abbreviation" : {
"en" : "PasD",
"fi" : "KH",
"sv" : "MBG"
},
"numericCorrespondence" : null
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Hylätty-Hyväksytty-Kiittäen hyväksytty"
},
"abbreviation" : {
"en" : "Hyl-KH",
"fi" : "Hyl-KH",
"sv" : "Hyl-KH"
}
}, {
"metadata" : null,
"id" : "jyu-hyl-kh",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Underkänd",
"fi" : "Hylätty",
"sv" : "Fail"
},
"abbreviation" : {
"en" : "Fail",
"fi" : "Hyl.",
"sv" : "UG"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Godkänd",
"fi" : "Hyväksytty",
"sv" : "Pass"
},
"abbreviation" : {
"en" : "Pass",
"fi" : "Hyv.",
"sv" : "G"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Med beröm godkänd",
"fi" : "Kiittäen hyväksytty",
"sv" : "Pass with Distinction"
},
"abbreviation" : {
"en" : "PasD",
"fi" : "KH",
"sv" : "MBG"
},
"numericCorrespondence" : null
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Hylätty-Hyväksytty-Kiittäen hyväksytty"
},
"abbreviation" : {
"en" : "Hyl-KH",
"fi" : "Hyl-KH",
"sv" : "Hyl-KH"
}
}, {
"metadata" : null,
"id" : "aalto-hyl-kh",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Underkänd",
"fi" : "Hylätty",
"sv" : "Fail"
},
"abbreviation" : {
"en" : "Fail",
"fi" : "Hyl.",
"sv" : "0"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Godkänd",
"fi" : "Hyväksytty",
"sv" : "Pass"
},
"abbreviation" : {
"en" : "Pass",
"fi" : "Hyv.",
"sv" : "G"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Med beröm godkänd",
"fi" : "Kiittäen hyväksytty",
"sv" : "Pass with Distinction"
},
"abbreviation" : {
"en" : "PasD",
"fi" : "KH",
"sv" : "MBG"
},
"numericCorrespondence" : null
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Hylätty-Hyväksytty-Kiittäen hyväksytty"
},
"abbreviation" : {
"en" : "Hyl-KH",
"fi" : "Hyl-KH",
"sv" : "Hyl-KH"
}
}, {
"metadata" : null,
"id" : "aalto-toinen-kotim",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Underkänd",
"fi" : "Hylätty",
"sv" : "Fail"
},
"abbreviation" : {
"en" : "Fail",
"fi" : "Hyl.",
"sv" : "0"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Nöjaktiga insikter",
"fi" : "Tyydyttävät tiedot",
"sv" : "Satisfactory"
},
"abbreviation" : {
"en" : "SAT",
"fi" : "TT",
"sv" : "NI"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Goda insikter",
"fi" : "Hyvät tiedot",
"sv" : "Good"
},
"abbreviation" : {
"en" : "G",
"fi" : "HT",
"sv" : "GI"
},
"numericCorrespondence" : null
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Toisen kotimaisen kielen arvosana-asteikko"
},
"abbreviation" : {
"en" : "Toinen kotimainen",
"fi" : "Toinen kotimainen",
"sv" : "Toinen kotimainen"
}
}, {
"metadata" : null,
"id" : "hy-toinen-kotim",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Underkänd",
"fi" : "Hylätty",
"sv" : "Fail"
},
"abbreviation" : {
"en" : "Fail",
"fi" : "Hyl.",
"sv" : "0"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Nöjaktiga insikter",
"fi" : "Tyydyttävät tiedot",
"sv" : "Satisfactory"
},
"abbreviation" : {
"en" : "SAT",
"fi" : "TT",
"sv" : "NI"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Goda insikter",
"fi" : "Hyvät tiedot",
"sv" : "Good"
},
"abbreviation" : {
"en" : "G",
"fi" : "HT",
"sv" : "GI"
},
"numericCorrespondence" : null
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Toisen kotimaisen kielen arvosana-asteikko"
},
"abbreviation" : {
"en" : "Toinen kotimainen",
"fi" : "Toinen kotimainen",
"sv" : "Toinen kotimainen"
}
}, {
"metadata" : null,
"id" : "jyu-toinen-kotim",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Underkänd",
"fi" : "Hylätty",
"sv" : "Fail"
},
"abbreviation" : {
"en" : "Fail",
"fi" : "Hyl.",
"sv" : "0"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Nöjaktiga insikter",
"fi" : "Tyydyttävät tiedot",
"sv" : "Satisfactory"
},
"abbreviation" : {
"en" : "SAT",
"fi" : "TT",
"sv" : "NI"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Goda insikter",
"fi" : "Hyvät tiedot",
"sv" : "Good"
},
"abbreviation" : {
"en" : "G",
"fi" : "HT",
"sv" : "GI"
},
"numericCorrespondence" : null
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Toisen kotimaisen kielen arvosana-asteikko"
},
"abbreviation" : {
"en" : "Toinen kotimainen",
"fi" : "Toinen kotimainen",
"sv" : "Toinen kotimainen"
}
}, {
"metadata" : null,
"id" : "tay-toinen-kotim",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Underkänd",
"fi" : "Hylätty",
"sv" : "Fail"
},
"abbreviation" : {
"en" : "Fail",
"fi" : "Hyl.",
"sv" : "0"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Nöjaktiga insikter",
"fi" : "Tyydyttävät tiedot",
"sv" : "Satisfactory"
},
"abbreviation" : {
"en" : "SAT",
"fi" : "TT",
"sv" : "NI"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Goda insikter",
"fi" : "Hyvät tiedot",
"sv" : "Good"
},
"abbreviation" : {
"en" : "G",
"fi" : "HT",
"sv" : "GI"
},
"numericCorrespondence" : null
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Toisen kotimaisen kielen arvosana-asteikko"
},
"abbreviation" : {
"en" : "Toinen kotimainen",
"fi" : "Toinen kotimainen",
"sv" : "Toinen kotimainen"
}
}, {
"metadata" : null,
"id" : "hy-7-portainen",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Improbatur",
"fi" : "Improbatur",
"sv" : "Improbatur"
},
"abbreviation" : {
"en" : "I",
"fi" : "I",
"sv" : "I"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Approbatur",
"fi" : "Approbatur",
"sv" : "Approbatur"
},
"abbreviation" : {
"en" : "A",
"fi" : "A",
"sv" : "A"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Lubenter Approbatur",
"fi" : "Lubenter approbatur",
"sv" : "Lubenter approbatur"
},
"abbreviation" : {
"en" : "LA",
"fi" : "LA",
"sv" : "LA"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Non Sine Laude Approbatur",
"fi" : "Non sine laude approbatur",
"sv" : "Non sine laude approbatur"
},
"abbreviation" : {
"en" : "NSLA",
"fi" : "NSLA",
"sv" : "NSLA"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Cum Laude Approbatur",
"fi" : "Cum laude approbatur",
"sv" : "Cum laude approbatur"
},
"abbreviation" : {
"en" : "CL",
"fi" : "CL",
"sv" : "CL"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Magna Cum Laude Approbatur",
"fi" : "Magna cum laude approbatur",
"sv" : "Magna cum laude approbatur"
},
"abbreviation" : {
"en" : "MCLA",
"fi" : "MCLA",
"sv" : "MCLA"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Eximia Cum Laude Approbatur",
"fi" : "Eximia cum laude approbatur",
"sv" : "Eximia cum laude approbatur"
},
"abbreviation" : {
"en" : "ECLA",
"fi" : "ECLA",
"sv" : "ECLA"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Laudatur",
"fi" : "Laudatur",
"sv" : "Laudatur"
},
"abbreviation" : {
"en" : "L",
"fi" : "L",
"sv" : "L"
},
"numericCorrespondence" : null
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"en" : "7-portainen asteikko",
"fi" : "7-portainen asteikko",
"sv" : "7-portainen asteikko"
},
"abbreviation" : {
"en" : "7-portainen",
"fi" : "7-portainen",
"sv" : "7-portainen"
}
}, {
"metadata" : null,
"id" : "tay-7-portainen",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Improbatur",
"fi" : "Improbatur",
"sv" : "Improbatur"
},
"abbreviation" : {
"en" : "I",
"fi" : "I",
"sv" : "I"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Approbatur",
"fi" : "Approbatur",
"sv" : "Approbatur"
},
"abbreviation" : {
"en" : "A",
"fi" : "A",
"sv" : "A"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Lubenter Approbatur",
"fi" : "Lubenter approbatur",
"sv" : "Lubenter approbatur"
},
"abbreviation" : {
"en" : "LA",
"fi" : "LA",
"sv" : "LA"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Non Sine Laude Approbatur",
"fi" : "Non sine laude approbatur",
"sv" : "Non sine laude approbatur"
},
"abbreviation" : {
"en" : "NSLA",
"fi" : "NSLA",
"sv" : "NSLA"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Cum Laude Approbatur",
"fi" : "Cum laude approbatur",
"sv" : "Cum laude approbatur"
},
"abbreviation" : {
"en" : "CL",
"fi" : "CL",
"sv" : "CL"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Magna Cum Laude Approbatur",
"fi" : "Magna cum laude approbatur",
"sv" : "Magna cum laude approbatur"
},
"abbreviation" : {
"en" : "MCLA",
"fi" : "MCLA",
"sv" : "MCLA"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Eximia Cum Laude Approbatur",
"fi" : "Eximia cum laude approbatur",
"sv" : "Eximia cum laude approbatur"
},
"abbreviation" : {
"en" : "ECLA",
"fi" : "ECLA",
"sv" : "ECLA"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Laudatur",
"fi" : "Laudatur",
"sv" : "Laudatur"
},
"abbreviation" : {
"en" : "L",
"fi" : "L",
"sv" : "L"
},
"numericCorrespondence" : null
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"en" : "7-portainen asteikko",
"fi" : "7-portainen asteikko",
"sv" : "7-portainen asteikko"
},
"abbreviation" : {
"en" : "7-portainen",
"fi" : "7-portainen",
"sv" : "7-portainen"
}
}, {
"metadata" : null,
"id" : "aalto-maisteri",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"fi" : "Hylätty"
},
"abbreviation" : {
"fi" : "HYL"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"fi" : "Hyväksytty"
},
"abbreviation" : {
"fi" : "HYV"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"fi" : "Oivallisesti"
},
"abbreviation" : {
"fi" : "OIV"
},
"numericCorrespondence" : null
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Maisteritutkinnon asteikko"
},
"abbreviation" : {
"fi" : "Maisteritutkinnon asteikko"
}
}, {
"metadata" : null,
"id" : "aalto-kandi",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"fi" : "Hylätty"
},
"abbreviation" : {
"fi" : "HYL"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"fi" : "Hyväksytty"
},
"abbreviation" : {
"fi" : "HYV"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"fi" : "Erinomaisesti"
},
"abbreviation" : {
"fi" : "ER"
},
"numericCorrespondence" : null
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"fi" : "Kandidaatintutkinnon asteikko"
},
"abbreviation" : {
"fi" : "Kandidaatintutkinnon asteikko"
}
}, {
"metadata" : null,
"id" : "otm-test-numeric",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "0",
"fi" : "0"
},
"abbreviation" : {
"en" : "0",
"fi" : "0"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "1",
"fi" : "1"
},
"abbreviation" : {
"en" : "1",
"fi" : "1"
},
"numericCorrespondence" : 1.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "2",
"fi" : "2"
},
"abbreviation" : {
"en" : "2",
"fi" : "2"
},
"numericCorrespondence" : 2.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "3",
"fi" : "3"
},
"abbreviation" : {
"en" : "3",
"fi" : "3"
},
"numericCorrespondence" : 3.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "4",
"fi" : "4"
},
"abbreviation" : {
"en" : "4",
"fi" : "4"
},
"numericCorrespondence" : 4.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "5",
"fi" : "5"
},
"abbreviation" : {
"en" : "5",
"fi" : "5"
},
"numericCorrespondence" : 5.0
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"en" : "Numeric grade scale 1-5",
"fi" : "Numeerinen arviointiasteikko 1-5"
},
"abbreviation" : {
"en" : "1-5",
"fi" : "1-5"
}
}, {
"metadata" : null,
"id" : "otm-test-latin",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Improbatur",
"fi" : "Improbatur"
},
"abbreviation" : {
"en" : "I",
"fi" : "I"
},
"numericCorrespondence" : null
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Approbatur",
"fi" : "Approbatur"
},
"abbreviation" : {
"en" : "A",
"fi" : "A"
},
"numericCorrespondence" : 1.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Lubenter Approbatur",
"fi" : "Lubenter approbatur"
},
"abbreviation" : {
"en" : "LA",
"fi" : "LA"
},
"numericCorrespondence" : 1.667
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Non Sine Laude Approbatur",
"fi" : "Non sine laude approbatur"
},
"abbreviation" : {
"en" : "NSLA",
"fi" : "NSLA"
},
"numericCorrespondence" : 2.333
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Cum Laude Approbatur",
"fi" : "Cum laude approbatur"
},
"abbreviation" : {
"en" : "CL",
"fi" : "CL"
},
"numericCorrespondence" : 3.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Magna Cum Laude Approbatur",
"fi" : "Magna cum laude approbatur"
},
"abbreviation" : {
"en" : "MCLA",
"fi" : "MCLA"
},
"numericCorrespondence" : 3.667
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Eximia Cum Laude Approbatur",
"fi" : "Eximia cum laude approbatur"
},
"abbreviation" : {
"en" : "ECLA",
"fi" : "ECLA"
},
"numericCorrespondence" : 4.333
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Laudatur",
"fi" : "Laudatur"
},
"abbreviation" : {
"en" : "L",
"fi" : "L"
},
"numericCorrespondence" : 5.0
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"en" : "Latin grade scale",
"fi" : "Latinankielinen arviointiasteikko"
},
"abbreviation" : {
"en" : "lat",
"fi" : "lat"
}
}, {
"metadata" : null,
"id" : "otm-test-two-tier",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "Improbatur",
"fi" : "Hylätty"
},
"abbreviation" : {
"en" : "fail",
"fi" : "fail"
},
"numericCorrespondence" : 0.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "Passed",
"fi" : "Hyväksytty"
},
"abbreviation" : {
"en" : "ok",
"fi" : "ok"
},
"numericCorrespondence" : 1.0
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"en" : "two-tier grade scale",
"fi" : "2-portainen arviointiasteikko"
},
"abbreviation" : {
"en" : "2tier",
"fi" : "2tier"
}
}, {
"metadata" : null,
"id" : "otm-4-10",
"grades" : [ {
"localId" : 0,
"passed" : false,
"name" : {
"en" : "4",
"fi" : "4"
},
"abbreviation" : {
"en" : "4",
"fi" : "4"
},
"numericCorrespondence" : 4.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "5",
"fi" : "5"
},
"abbreviation" : {
"en" : "5",
"fi" : "5"
},
"numericCorrespondence" : 5.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "6",
"fi" : "6"
},
"abbreviation" : {
"en" : "6",
"fi" : "6"
},
"numericCorrespondence" : 6.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "7",
"fi" : "7"
},
"abbreviation" : {
"en" : "7",
"fi" : "7"
},
"numericCorrespondence" : 7.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "8",
"fi" : "8"
},
"abbreviation" : {
"en" : "8",
"fi" : "8"
},
"numericCorrespondence" : 8.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "9",
"fi" : "9"
},
"abbreviation" : {
"en" : "9",
"fi" : "9"
},
"numericCorrespondence" : 9.0
}, {
"localId" : 0,
"passed" : true,
"name" : {
"en" : "10",
"fi" : "10"
},
"abbreviation" : {
"en" : "10",
"fi" : "10"
},
"numericCorrespondence" : 10.0
} ],
"validityPeriod" : {
"startDate" : "1900-01-01"
},
"additionalInfo" : null,
"helpText" : null,
"name" : {
"en" : "4-10 grade scale",
"fi" : "4-10 Asteikko"
},
"abbreviation" : {
"en" : "4-10",
"fi" : "4-10"
}
} ]
HTTP/1.1 200 OK
Export international contractual degree agreements
GET /api/international-contractual-degree-agreements/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return international contractual degree agreements modified after (exclusive comparison) this modification ordinal (increasing value within Ori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return international contractual degree agreements modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of international contractual degree agreements to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultInternationalContractualDegreeAgreement[ExportResultInternationalContractualDegreeAgreement] |
Import international contractual degree agreements
POST /api/international-contractual-degree-agreements/v1/import
Parameters
Export locations
GET /api/locations/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return locations modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return locations modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of locations to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultLocation[ExportResultLocation] |
Samples
GET /api/locations/v1/export?since=51722&limit=5 HTTP/1.1
Accept: application/json
Authorization: Basic c3BlY3RyZS5lOnRlc3QxMjM=
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 698
{
"greatestOrdinal" : 51726,
"hasMore" : false,
"entities" : [ {
"metadata" : {
"revision" : 1,
"createdBy" : "arska",
"createdOn" : "2023-05-22T10:24:24.896700",
"lastModifiedBy" : "arska",
"lastModifiedOn" : "2023-05-22T10:24:24.896848",
"modificationOrdinal" : 51726
},
"documentState" : "ACTIVE",
"id" : "otm-fe154535-99f2-4e35-bac9-46631d5f8d01",
"universityOrgIds" : [ "the-spectre" ],
"name" : {
"fi" : "Location 2023-05-22T10:24:24.895499838",
"sv" : "Location 2023-05-22T10:24:24.895499838"
},
"capacity" : 15,
"buildingId" : "otm-fe899713-4d62-4842-a090-c7f1194021f1",
"building" : null
} ]
}
Get location
GET /api/locations/v1/{locationId}
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Location[Location] |
Samples
GET /api/locations/v1/otm-ed567b6b-92ac-4267-9bb7-1f8b1877abba HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 1243
{
"metadata" : {
"revision" : 1,
"createdBy" : "arska",
"createdOn" : "2023-05-22T10:24:25.075158",
"lastModifiedBy" : "arska",
"lastModifiedOn" : "2023-05-22T10:24:25.075248",
"modificationOrdinal" : 51815
},
"documentState" : "ACTIVE",
"id" : "otm-ed567b6b-92ac-4267-9bb7-1f8b1877abba",
"universityOrgIds" : [ "the-spectre" ],
"name" : {
"en" : "Computer room",
"fi" : "ATK-huone",
"sv" : "ADB-rum"
},
"capacity" : 15,
"buildingId" : "otm-ed567b6b-72ac-4267-9bb7-1f8b1877cb74",
"building" : {
"metadata" : {
"revision" : 1,
"createdBy" : "spectre.i",
"createdOn" : "2023-05-22T10:24:25.072480",
"lastModifiedBy" : "spectre.i",
"lastModifiedOn" : "2023-05-22T10:24:25.072675",
"modificationOrdinal" : 51812
},
"documentState" : "ACTIVE",
"id" : "otm-ed567b6b-72ac-4267-9bb7-1f8b1877cb74",
"universityOrgIds" : [ "the-spectre" ],
"name" : {
"en" : "Viikki",
"fi" : "Viikki"
},
"address" : {
"countryUrn" : "urn:code:country:246",
"isUserEditable" : true,
"streetAddress" : "Viikinkari 9",
"postalCode" : "00790",
"city" : "Helsinki",
"type" : "FinnishAddress"
}
}
}
Import locations
POST /api/locations/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
Location required |
List (Location) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/locations/v1/import HTTP/1.1
Content-Type: application/json
Authorization: Basic c3BlY3RyZS5pOnRlc3QxMjM=
Content-Length: 1245
Host: localhost:8080
[ {
"metadata" : null,
"id" : "otm-ed567b6b-92ac-4267-9bb7-1f8b1877abba",
"universityOrgIds" : [ "the-spectre" ],
"name" : {
"en" : "Computer room",
"fi" : "ATK-huone",
"sv" : "ADB-rum"
},
"capacity" : 15,
"buildingId" : "otm-ed567b6b-72ac-4267-9bb7-1f8b1877cb74",
"building" : null
}, {
"metadata" : null,
"id" : "otm-82577521-22a8-4a42-b54a-96e549af2e21",
"universityOrgIds" : [ "the-spectre" ],
"name" : {
"en" : "Class 10a",
"fi" : "Luokka 10a",
"sv" : "Klass 10a"
},
"capacity" : 15,
"buildingId" : "otm-155b685f-2a5e-401a-90c5-167d35101764",
"building" : null
}, {
"metadata" : null,
"id" : "otm-987d362f-cdfe-4b90-95bc-f47cbb309ed9",
"universityOrgIds" : [ "the-spectre" ],
"name" : {
"en" : "Auditorium",
"fi" : "Auditorio",
"sv" : "Auditorium"
},
"capacity" : 15,
"buildingId" : "otm-5029f514-b78c-4135-a354-9866fa472016",
"building" : null
}, {
"metadata" : null,
"id" : "otm-987d362f-cdfe-4b90-88bc-f47cbb309eff",
"universityOrgIds" : [ "the-spectre" ],
"name" : {
"en" : "Class 5a",
"fi" : "Luokka 5a",
"sv" : "Klass 5a"
},
"capacity" : 15,
"buildingId" : "otm-5029f514-b78c-4135-a354-9866fa472016",
"building" : null
} ]
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Export mass exam sessions
GET /api/mass-exam-sessions/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point. With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be consecutive. With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return mass exam sessions modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return mass exam sessions modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of mass exam sessions to return. May return less, either because there are not enough items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultMassExamSession[ExportResultMassExamSession] |
Import mass exam sessions
POST /api/mass-exam-sessions/v1/import
Import active mass exam sessions with strict validation.
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
MassExamSession required |
List (MassExamSession) |
Delete modules
POST /api/modules/v1/batch-delete
Delete a batch of modules by id or groupId.
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
DeleteBatch required |
DeleteBatch (DeleteBatch) |
Export modules
GET /api/modules/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return study modules modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return study modules modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of study modules to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultModule[ExportResultModule] |
Samples
GET /api/modules/v1/export?since=0&limit=5 HTTP/1.1
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 2438
{
"greatestOrdinal" : 57356,
"hasMore" : false,
"entities" : [ {
"metadata" : {
"revision" : 1,
"createdBy" : "spectre-study-module-admin-user",
"createdOn" : "2023-05-22T10:24:34.966676",
"lastModifiedBy" : "spectre-study-module-admin-user",
"lastModifiedOn" : "2023-05-22T10:24:34.966879",
"modificationOrdinal" : 57356
},
"documentState" : "DRAFT",
"id" : "otm-30f7ce8f-8465-4726-b81c-d6fff526c2fc",
"universityOrgIds" : [ "the-spectre" ],
"groupId" : "otm-30f7ce8f-8465-4726-b81c-d6fff526c2fc",
"name" : {
"fi" : "Module that has ID otm-30f7ce8f-8465-4726-b81c-d6fff526c2fc"
},
"moduleContentApprovalRequired" : false,
"code" : "code-xyzzy-otm-30f7ce8f-8465-4726-b81c-d6fff526c2fc",
"targetCredits" : {
"min" : 0,
"max" : 10
},
"curriculumPeriodIds" : [ "otm-test-curriculum-period-2015-2016" ],
"approvalState" : "urn:code:approval-state-type:not-ready",
"validityPeriod" : {
"startDate" : "1970-01-01",
"endDate" : "2071-12-04"
},
"contentDescription" : null,
"additionalInfo" : {
"fi" : "lisätietoa"
},
"responsibilityInfos" : [ {
"text" : null,
"personId" : "otm-test-user-96",
"roleUrn" : "urn:code:module-responsibility-info-type:responsible-teacher",
"validityPeriod" : { }
} ],
"organisations" : [ {
"organisationId" : "the-spectre",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1,
"validityPeriod" : { }
} ],
"inclusionApplicationInstruction" : null,
"abbreviation" : null,
"tweetText" : null,
"outcomes" : null,
"prerequisites" : null,
"substitutions" : null,
"searchTags" : [ ],
"studyLevel" : "urn:code:study-level:intermediate-studies",
"possibleAttainmentLanguages" : [ "urn:code:official-language:fi" ],
"studyFields" : [ "urn:code:study-field:2002-0" ],
"graded" : true,
"gradeScaleId" : "hy-0-5",
"customCodeUrns" : null,
"contentFilter" : null,
"studyRightSelectionType" : "urn:code:study-right-selection-type:none",
"minorStudyRightAcceptanceType" : null,
"minorStudyRightApplicationInstructions" : null,
"type" : "StudyModule",
"rule" : {
"type" : "AnyCourseUnitRule",
"localId" : "59c2ea79-ef7c-42a5-b7c2-f391e98e94e9"
}
} ]
}
Find module versions by group id and curriculum period id
GET /api/modules/v1/by-group-id
NOTE! This is not an exact and deterministic search. It returns a single version representing each group id. ACTIVE modules are preferred over DRAFT modules and DELETED versions are the last resort, unless document states are limited using the documentStates parameter. Order of the modules is not guaranteed. Curriculum period id is not mandatory. When curriculum id is not given or the given curriculum does not contain all versions, search will use active and valid curricula starting from current proceeding to the future and then into the past in order to find versions.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
groupId required |
List of group ids whose module versions we are interested in. |
List ([String]) |
|
universityId required |
University whose modules are preferred. |
String |
otm-123456 |
curriculumPeriodId optional |
Curriculum period id. Return versions which belong to this curriculum period. |
String |
otm-123456 |
documentStates optional |
Return modules only in given Document states. |
List ([String]) |
|
preferByState optional |
Prefer modules by state in the order ACTIVE, DRAFT, DELETED. |
Boolean |
true |
Get modules
GET /api/modules/v1
Modules are fetched by their groupId. Modules of all types (DegreeProgramme, StudyModule, GroupingModule) in DRAFT and ACTIVE states are fetched.
Get module
GET /api/modules/v1/{moduleId}
Get is keyed by its module id. This information is public, and the operation succeeds even with no authentication. Modules of all types (DegreeProgramme, StudyModule, GroupingModule) can be fetched, and the document state of the module does not affect the operation, i.e. even DELETED modules can be exported, they just have \"documentState\": \"DELETED\". Public export operations are allowed to get new fields without updating the version tag, but changes to existing fields are considered breaking changes and thus cause a new export endpoint with a new version tag to be introduced.
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
importModules_request_inner[[importModules_request_inner]] |
Samples
GET /api/modules/v1/otm-6069ea7c-0820-4a25-8092-9a003292fcae HTTP/1.1
Content-Type: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Cache-Control: public,max-age=0,s-maxage=25200
xkey: otm-6069ea7c-0820-4a25-8092-9a003292fcae
Content-Type: application/json
Content-Length: 2194
{
"metadata" : {
"revision" : 1,
"createdBy" : "spectre-admin",
"createdOn" : "2023-05-22T10:24:34.049173",
"lastModifiedBy" : "spectre-admin",
"lastModifiedOn" : "2023-05-22T10:24:34.049268",
"modificationOrdinal" : 56960
},
"documentState" : "DRAFT",
"id" : "otm-6069ea7c-0820-4a25-8092-9a003292fcae",
"universityOrgIds" : [ "the-spectre" ],
"groupId" : "otm-6069ea7c-0820-4a25-8092-9a003292fcae",
"name" : {
"fi" : "Module that has ID otm-6069ea7c-0820-4a25-8092-9a003292fcae"
},
"moduleContentApprovalRequired" : true,
"code" : "code-xyzzy-otm-6069ea7c-0820-4a25-8092-9a003292fcae",
"targetCredits" : {
"min" : 0,
"max" : 10
},
"curriculumPeriodIds" : [ "otm-test-curriculum-period-2015-2016" ],
"approvalState" : "urn:code:approval-state-type:not-ready",
"validityPeriod" : {
"startDate" : "1970-01-01",
"endDate" : "2071-12-04"
},
"contentDescription" : null,
"additionalInfo" : {
"fi" : "lisätietoa"
},
"responsibilityInfos" : [ {
"text" : null,
"personId" : "otm-test-user-96",
"roleUrn" : "urn:code:module-responsibility-info-type:responsible-teacher",
"validityPeriod" : { }
} ],
"organisations" : [ {
"organisationId" : "the-spectre",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1,
"validityPeriod" : { }
} ],
"inclusionApplicationInstruction" : null,
"abbreviation" : null,
"tweetText" : null,
"outcomes" : null,
"prerequisites" : null,
"substitutions" : null,
"searchTags" : [ ],
"studyLevel" : "urn:code:study-level:intermediate-studies",
"possibleAttainmentLanguages" : [ "urn:code:official-language:fi" ],
"studyFields" : [ "urn:code:study-field:2002-0" ],
"graded" : true,
"gradeScaleId" : "hy-0-5",
"customCodeUrns" : null,
"contentFilter" : null,
"studyRightSelectionType" : "urn:code:study-right-selection-type:none",
"minorStudyRightAcceptanceType" : null,
"minorStudyRightApplicationInstructions" : null,
"type" : "StudyModule",
"rule" : {
"type" : "AnyCourseUnitRule",
"localId" : "03da5ba8-f29a-4347-a06a-9bfe1eda8c72"
}
}
Import legacy modules
POST /api/modules/v1/import/legacy
Import with a lenient legacy validation
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/modules/v1/import/legacy HTTP/1.1
Content-Type: application/json
Content-Length: 3752
Host: localhost:8080
[ {
"metadata" : null,
"id" : "otm-fa5403dc-f80c-438b-bf1b-ca3d237864a2",
"universityOrgIds" : [ "the-spectre" ],
"groupId" : "otm-fa5403dc-f80c-438b-bf1b-ca3d237864a2",
"name" : {
"fi" : "Module that has ID otm-fa5403dc-f80c-438b-bf1b-ca3d237864a2"
},
"moduleContentApprovalRequired" : false,
"code" : null,
"targetCredits" : {
"min" : 0,
"max" : 10
},
"curriculumPeriodIds" : [ "otm-test-curriculum-period-2015-2016" ],
"approvalState" : "urn:code:approval-state-type:not-ready",
"validityPeriod" : {
"startDate" : "1970-01-01",
"endDate" : "2071-12-04"
},
"contentDescription" : null,
"additionalInfo" : {
"fi" : "lisätietoa"
},
"responsibilityInfos" : [ {
"text" : null,
"personId" : "otm-test-user-96",
"roleUrn" : "urn:code:module-responsibility-info-type:responsible-teacher",
"validityPeriod" : { }
} ],
"organisations" : [ {
"organisationId" : "the-spectre",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1,
"validityPeriod" : { }
} ],
"inclusionApplicationInstruction" : null,
"tweetText" : null,
"degreeProgramTypeUrn" : "urn:code:degree-program-type:bachelors-degree",
"degreeTitleUrns" : [ "urn:code:degree-title:tutkintonimikekk_012" ],
"degreeLanguageUrns" : [ "urn:code:official-language:fi" ],
"studyFields" : [ "urn:code:study-field:2002-0" ],
"educationClassificationUrns" : [ "urn:code:education-classification:koulutus_361252" ],
"educationLocationUrns" : [ ],
"gradeScaleId" : "hy-0-5",
"customCodeUrns" : null,
"learningOutcomes" : null,
"tuitionFee" : null,
"type" : "DegreeProgramme",
"rule" : {
"type" : "AnyCourseUnitRule",
"localId" : "4f6c3ad7-db30-4557-83df-af62821e7215"
}
}, {
"metadata" : null,
"id" : "otm-d0fa7340-f768-4471-b7ac-97f94fab4b47",
"universityOrgIds" : [ "the-spectre" ],
"groupId" : "otm-d0fa7340-f768-4471-b7ac-97f94fab4b47",
"name" : {
"fi" : "Module that has ID otm-d0fa7340-f768-4471-b7ac-97f94fab4b47"
},
"moduleContentApprovalRequired" : false,
"code" : "code-xyzzy-otm-d0fa7340-f768-4471-b7ac-97f94fab4b47",
"targetCredits" : {
"min" : 0,
"max" : 10
},
"curriculumPeriodIds" : [ "otm-test-curriculum-period-2015-2016" ],
"approvalState" : "urn:code:approval-state-type:not-ready",
"validityPeriod" : {
"startDate" : "1970-01-01",
"endDate" : "2071-12-04"
},
"contentDescription" : null,
"additionalInfo" : {
"fi" : "lisätietoa"
},
"responsibilityInfos" : [ {
"text" : null,
"personId" : "otm-test-user-96",
"roleUrn" : "urn:code:module-responsibility-info-type:responsible-teacher",
"validityPeriod" : { }
} ],
"organisations" : [ {
"organisationId" : "the-spectre",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1,
"validityPeriod" : { }
} ],
"inclusionApplicationInstruction" : null,
"abbreviation" : null,
"tweetText" : null,
"outcomes" : null,
"prerequisites" : null,
"substitutions" : null,
"searchTags" : [ ],
"studyLevel" : "urn:code:study-level:intermediate-studies",
"possibleAttainmentLanguages" : [ "urn:code:official-language:fi" ],
"studyFields" : [ "urn:code:study-field:2002-0" ],
"graded" : true,
"gradeScaleId" : "hy-0-5",
"customCodeUrns" : null,
"contentFilter" : null,
"studyRightSelectionType" : "urn:code:study-right-selection-type:none",
"minorStudyRightAcceptanceType" : null,
"minorStudyRightApplicationInstructions" : null,
"type" : "StudyModule",
"rule" : {
"type" : "AnyCourseUnitRule",
"localId" : "3b8b5007-ab99-4ae0-ab19-6dec40249204"
}
} ]
HTTP/1.1 200 OK
Import modules
POST /api/modules/v1/import
Import with strict validation
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/modules/v1/import HTTP/1.1
Content-Type: application/json
Content-Length: 3801
Host: localhost:8080
[ {
"metadata" : null,
"id" : "otm-a081fc77-da1e-450b-ac1a-806320d7b04e",
"universityOrgIds" : [ "the-spectre" ],
"groupId" : "otm-a081fc77-da1e-450b-ac1a-806320d7b04e",
"name" : {
"fi" : "Module that has ID otm-a081fc77-da1e-450b-ac1a-806320d7b04e"
},
"moduleContentApprovalRequired" : false,
"code" : "code-xyzzy-otm-a081fc77-da1e-450b-ac1a-806320d7b04e",
"targetCredits" : {
"min" : 0,
"max" : 10
},
"curriculumPeriodIds" : [ "otm-test-curriculum-period-2015-2016" ],
"approvalState" : "urn:code:approval-state-type:not-ready",
"validityPeriod" : {
"startDate" : "2015-12-24",
"endDate" : "2015-12-25"
},
"contentDescription" : null,
"additionalInfo" : {
"fi" : "lisätietoa"
},
"responsibilityInfos" : [ {
"text" : null,
"personId" : "otm-test-user-96",
"roleUrn" : "urn:code:module-responsibility-info-type:responsible-teacher",
"validityPeriod" : { }
} ],
"organisations" : [ {
"organisationId" : "the-spectre",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1,
"validityPeriod" : { }
} ],
"inclusionApplicationInstruction" : null,
"tweetText" : null,
"degreeProgramTypeUrn" : "urn:code:degree-program-type:bachelors-degree",
"degreeTitleUrns" : [ "urn:code:degree-title:tutkintonimikekk_012" ],
"degreeLanguageUrns" : [ "urn:code:official-language:fi" ],
"studyFields" : [ "urn:code:study-field:2002-0" ],
"educationClassificationUrns" : [ "urn:code:education-classification:koulutus_361252" ],
"educationLocationUrns" : [ ],
"gradeScaleId" : "hy-0-5",
"customCodeUrns" : null,
"learningOutcomes" : null,
"tuitionFee" : null,
"type" : "DegreeProgramme",
"rule" : {
"type" : "AnyCourseUnitRule",
"localId" : "28ced297-6045-44bc-a112-fa33f8692886"
}
}, {
"metadata" : null,
"id" : "otm-131e9c79-046f-456e-9ac4-d117989e6834",
"universityOrgIds" : [ "the-spectre" ],
"groupId" : "otm-131e9c79-046f-456e-9ac4-d117989e6834",
"name" : {
"fi" : "Module that has ID otm-131e9c79-046f-456e-9ac4-d117989e6834"
},
"moduleContentApprovalRequired" : false,
"code" : "code-xyzzy-otm-131e9c79-046f-456e-9ac4-d117989e6834",
"targetCredits" : {
"min" : 0,
"max" : 10
},
"curriculumPeriodIds" : [ "otm-test-curriculum-period-2015-2016" ],
"approvalState" : "urn:code:approval-state-type:not-ready",
"validityPeriod" : {
"startDate" : "2015-12-24",
"endDate" : "2015-12-25"
},
"contentDescription" : null,
"additionalInfo" : {
"fi" : "lisätietoa"
},
"responsibilityInfos" : [ {
"text" : null,
"personId" : "otm-test-user-96",
"roleUrn" : "urn:code:module-responsibility-info-type:responsible-teacher",
"validityPeriod" : { }
} ],
"organisations" : [ {
"organisationId" : "the-spectre",
"educationalInstitutionUrn" : null,
"roleUrn" : "urn:code:organisation-role:responsible-organisation",
"share" : 1,
"validityPeriod" : { }
} ],
"inclusionApplicationInstruction" : null,
"abbreviation" : null,
"tweetText" : null,
"outcomes" : null,
"prerequisites" : null,
"substitutions" : null,
"searchTags" : [ ],
"studyLevel" : "urn:code:study-level:intermediate-studies",
"possibleAttainmentLanguages" : [ "urn:code:official-language:fi" ],
"studyFields" : [ "urn:code:study-field:2002-0" ],
"graded" : true,
"gradeScaleId" : "hy-0-5",
"customCodeUrns" : null,
"contentFilter" : null,
"studyRightSelectionType" : "urn:code:study-right-selection-type:none",
"minorStudyRightAcceptanceType" : null,
"minorStudyRightApplicationInstructions" : null,
"type" : "StudyModule",
"rule" : {
"type" : "AnyCourseUnitRule",
"localId" : "c33370a2-da90-4d35-bfa3-dfe69eedb207"
}
} ]
HTTP/1.1 200 OK
Patch legacy modules
PATCH /api/modules/v1/import/legacy
Patch import with lenient legacy validation
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
PatchEntity required |
List (PatchEntity) |
Patch modules
PATCH /api/modules/v1/import
Patch import with strict validation
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
PatchEntity required |
List (PatchEntity) |
Export open university product codes
GET /api/open-university-product-codes/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point. With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be consecutive. With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultOpenUniversityProductCode[ExportResultOpenUniversityProductCode] |
Import open university product codes
POST /api/open-university-product-codes/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
OpenUniversityProductCode required |
List (OpenUniversityProductCode) |
Export open university products
GET /api/open-university-products/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return products modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return products modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of products to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultOpenUniversityProduct[ExportResultOpenUniversityProduct] |
Import open university products
POST /api/open-university-products/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
OpenUniversityProduct required |
List (OpenUniversityProduct) |
Stream open university products
GET /api/open-university-products/v1/stream
Entities can be exported as a stream in modification order, and the stream can be left open to listen for changes. Duplicates are possible if entities are modified several times.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return messages modified after (exclusive comparison) this modification ordinal Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return messages modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
follow optional |
Return modified messages after modified after (exclusive comparison) this modification ordinal Alternate parameter with sinceTime. This is the recommended option. |
Boolean |
true |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
List[[object]] |
Export organisations
GET /api/organisations/v2/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return organisations modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return organisations modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of organisations to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultOrganisation[ExportResultOrganisation] |
Samples
GET /api/organisations/v2/export?since=0&limit=5 HTTP/1.1
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 881
{
"greatestOrdinal" : 57884,
"hasMore" : false,
"entities" : [ {
"metadata" : {
"revision" : 1,
"createdBy" : "spectre.e",
"createdOn" : "2023-05-22T10:24:36.759547",
"lastModifiedBy" : "spectre.e",
"lastModifiedOn" : "2023-05-22T10:24:36.759649",
"modificationOrdinal" : 57884
},
"documentState" : "DRAFT",
"id" : "otm-852e1a0e-4a7d-48f9-9deb-7d990bc88bf8",
"snapshotDateTime" : "2022-11-22T10:24:36.755008",
"universityOrgId" : "the-spectre",
"parentId" : "the-spectre",
"predecessorIds" : [ ],
"code" : "org-code-2",
"name" : {
"en" : "name abc-en",
"fi" : "name abc",
"sv" : "name abc-sv"
},
"abbreviation" : null,
"status" : "ACTIVE",
"educationalInstitutionUrn" : "urn:code:educational-institution:42:12345",
"cooperationNetworkIdentifiers" : null
} ]
}
Import organisations
POST /api/organisations/v2/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
Organisation required |
List (Organisation) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/organisations/v2/import HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 1867
Host: localhost:8080
[ {
"metadata" : null,
"documentState" : "ACTIVE",
"id" : "otm-90759091-872c-434c-879e-fd530ffa0d01",
"snapshotDateTime" : "2024-05-22T10:24:35.691146",
"universityOrgId" : "hy-university-root-id",
"parentId" : "otm-52d0febc-d9f9-4dc6-a340-817827137884",
"predecessorIds" : [ "otm-b08f3107-6504-43bd-b730-2e328f5c757f", "otm-e3e07421-0deb-4d08-aea3-1b50c558b7fa" ],
"code" : "AO",
"name" : {
"en" : "A ja O yhdistetty uudestaan-en",
"fi" : "A ja O yhdistetty uudestaan",
"sv" : "A ja O yhdistetty uudestaan-sv"
},
"abbreviation" : null,
"status" : "ACTIVE",
"educationalInstitutionUrn" : "urn:code:educational-institution:42:12345",
"cooperationNetworkIdentifiers" : null
}, {
"metadata" : null,
"documentState" : "ACTIVE",
"id" : "otm-b08f3107-6504-43bd-b730-2e328f5c757f",
"snapshotDateTime" : "2024-05-22T10:24:35.691146",
"universityOrgId" : "hy-university-root-id",
"parentId" : "otm-52d0febc-d9f9-4dc6-a340-817827137884",
"predecessorIds" : [ ],
"code" : "A",
"name" : {
"en" : "A mergetty-en",
"fi" : "A mergetty",
"sv" : "A mergetty-sv"
},
"abbreviation" : null,
"status" : "INACTIVE",
"educationalInstitutionUrn" : "urn:code:educational-institution:42:12345",
"cooperationNetworkIdentifiers" : null
}, {
"metadata" : null,
"documentState" : "ACTIVE",
"id" : "otm-e3e07421-0deb-4d08-aea3-1b50c558b7fa",
"snapshotDateTime" : "2024-05-22T10:24:35.691146",
"universityOrgId" : "hy-university-root-id",
"parentId" : "otm-52d0febc-d9f9-4dc6-a340-817827137884",
"predecessorIds" : [ ],
"code" : "O",
"name" : {
"en" : "O mergetty-en",
"fi" : "O mergetty",
"sv" : "O mergetty-sv"
},
"abbreviation" : null,
"status" : "INACTIVE",
"educationalInstitutionUrn" : "urn:code:educational-institution:42:12345",
"cooperationNetworkIdentifiers" : null
} ]
HTTP/1.1 200 OK
Import organisations v1
POST /api/organisations/v1/import
This is V1 interface with snapshot
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
OrganisationV1 required |
List (OrganisationV1) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/organisations/v1/import HTTP/1.1
Content-Type: application/json
Content-Length: 1635
Host: localhost:8080
[ {
"metadata" : null,
"documentState" : "ACTIVE",
"id" : "the-spectre",
"snapshot" : {
"universityOrgId" : "the-spectre",
"parentId" : null,
"predecessorIds" : [ ],
"code" : "org-code-1",
"name" : {
"en" : "Became valid 15 days ago-en",
"fi" : "Became valid 15 days ago",
"sv" : "Became valid 15 days ago-sv"
},
"abbreviation" : null,
"status" : "ACTIVE",
"educationalInstitutionUrn" : "urn:code:educational-institution:42:12345"
},
"snapshotDateTime" : "2023-05-07T10:24:36.343906"
}, {
"metadata" : null,
"documentState" : "ACTIVE",
"id" : "otm-635d58bb-469c-40b2-afc2-275fa1a8d818",
"snapshot" : {
"universityOrgId" : "the-spectre",
"parentId" : "the-spectre",
"predecessorIds" : [ ],
"code" : "org-code-2",
"name" : {
"en" : "name abc-en",
"fi" : "name abc",
"sv" : "name abc-sv"
},
"abbreviation" : null,
"status" : "ACTIVE",
"educationalInstitutionUrn" : "urn:code:educational-institution:42:12345"
},
"snapshotDateTime" : "2022-11-22T10:24:36.343888"
}, {
"metadata" : null,
"documentState" : "ACTIVE",
"id" : "otm-809cd5e2-24c0-488f-83e6-7de51c1dd07b",
"snapshot" : {
"universityOrgId" : "the-spectre",
"parentId" : "the-spectre",
"predecessorIds" : [ ],
"code" : "org-code-3",
"name" : {
"en" : "name 123-en",
"fi" : "name 123",
"sv" : "name 123-sv"
},
"abbreviation" : null,
"status" : "ACTIVE",
"educationalInstitutionUrn" : "urn:code:educational-institution:42:12345"
},
"snapshotDateTime" : "2022-11-22T10:24:36.343888"
} ]
HTTP/1.1 200 OK
Create or update list of organisation settings (internal)
POST /api/organisation-settings/for-university/{universityOrgId}
Create or update list of organisation settings for university. Because of the dynamic nature of the OrganisationSettings object, please do the update by fetching and modifying the current settings
Parameters
Path Parameters
Name |
Description |
Schema |
Example |
universityOrgId required |
University organisation id |
String |
otm-123456 |
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
OrganisationSettings required |
List (OrganisationSettings) |
Create or update list of organisation settings
POST /api/organisation-settings/v1/for-university/{universityOrgId}
Create or update list of organisation settings for university. Because of the dynamic nature of the OrganisationSettings object, please do the update by fetching and modifying the current settings
Parameters
Path Parameters
Name |
Description |
Schema |
Example |
universityOrgId required |
University organisation id |
String |
otm-123456 |
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
OrganisationSettings required |
List (OrganisationSettings) |
Fetch list of organisation settings (internal)
GET /api/organisation-settings/for-university/{universityOrgId}
Fetch list of organisation settings by university organisation id
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
List[OrganisationSettings] |
Fetch list of organisation settings
GET /api/organisation-settings/v1/for-university/{universityOrgId}
Fetch list of organisation settings by university organisation id
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
List[OrganisationSettings] |
Export payment categories
GET /api/payment-categories/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point. With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be consecutive. With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultPaymentCategory[ExportResultPaymentCategory] |
Import payment categories
POST /api/payment-categories/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
PaymentCategory required |
List (PaymentCategory) |
Export persons
GET /api/persons/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return public persons modified after (exclusive comparison) this modification ordinal (increasing value within Ori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return public persons modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of public persons to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultPublicPerson[ExportResultPublicPerson] |
Samples
GET /api/persons/v1/export?since=58179&limit=5 HTTP/1.1
Accept: application/json
Authorization: Basic aHkuZTp0ZXN0MTIz
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 664
{
"greatestOrdinal" : 58180,
"hasMore" : false,
"entities" : [ {
"metadata" : {
"revision" : 1,
"createdBy" : "arska",
"createdOn" : "2023-05-22T10:24:39.366510",
"lastModifiedBy" : "arska",
"lastModifiedOn" : "2023-05-22T10:24:39.366623",
"modificationOrdinal" : 58180
},
"documentState" : "ACTIVE",
"id" : "otm-310b5e56-663f-4925-a7da-d5da10ca5889",
"universityOrgIds" : [ "hy-university-root-id" ],
"firstName" : "Mikko",
"lastName" : "Mallikas",
"emailAddress" : "mikko@mallikas.fi",
"titles" : [ {
"en" : "Dean",
"fi" : "Dekaani",
"sv" : "Dekanus"
} ]
} ]
}
Get person
GET /api/persons/v1/{personId}
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
PublicPerson[PublicPerson] |
Samples
GET /api/persons/v1/otm-ca586042-636c-459a-a741-b0b4e46e8289 HTTP/1.1
Accept: application/json
Authorization: Bearer eyJraWQiOiJ0ZXN0LjEiLCJ0eXAiOiJKV1QiLCJhbGciOiJFUzUxMiJ9.eyJzdWIiOiJhcnNrYSIsInNjb3BlIjoiYWRtaW4gdXNlciIsImlzcyI6InNpcyIsInVuaXZlcnNpdHlPcmdJZHMiOiJoeS11bml2ZXJzaXR5LXJvb3QtaWQiLCJwZXJzb25pZCI6Im90bS1hZG1pbi1pZC0xIiwiZXhwIjoxNjg0NzQwNDU5LCJ1c2VyaW5mbyI6e319.AM5vcOpeLer4Bvwdu_CmlVG09I2uTlPxRY5YAavv0qVmolAt-tByEQmsn455vCyx3k5RNYj-ZDmXcyPqoGnImZhhAaMKxrsRrylZ8ECpWNUuajEliBxJbFHnktcv1tBrUZGLjUNnQZ8870VJCzdu8TB0mWdW6pbePY7HzHaFIRHFq9WQ
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 550
{
"metadata" : {
"revision" : 1,
"createdBy" : "arska",
"createdOn" : "2023-05-22T10:24:39.067198",
"lastModifiedBy" : "arska",
"lastModifiedOn" : "2023-05-22T10:24:39.067322",
"modificationOrdinal" : 58141
},
"documentState" : "ACTIVE",
"id" : "otm-ca586042-636c-459a-a741-b0b4e46e8289",
"universityOrgIds" : [ "hy-university-root-id" ],
"firstName" : "Uusi",
"lastName" : "Ihminen",
"emailAddress" : "sposti@fake.osoite",
"titles" : [ {
"en" : "Dean",
"fi" : "Dekaani",
"sv" : "Dekanus"
} ]
}
Import persons
POST /api/persons/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
PublicPerson required |
List (PublicPerson) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/persons/v1/import HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Basic aHkuaTp0ZXN0MTIz
Content-Length: 957
Host: localhost:8080
[ {
"metadata" : null,
"id" : "otm-20ea7755-0aba-496e-be56-38addd99e9bf",
"universityOrgIds" : [ "hy-university-root-id" ],
"firstName" : "Uusi",
"lastName" : "Ihminen",
"emailAddress" : "sposti@ss.fi",
"titles" : [ ]
}, {
"metadata" : null,
"id" : "otm-3a627a17-a220-446e-b885-d885ebf1caf6",
"universityOrgIds" : [ "hy-university-root-id" ],
"firstName" : "Matti",
"lastName" : "Matala",
"emailAddress" : "mm@pp.fi",
"titles" : [ ]
}, {
"metadata" : null,
"id" : "otm-3fdc6f65-21fc-4890-9e32-979aed02ae13",
"universityOrgIds" : [ "hy-university-root-id" ],
"firstName" : "Pertti",
"lastName" : "Peltola",
"emailAddress" : "pp@pp.fi",
"titles" : [ {
"fi" : "Suurmestari"
} ]
}, {
"metadata" : null,
"id" : "otm-b152d0bb-e699-40be-86d1-1a5d4068c2bb",
"universityOrgIds" : [ "hy-university-root-id" ],
"firstName" : "Pertti",
"lastName" : "Palola",
"emailAddress" : "pap@pp.fi",
"titles" : [ ]
} ]
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Export Qualifications
GET /api/qualifications/v1/export
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultQualification[ExportResultQualification] |
Import Qualifications
POST /api/qualifications/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
Qualification required |
List (Qualification) |
Export study events
GET /api/study-events/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return study events modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return study events modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of study events to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultStudyEvent[ExportResultStudyEvent] |
Samples
GET /api/study-events/v1/export?since=58727&limit=5 HTTP/1.1
Accept: application/json
Authorization: Basic c3BlY3RyZS5lOnRlc3QxMjM=
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 866
{
"greatestOrdinal" : 58728,
"hasMore" : false,
"entities" : [ {
"metadata" : {
"revision" : 1,
"createdBy" : "arska",
"createdOn" : "2023-05-22T10:24:41.238068",
"lastModifiedBy" : "arska",
"lastModifiedOn" : "2023-05-22T10:24:41.238244",
"modificationOrdinal" : 58728
},
"documentState" : "ACTIVE",
"id" : "otm-8238e16b-1001-4d07-ac3d-aac118cc6313",
"universityOrgIds" : [ "the-spectre" ],
"primaryCourseUnitRealisationId" : null,
"name" : {
"fi" : "StudyEvent 2023-05-22T10:24:41.236853290"
},
"locationIds" : [ "test-lokaatio-id-001" ],
"recursEvery" : "WEEKLY",
"startTime" : "2023-03-29T10:00",
"duration" : "PT2H",
"recursUntil" : "2023-06-07",
"exceptions" : [ "2023-05-31" ],
"cancellations" : [ ],
"overrides" : [ ],
"events" : null
} ]
}
Get study event
GET /api/study-events/v1/{studyEventId}
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
StudyEvent[StudyEvent] |
Samples
GET /api/study-events/v1/otm-1851ed0a-c4c4-420d-8776-5089e7f24588 HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 3313
{
"metadata" : {
"revision" : 1,
"createdBy" : "arska",
"createdOn" : "2023-05-22T10:24:40.040145",
"lastModifiedBy" : "arska",
"lastModifiedOn" : "2023-05-22T10:24:40.040310",
"modificationOrdinal" : 58394
},
"documentState" : "ACTIVE",
"id" : "otm-1851ed0a-c4c4-420d-8776-5089e7f24588",
"universityOrgIds" : [ "the-spectre" ],
"primaryCourseUnitRealisationId" : null,
"name" : {
"fi" : "StudyEvent 2023-05-22T10:24:40.039513027"
},
"locationIds" : [ ],
"recursEvery" : "WEEKLY",
"startTime" : "2023-03-29T10:00",
"duration" : "PT2H",
"recursUntil" : "2023-06-07",
"exceptions" : [ "2023-05-31" ],
"cancellations" : [ ],
"overrides" : [ ],
"events" : [ {
"start" : "2023-03-29T10:00",
"duration" : "PT2H",
"excluded" : false,
"cancelled" : false,
"irregularLocationIds" : null,
"irregularTeacherIds" : null,
"notice" : null,
"end" : "2023-03-29T12:00"
}, {
"start" : "2023-04-05T10:00",
"duration" : "PT2H",
"excluded" : false,
"cancelled" : false,
"irregularLocationIds" : null,
"irregularTeacherIds" : null,
"notice" : null,
"end" : "2023-04-05T12:00"
}, {
"start" : "2023-04-12T10:00",
"duration" : "PT2H",
"excluded" : false,
"cancelled" : false,
"irregularLocationIds" : null,
"irregularTeacherIds" : null,
"notice" : null,
"end" : "2023-04-12T12:00"
}, {
"start" : "2023-04-19T10:00",
"duration" : "PT2H",
"excluded" : false,
"cancelled" : false,
"irregularLocationIds" : null,
"irregularTeacherIds" : null,
"notice" : null,
"end" : "2023-04-19T12:00"
}, {
"start" : "2023-04-26T10:00",
"duration" : "PT2H",
"excluded" : false,
"cancelled" : false,
"irregularLocationIds" : null,
"irregularTeacherIds" : null,
"notice" : null,
"end" : "2023-04-26T12:00"
}, {
"start" : "2023-05-03T10:00",
"duration" : "PT2H",
"excluded" : false,
"cancelled" : false,
"irregularLocationIds" : null,
"irregularTeacherIds" : null,
"notice" : null,
"end" : "2023-05-03T12:00"
}, {
"start" : "2023-05-10T10:00",
"duration" : "PT2H",
"excluded" : false,
"cancelled" : false,
"irregularLocationIds" : null,
"irregularTeacherIds" : null,
"notice" : null,
"end" : "2023-05-10T12:00"
}, {
"start" : "2023-05-17T10:00",
"duration" : "PT2H",
"excluded" : false,
"cancelled" : false,
"irregularLocationIds" : null,
"irregularTeacherIds" : null,
"notice" : null,
"end" : "2023-05-17T12:00"
}, {
"start" : "2023-05-24T10:00",
"duration" : "PT2H",
"excluded" : false,
"cancelled" : false,
"irregularLocationIds" : null,
"irregularTeacherIds" : null,
"notice" : null,
"end" : "2023-05-24T12:00"
}, {
"start" : "2023-05-31T10:00",
"duration" : "PT2H",
"excluded" : true,
"cancelled" : false,
"irregularLocationIds" : null,
"irregularTeacherIds" : null,
"notice" : null,
"end" : "2023-05-31T12:00"
}, {
"start" : "2023-06-07T10:00",
"duration" : "PT2H",
"excluded" : false,
"cancelled" : false,
"irregularLocationIds" : null,
"irregularTeacherIds" : null,
"notice" : null,
"end" : "2023-06-07T12:00"
} ]
}
Import study events
POST /api/study-events/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
StudyEvent required |
List (StudyEvent) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/study-events/v1/import HTTP/1.1
Content-Type: application/json
Authorization: Basic c3BlY3RyZS5pOnRlc3QxMjM=
Content-Length: 1002
Host: localhost:8080
[ {
"metadata" : null,
"id" : "otm-6a76e62b-b95f-4b08-be7f-5b3dce71d28a",
"universityOrgIds" : [ "the-spectre" ],
"primaryCourseUnitRealisationId" : null,
"name" : {
"fi" : "StudyEvent 2023-05-22T10:24:40.155080330"
},
"locationIds" : [ "test-lokaatio-id-001" ],
"recursEvery" : "WEEKLY",
"startTime" : "2023-03-29T10:00",
"duration" : "PT2H",
"recursUntil" : "2023-06-07",
"exceptions" : [ "2023-05-31" ],
"cancellations" : [ ],
"overrides" : [ ],
"events" : null
}, {
"metadata" : null,
"id" : "otm-72131671-8c8f-4759-a5ed-f798b9d948af",
"universityOrgIds" : [ "the-spectre" ],
"primaryCourseUnitRealisationId" : null,
"name" : {
"fi" : "StudyEvent 2023-05-22T10:24:40.155122429"
},
"locationIds" : [ "test-lokaatio-id-001" ],
"recursEvery" : "WEEKLY",
"startTime" : "2023-03-29T10:00",
"duration" : "PT2H",
"recursUntil" : "2023-06-07",
"exceptions" : [ "2023-05-31" ],
"cancellations" : [ ],
"overrides" : [ ],
"events" : null
} ]
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Stream study events
GET /api/study-events/v1/stream
Entities can be exported as a stream in modification order, and the stream can be left open to listen for changes. Duplicates are possible if entities are modified several times.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return entities modified after (exclusive comparison) this modification ordinal Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return entities modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
follow optional |
Return entities modified after (exclusive comparison) this modification ordinal Alternate parameter with sinceTime. This is the recommended option. |
Boolean |
true |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
List[[object]] |
Export study year templates
GET /api/study-year-templates/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return study year templates modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return study year templates modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of study year templates to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultStudyYearTemplate[ExportResultStudyYearTemplate] |
Samples
GET /api/study-year-templates/v1/export?since=0&limit=5 HTTP/1.1
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 556
{
"greatestOrdinal" : 60489,
"hasMore" : false,
"entities" : [ {
"id" : "otm-44232c49-174b-4f55-bb43-8fcbb7c577a7",
"valid" : {
"startDate" : "2017-01-01",
"endDate" : "2020-01-01"
},
"org" : "the-spectre",
"studyTerms" : null,
"metadata" : {
"revision" : 1,
"createdBy" : "arska",
"createdOn" : "2023-05-22T10:24:46.891045",
"lastModifiedBy" : "arska",
"lastModifiedOn" : "2023-05-22T10:24:46.891164",
"modificationOrdinal" : 60489
},
"documentState" : "ACTIVE"
} ]
}
Export study years
GET /api/study-years/v1
Returns a list of study years matching the given request parameters: organisation id, start year and number of years. May return less than the requested amount of StudyYears if requested years are not known to the system (too far in the past).
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
organisationId required |
University organisation id of the university which uses and owns these templates. |
String |
otm-123456 |
firstYear required |
Return study years from this year onward until number of years has passed. |
Integer (int32) |
56 |
numberOfYears required |
How many years to calculate from the first year on. Should be a positive integer value. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
List[StudyYear] |
Import study year templates
POST /api/study-year-templates/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
StudyYearTemplate required |
List (StudyYearTemplate) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/study-year-templates/v1/import HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 7970
Host: localhost:8080
[ {
"id" : "hy-1900",
"valid" : {
"startDate" : "1900-08-01",
"endDate" : "2008-08-01"
},
"org" : "hy-university-root-id",
"studyTerms" : [ {
"valid" : {
"startDate" : "1900-08-01",
"endDate" : "1901-01-01"
},
"name" : {
"en" : "autumn",
"fi" : "syksy",
"sv" : "hösten"
},
"studyPeriods" : [ {
"defaultValid" : {
"startDate" : "1900-08-01",
"endDate" : "1901-01-01"
},
"overrideValidities" : [ ],
"name" : {
"fi" : "S"
},
"size" : 1,
"visibleByDefault" : true,
"includedInTargetCreditsCalculation" : true
} ]
}, {
"valid" : {
"startDate" : "1901-01-01",
"endDate" : "1901-08-01"
},
"name" : {
"en" : "spring",
"fi" : "kevät",
"sv" : "våren"
},
"studyPeriods" : [ {
"defaultValid" : {
"startDate" : "1901-01-01",
"endDate" : "1901-08-01"
},
"overrideValidities" : [ ],
"name" : {
"fi" : "K"
},
"size" : 1,
"visibleByDefault" : true,
"includedInTargetCreditsCalculation" : true
} ]
} ],
"metadata" : null
}, {
"id" : "hy-2008",
"valid" : {
"startDate" : "2008-08-01",
"endDate" : "2030-08-01"
},
"org" : "hy-university-root-id",
"studyTerms" : [ {
"valid" : {
"startDate" : "2008-08-01",
"endDate" : "2009-01-01"
},
"name" : {
"en" : "autumn",
"fi" : "syksy",
"sv" : "hösten"
},
"studyPeriods" : [ {
"defaultValid" : {
"startDate" : "2008-08-01",
"endDate" : "2008-09-01"
},
"overrideValidities" : [ {
"startDate" : "2008-08-01",
"endDate" : "2008-09-01"
}, {
"startDate" : "2009-08-01",
"endDate" : "2009-09-07"
}, {
"startDate" : "2010-08-01",
"endDate" : "2010-09-06"
}, {
"startDate" : "2011-08-01",
"endDate" : "2011-09-05"
}, {
"startDate" : "2012-08-01",
"endDate" : "2012-09-03"
}, {
"startDate" : "2013-08-01",
"endDate" : "2013-09-02"
}, {
"startDate" : "2014-08-01",
"endDate" : "2014-09-01"
}, {
"startDate" : "2015-08-01",
"endDate" : "2015-08-31"
}, {
"startDate" : "2016-08-01",
"endDate" : "2016-09-05"
} ],
"name" : {
"en" : "summer",
"fi" : "kesä",
"sv" : "sommaren"
},
"size" : 1,
"visibleByDefault" : false,
"includedInTargetCreditsCalculation" : false
}, {
"defaultValid" : {
"startDate" : "2008-09-01",
"endDate" : "2008-11-01"
},
"overrideValidities" : [ {
"startDate" : "2008-09-01",
"endDate" : "2008-10-27"
}, {
"startDate" : "2009-09-07",
"endDate" : "2009-11-02"
}, {
"startDate" : "2010-09-06",
"endDate" : "2010-11-01"
}, {
"startDate" : "2011-09-05",
"endDate" : "2011-10-31"
}, {
"startDate" : "2012-09-03",
"endDate" : "2012-10-29"
}, {
"startDate" : "2013-09-02",
"endDate" : "2013-10-28"
}, {
"startDate" : "2014-09-01",
"endDate" : "2014-10-27"
}, {
"startDate" : "2015-08-31",
"endDate" : "2015-10-26"
}, {
"startDate" : "2016-09-05",
"endDate" : "2016-10-31"
} ],
"name" : {
"fi" : "I"
},
"size" : 2,
"visibleByDefault" : true,
"includedInTargetCreditsCalculation" : true
}, {
"defaultValid" : {
"startDate" : "2008-11-01",
"endDate" : "2009-01-01"
},
"overrideValidities" : [ {
"startDate" : "2008-10-27",
"endDate" : "2009-01-01"
}, {
"startDate" : "2009-11-02",
"endDate" : "2010-01-01"
}, {
"startDate" : "2010-11-01",
"endDate" : "2011-01-01"
}, {
"startDate" : "2011-10-31",
"endDate" : "2012-01-01"
}, {
"startDate" : "2012-10-29",
"endDate" : "2013-01-01"
}, {
"startDate" : "2013-10-28",
"endDate" : "2014-01-01"
}, {
"startDate" : "2014-10-27",
"endDate" : "2015-01-01"
}, {
"startDate" : "2015-10-26",
"endDate" : "2016-01-01"
}, {
"startDate" : "2016-10-31",
"endDate" : "2017-01-01"
} ],
"name" : {
"fi" : "II"
},
"size" : 2,
"visibleByDefault" : true,
"includedInTargetCreditsCalculation" : true
} ]
}, {
"valid" : {
"startDate" : "2009-01-01",
"endDate" : "2009-08-01"
},
"name" : {
"en" : "spring",
"fi" : "kevät",
"sv" : "våren"
},
"studyPeriods" : [ {
"defaultValid" : {
"startDate" : "2009-01-01",
"endDate" : "2009-03-01"
},
"overrideValidities" : [ {
"startDate" : "2009-01-01",
"endDate" : "2009-03-09"
}, {
"startDate" : "2010-01-01",
"endDate" : "2010-03-15"
}, {
"startDate" : "2011-01-01",
"endDate" : "2011-03-14"
}, {
"startDate" : "2012-01-01",
"endDate" : "2012-03-12"
}, {
"startDate" : "2013-01-01",
"endDate" : "2013-03-11"
}, {
"startDate" : "2014-01-01",
"endDate" : "2014-03-10"
}, {
"startDate" : "2015-01-01",
"endDate" : "2015-03-09"
}, {
"startDate" : "2016-01-01",
"endDate" : "2016-03-14"
}, {
"startDate" : "2017-01-01",
"endDate" : "2017-03-13"
} ],
"name" : {
"fi" : "III"
},
"size" : 2,
"visibleByDefault" : true,
"includedInTargetCreditsCalculation" : true
}, {
"defaultValid" : {
"startDate" : "2009-03-01",
"endDate" : "2009-05-15"
},
"overrideValidities" : [ {
"startDate" : "2009-03-09",
"endDate" : "2009-05-18"
}, {
"startDate" : "2010-03-15",
"endDate" : "2010-05-24"
}, {
"startDate" : "2011-03-14",
"endDate" : "2011-05-23"
}, {
"startDate" : "2012-03-12",
"endDate" : "2012-05-21"
}, {
"startDate" : "2013-03-11",
"endDate" : "2013-05-20"
}, {
"startDate" : "2014-03-10",
"endDate" : "2014-05-19"
}, {
"startDate" : "2015-03-09",
"endDate" : "2015-05-11"
}, {
"startDate" : "2016-03-14",
"endDate" : "2016-05-16"
}, {
"startDate" : "2017-03-13",
"endDate" : "2017-05-15"
} ],
"name" : {
"fi" : "IV"
},
"size" : 2,
"visibleByDefault" : true,
"includedInTargetCreditsCalculation" : true
}, {
"defaultValid" : {
"startDate" : "2009-05-15",
"endDate" : "2009-08-01"
},
"overrideValidities" : [ {
"startDate" : "2009-05-18",
"endDate" : "2009-08-01"
}, {
"startDate" : "2010-05-24",
"endDate" : "2010-08-01"
}, {
"startDate" : "2011-05-23",
"endDate" : "2011-08-01"
}, {
"startDate" : "2012-05-21",
"endDate" : "2012-08-01"
}, {
"startDate" : "2013-05-20",
"endDate" : "2013-08-01"
}, {
"startDate" : "2014-05-19",
"endDate" : "2014-08-01"
}, {
"startDate" : "2015-05-11",
"endDate" : "2015-08-01"
}, {
"startDate" : "2016-05-16",
"endDate" : "2016-08-01"
}, {
"startDate" : "2017-05-15",
"endDate" : "2017-08-01"
} ],
"name" : {
"en" : "summer",
"fi" : "kesä",
"sv" : "sommaren"
},
"size" : 1,
"visibleByDefault" : false,
"includedInTargetCreditsCalculation" : false
} ]
} ],
"metadata" : null
} ]
HTTP/1.1 200 OK
Export term registration requirements
GET /api/term-registration-requirements/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point. With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be consecutive. With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultTermRegistrationRequirements[ExportResultTermRegistrationRequirements] |
Samples
GET /api/term-registration-requirements/v1/export?sinceOrdinal=0&limit=5 HTTP/1.1
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 585
{
"greatestOrdinal" : 60579,
"hasMore" : false,
"entities" : [ {
"requirements" : [ {
"educationTypeUrn" : "urn:code:education-type:test",
"studentUnionMembershipFeeRequirement" : "POSSIBLE"
} ],
"documentState" : "ACTIVE",
"metadata" : {
"revision" : 1,
"createdBy" : "spectre.e",
"createdOn" : "2023-05-22T10:24:47.699063",
"lastModifiedBy" : "spectre.e",
"lastModifiedOn" : "2023-05-22T10:24:47.699225",
"modificationOrdinal" : 60579
},
"universityOrgId" : "the-spectre",
"id" : "the-spectre"
} ]
}
Import term registration requirements
POST /api/term-registration-requirements/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
TermRegistrationRequirements required |
List (TermRegistrationRequirements) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
Samples
POST /api/term-registration-requirements/v1/import HTTP/1.1
Content-Type: application/json
Content-Length: 261
Host: localhost:8080
[ {
"requirements" : [ {
"educationTypeUrn" : "urn:code:education-type:test",
"studentUnionMembershipFeeRequirement" : "POSSIBLE"
} ],
"documentState" : "ACTIVE",
"metadata" : null,
"universityOrgId" : "the-spectre",
"id" : "the-spectre"
} ]
HTTP/1.1 200 OK
Export timing templates
GET /api/timing-templates/v1/export
Entities can be exported in modification order based on one of two separate ways of specifying the starting point.With the 'since' parameter (recommended): an integer key (modification ordinal), which is different for every modification of the entity table. The ordinals are guaranteed to increase for each modification, but not guaranteed to be concecutive.With the 'sinceTime' parameter: an ISO-8601 timestamp. SinceTime is only supported for the case when the modification ordinal is not known by the exporter. In actual practice, if efficient export of all data is desired, the greatest modification ordinal from the previous export must be remembered and used as the since parameter for the next export. Both the since and sinceTime parameters are exclusive: if in one export you get the modification ordinals 3, 4 and 5, the next query should be export?since=5 and then you get the ordinals 6, 7, 8, etc.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return TimingTemplate modified after (exclusive comparison) this modification ordinal (increasing value within Kori). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return TimingTemplates modified after (exclusive comparison) this ISO-8601 time. Alternate parameter with since. This is the not recommended but sometimes necessary option. |
Date (date-time) |
2013-10-20T19:20:30+01:00 |
limit required |
Maximum number of TimingTemplates to return. May return less, either because there are not enough change items, or because of internal limits. If limit is higher than 10 000, returns only 10 000 items. |
Integer (int32) |
56 |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
ExportResultTimingTemplate[ExportResultTimingTemplate] |
Import timing templates
POST /api/timing-templates/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
TimingTemplate required |
List (TimingTemplate) |
Save university settings
POST /api/university-settings/v1
Because of the dynamic nature of the UniversitySettings object, please do the update by fetching and modifying the current settings
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
UniversitySettings required |
UniversitySettings (UniversitySettings) |
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
UniversitySettings[UniversitySettings] |
Samples
POST /api/university-settings/v1 HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 1071
Host: localhost:8080
{
"universityOrgId" : "the-spectre",
"messageSenderName" : null,
"openUniversitySettings" : null,
"defaultMunicipalityUrn" : "urn:code:municipality:405",
"feedbackLink" : "{ \"title\": { \"fi\": \"Anna palautetta\", \"en\": \"Give feedback\", \"sv\": \"Ge feedback\" }, \"url\": \"https://elomake.helsinki.fi/lomakkeet/50752/lomake.html\"}",
"universityNaviContentUrl" : "{ \"fi\": \"/student/universityNaviSample.html\", \"en\": \"/student/universityNaviSample.html\", \"sv\": \"/student/universityNaviSample.html\"}",
"registryDescriptionUrl" : "http://www.example.com",
"helpUrls" : "{ \"default\": \"https://www.example.com\", \"student\": \"https://www.example.com\", \"staff\": \"https://www.example.com\", \"teacher\": \"https://www.example.com\", \"tutor\": \"https://www.example.com\", \"admin\": \"https://www.example.com\"}",
"helpDeskLink" : "{ \"title\": { \"fi\": \"Helpdesk\", \"en\": \"Helpdesk\", \"sv\": \"Helpdesk\" }, \"url\": \"https://www.example.com\"}"
}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1071
{
"universityOrgId" : "the-spectre",
"messageSenderName" : null,
"openUniversitySettings" : null,
"defaultMunicipalityUrn" : "urn:code:municipality:405",
"feedbackLink" : "{ \"title\": { \"fi\": \"Anna palautetta\", \"en\": \"Give feedback\", \"sv\": \"Ge feedback\" }, \"url\": \"https://elomake.helsinki.fi/lomakkeet/50752/lomake.html\"}",
"universityNaviContentUrl" : "{ \"fi\": \"/student/universityNaviSample.html\", \"en\": \"/student/universityNaviSample.html\", \"sv\": \"/student/universityNaviSample.html\"}",
"registryDescriptionUrl" : "http://www.example.com",
"helpUrls" : "{ \"default\": \"https://www.example.com\", \"student\": \"https://www.example.com\", \"staff\": \"https://www.example.com\", \"teacher\": \"https://www.example.com\", \"tutor\": \"https://www.example.com\", \"admin\": \"https://www.example.com\"}",
"helpDeskLink" : "{ \"title\": { \"fi\": \"Helpdesk\", \"en\": \"Helpdesk\", \"sv\": \"Helpdesk\" }, \"url\": \"https://www.example.com\"}"
}
Get university settings
GET /api/university-settings/v1/{universityOrgId}
Fetch by university organisation id
Responses
Code | Message | Datatype |
---|---|---|
403 |
Authorization failed, access forbidden |
|
400 |
Bad request |
|
401 |
Authentication required |
|
422 |
Validation failed |
|
200 |
OK |
UniversitySettings[UniversitySettings] |
Samples
GET /api/university-settings/v1/the-spectre HTTP/1.1
Accept: application/json
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1071
{
"universityOrgId" : "the-spectre",
"messageSenderName" : null,
"openUniversitySettings" : null,
"defaultMunicipalityUrn" : "urn:code:municipality:405",
"feedbackLink" : "{ \"title\": { \"fi\": \"Anna palautetta\", \"en\": \"Give feedback\", \"sv\": \"Ge feedback\" }, \"url\": \"https://elomake.helsinki.fi/lomakkeet/50752/lomake.html\"}",
"universityNaviContentUrl" : "{ \"fi\": \"/student/universityNaviSample.html\", \"en\": \"/student/universityNaviSample.html\", \"sv\": \"/student/universityNaviSample.html\"}",
"registryDescriptionUrl" : "http://www.example.com",
"helpUrls" : "{ \"default\": \"https://www.example.com\", \"student\": \"https://www.example.com\", \"staff\": \"https://www.example.com\", \"teacher\": \"https://www.example.com\", \"tutor\": \"https://www.example.com\", \"admin\": \"https://www.example.com\"}",
"helpDeskLink" : "{ \"title\": { \"fi\": \"Helpdesk\", \"en\": \"Helpdesk\", \"sv\": \"Helpdesk\" }, \"url\": \"https://www.example.com\"}"
}
Models
AbstractPersonRule
Abstract supertype of person rules used as either requirement rules, that must all evaluate to true for a person's enrolment to be accepted, or ordering rules that are used to determine order of precedence for enrolments, in which they are selected and allocated into study sub groups.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
type required |
Person rule type |
null |
Address
Represents addresses for physical locations
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
countryUrn required |
Represents Uniform Resource Names for country names. Supported values available here |
UrnCode(namespace = urn:code:country, onlySyntax = false) |
urn:code:country:* |
|
isUserEditable optional |
Set to false to prevent address from being edited in the user interface. |
null |
||
type required |
Address type, either GenericAddress or FinnishAttainment |
null |
AdmissionTarget
Admission target indicates what studies a new student is admitted to.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
id required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
universityOrgId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
code required |
Code that identifies this admission target in OILI documents (Hakukohdekoodi) |
NotNull |
null |
|
description optional |
null |
|||
studyRightConfirmationType optional |
Indicates whether study right confirmation for admission target can be made automatically or does it require manual confirmation |
[String] enum AUTOMATIC, MANUAL, |
null |
AnyCourseUnitRule
Accepts any course rule selection. TODO: in the future will be extended with tag-based limitations
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
localId optional |
Unique identifier within some local context. Context must be defined in use site api documentation. Allowable values are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. |
otm-123456 |
||
type required |
null |
AnyModuleRule
Accepts any module selection. TODO: will be extended to support tag-based limitation
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
localId optional |
Unique identifier within some local context. Context must be defined in use site api documentation. Allowable values are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. |
otm-123456 |
||
type required |
null |
AssessmentItem
Represents an abstract, re-occurring exam, lecture course, etc. that the student can pass and get graded for. CourseUnitRealisations are concrete implementations of these.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
id required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
universityOrgIds required |
Ids of the home/owner universities for the object. Affects search results, visibility and access rights. If omitted during import, the system automatically sets this to a value corresponding to the university ID of the integration account used in the import. If set during import, must contain the id of the university ID of the integration account. |
NotEmpty |
Set of [string] |
null |
credits required |
null |
|||
name required |
null |
|||
nameSpecifier optional |
null |
|||
gradeScaleId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull [Draft, Active, Deleted, Legacy] |
otm-123456 |
|
possibleAttainmentLanguages optional |
Defines the attainment languages possible for attainments of this assessment item |
UrnCode(namespace = urn:code:language, onlySyntax = false) |
Set of [string] |
null |
assessmentItemType required |
Supported values available here |
NotNull [Draft, Active, Deleted, Legacy] |
urn:code:assessment-item-type:* |
|
contentDescription optional |
null |
|||
studyFormat optional |
null |
|||
grading optional |
null |
|||
learningMaterial optional |
null |
|||
literature optional |
Structured version of learning material used |
Size(max = 200, min = 0) |
null |
|
studyField optional |
Supported values available here |
UrnCode(namespace = urn:code:study-field, onlySyntax = false) |
urn:code:study-field:* |
|
subject optional |
Supported values available here |
UrnCode(namespace = urn:code:subject, onlySyntax = false) |
urn:code:subject:* |
|
snapshotDateTime optional |
Start of validity for the snapshot. End of validity is defined by the snapshotDateTime of a possible later snapshot. Defaults to null i.e. valid from the beginning of time |
[Date] date-time |
null |
|
responsibilityInfos optional |
Persons and roles responsible for this in various ways and fractions |
Size(max = 200, min = 0) |
null |
|
organisations required |
Organisations responsible for this in various ways and fractions |
NotEmpty |
Set of OrganisationRoleShare |
null |
primaryCourseUnitGroupId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
cooperationNetworkDetails optional |
null |
AttainedCreditRangeRule
Evaluates to true if student has attained credits in plan for the degree programme with selected type and education selected in the rule
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
type required |
Person rule type |
null |
||
educationIds required |
Optional restriction for educations that are taken into account when calculating credits. If empty, then active study rights for all educations are taken into account. |
Set of [string] |
null |
|
degreeProgramTypeUrn optional |
Supported values available here |
urn:code:degree-program-type:* |
||
creditRange required |
null |
AttainedCreditRangeRuleAllOf
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
educationIds optional |
Optional restriction for educations that are taken into account when calculating credits. If empty, then active study rights for all educations are taken into account. |
Set of [string] |
null |
|
degreeProgramTypeUrn optional |
Supported values available here |
urn:code:degree-program-type:* |
||
creditRange optional |
null |
Building
A building in which Locations of StudyEvents can be
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
id required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
universityOrgIds required |
Ids of the home/owner universities for the object. Affects search results, visibility and access rights. If omitted during import, the system automatically sets this to a value corresponding to the university ID of the integration account used in the import. If set during import, must contain the id of the university ID of the integration account. |
NotEmpty |
Set of [string] |
null |
name required |
null |
|||
address required |
NotNull |
null |
BuildingAddress
NotNull
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
countryUrn required |
Represents Uniform Resource Names for country names. Supported values available here |
UrnCode(namespace = urn:code:country, onlySyntax = false) |
urn:code:country:* |
|
isUserEditable optional |
Set to false to prevent address from being edited in the user interface. |
null |
||
type required |
Address type, either GenericAddress or FinnishAttainment |
null |
||
streetAddress optional |
Street address part of the address |
null |
||
postalCode optional |
Postal code of the address |
null |
||
city optional |
City of the address |
null |
||
address optional |
The whole address excluding the country |
null |
Code
Represents single code within codebook
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
name required |
null |
|||
shortName optional |
null |
|||
urn required |
Uniform Resource Name for the code, used when referring to this code |
NotNull |
null |
|
parentUrn optional |
In case of a hierarchical code book, the uniform Resource Name for the parent code, used when referring to this code. Deprecated. Use hierarchical URN values. |
UrnCode(namespace = , onlySyntax = true) |
null |
|
isLeafNode optional |
True, if the code is a leaf node in a hierarchical code book, or a code in a non hierarchical code book. Deprecated. Use hierarchical URN values. |
null |
||
universitySpecifier optional |
In case of a codebook has multiple urn code-names with same value, this will identify urns to be uni specific e.g: 'HY, 'JY''. Atm used when selecting code in 'codeSelectEditor.component' |
[String] enum HY, JYU, LUT, TUNI, AALTO, ARC, SHH, |
null |
|
deprecated optional |
If the code value has been deprecated this is set to true. Should be null otherwise. Deprecated values can exist in code selections, but they can not be selected again. |
null |
||
type required |
null |
CodeBook
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
urn required |
Uniform resource name for this code book |
NotNull |
null |
|
codeBookType optional |
Code books use CodeBookState to separate custom codebooks from common codebooks. |
[String] enum COMMON, CUSTOM, |
null |
|
name required |
null |
|||
classificationScopeUrns optional |
Scopes where this classification should be used |
Size(max = 20, min = 0) |
Set of [string] |
null |
universityOrgIds required |
Id of the university that owns this codebook. |
Set of [string] |
null |
|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
codes required |
Codes included in this codebook. |
List of [CodeBook_codes_inner] |
null |
CodeBookCodesInner
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
name required |
null |
|||
shortName optional |
null |
|||
urn required |
Uniform Resource Name for the code, used when referring to this code |
NotNull |
null |
|
parentUrn optional |
In case of a hierarchical code book, the uniform Resource Name for the parent code, used when referring to this code. Deprecated. Use hierarchical URN values. |
UrnCode(namespace = , onlySyntax = true) |
null |
|
isLeafNode optional |
True, if the code is a leaf node in a hierarchical code book, or a code in a non hierarchical code book. Deprecated. Use hierarchical URN values. |
null |
||
universitySpecifier optional |
In case of a codebook has multiple urn code-names with same value, this will identify urns to be uni specific e.g: 'HY, 'JY''. Atm used when selecting code in 'codeSelectEditor.component' |
[String] enum HY, JYU, LUT, TUNI, AALTO, ARC, SHH, |
null |
|
deprecated optional |
If the code value has been deprecated this is set to true. Should be null otherwise. Deprecated values can exist in code selections, but they can not be selected again. |
null |
||
type required |
null |
|||
credits optional |
The credits associated with this competency code. |
[Integer] int32 |
null |
|
numeric optional |
The ISO 3166 numeric code associated with this country code. |
null |
||
alpha2 optional |
The ISO 3166 alpha2 code |
null |
CodeUniversityUsage
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
codesInUse required |
Codes used in this university |
UrnCode(namespace = , onlySyntax = true) |
Set of [string] |
null |
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
universityOrgId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
OrganisationId |
otm-123456 |
|
id optional |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
otm-123456 |
CompetencyCode
Represents single competency code within codebook
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
name required |
null |
|||
shortName optional |
null |
|||
urn required |
Uniform Resource Name for the code, used when referring to this code |
NotNull |
null |
|
parentUrn optional |
In case of a hierarchical code book, the uniform Resource Name for the parent code, used when referring to this code. Deprecated. Use hierarchical URN values. |
UrnCode(namespace = , onlySyntax = true) |
null |
|
isLeafNode optional |
True, if the code is a leaf node in a hierarchical code book, or a code in a non hierarchical code book. Deprecated. Use hierarchical URN values. |
null |
||
universitySpecifier optional |
In case of a codebook has multiple urn code-names with same value, this will identify urns to be uni specific e.g: 'HY, 'JY''. Atm used when selecting code in 'codeSelectEditor.component' |
[String] enum HY, JYU, LUT, TUNI, AALTO, ARC, SHH, |
null |
|
deprecated optional |
If the code value has been deprecated this is set to true. Should be null otherwise. Deprecated values can exist in code selections, but they can not be selected again. |
null |
||
type required |
null |
|||
credits optional |
The credits associated with this competency code. |
[Integer] int32 |
null |
CompetencyCodeAllOf
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
credits optional |
The credits associated with this competency code. |
[Integer] int32 |
null |
CompletionMethod
A way to attain a course unit, based on attainments of assessment items
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
localId required |
Unique identifier within some local context. Context must be defined in use site api documentation. Allowable values are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. |
NotNull |
otm-123456 |
|
description optional |
null |
|||
studyType required |
Type of studies, ie Degree Studies vs Open University Studies |
NotNull |
[String] enum DEGREE_STUDIES, OPEN_UNIVERSITY_STUDIES, SEPARATE_STUDIES, |
null |
assessmentItemOptionalityDescription optional |
null |
|||
automaticEvaluation optional |
Is the system allowed to automatically evaluate the course unit based on the attainments of the assessment items when the criteria defined by the 'require' field are met. Defaults to false, meaning manual evaluation is required. |
null |
||
require optional |
null |
|||
typeOfRequire required |
Possible value for CompletionMethod assessmentItem requireType |
NotNull [Active] |
[String] enum OPTIONAL_WITH_REQUIRE_RANGE, OPTIONAL_WITH_DESCRIPTION, ALL_SELECTED_REQUIRED, |
null |
assessmentItemIds required |
The set of ids of assessment items whose attainments can be used to constitute a course unit attainment via this completion method |
Size(max = 200, min = 0) |
List of [string] |
null |
repeats optional |
List of completion method repeat information, each of which has a validity period (of study years) and a list of study period locators. |
ContainsNoNulls |
List of CompletionMethodRepeat |
null |
evaluationCriteria optional |
null |
|||
prerequisites optional |
null |
CompletionMethodRepeat
Description of one (of possibly many simultaneously existing) repeat mechanisms for a completion method
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
studyYearRange required |
FieldsOrdered(allowEqual = false, greaterField = end, lesserField = start) |
null |
||
yearInterval optional |
Optional year repeat information, for the case where the possibility does not repeat every year.If given, number of years between repeats. The first year in which it occurs is studyYearRange.start. |
Min(value = 1) |
[Integer] int32 |
null |
repeatPossibility required |
A single repeat possibility, which is a list of study period templates in which the repeat occurs |
StudyPeriodTemplateId |
List of [string] |
null |
CompositeRule
Contains one or more child rules, out of which a specified (range of) number must match
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
localId optional |
Unique identifier within some local context. Context must be defined in use site api documentation. Allowable values are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. |
otm-123456 |
||
type required |
null |
|||
rules required |
Child rules. For legacy and draft, empty list is alowed |
List of Rule |
null |
|
require optional |
null |
|||
description optional |
null |
|||
allMandatory optional |
null |
CompositeRuleAllOf
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
rules optional |
Child rules. For legacy and draft, empty list is alowed |
List of Rule |
null |
|
require optional |
null |
|||
description optional |
null |
|||
allMandatory optional |
null |
CompulsoryFormalPrerequisitesRule
Evaluates to true if student has valid attainments for compulsory formal prerequisites for the course unit selected in the enrolment
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
type required |
Person rule type |
null |
ContentFilter
Content filters for module
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
studyRightSelectionType optional |
Study right selection type |
[String] enum urn:code:study-right-selection-type:minor-study-right, urn:code:study-right-selection-type:open-university-course-unit, urn:code:study-right-selection-type:separate-studies-module, urn:code:study-right-selection-type:separate-studies-course-unit, urn:code:study-right-selection-type:none, |
null |
CooperationNetwork
RIPA co-operation network for universities. This data is fetched from external RIPA system and should not be edited in SISU.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
id required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
networkId optional |
External (RIPA) id of the co-operation network |
null |
||
name optional |
null |
|||
abbreviation optional |
Abbreviation of the co-operation network |
null |
||
validityPeriod optional |
FieldsOrdered(allowEqual = false, greaterField = endDateTime, lesserField = startDateTime) |
null |
||
organisations optional |
Describes organisations that are part of this co-operation network |
null |
CooperationNetworkDetails
Co-operation network details for entities that are created or targeted through RIPA to cooperation network universities
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
direction required |
Cooperation network direction seen from SISU |
NotNull |
[String] enum INBOUND, OUTBOUND, NONE, |
null |
cooperationNetworkShares optional |
Set of CooperationNetworkShare |
null |
||
externalId required |
External (RIPA) identifier of the entity. |
NotNull |
null |
|
networks required |
Co-operation networks this entity is part of |
ContainsNoNulls |
Set of CooperationNetworkShare |
null |
CooperationNetworkIdentifiers
Co-operation network identifiers for organisations that are related to RIPA
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
direction required |
Cooperation network direction seen from SISU |
NotNull |
[String] enum INBOUND, OUTBOUND, NONE, |
null |
organisationTkCode required |
External (RIPA) reference to organisation TK code. This should always match the last part of educational institution urn but that is not always true, so TK code is also stored here |
NotNull |
null |
CooperationNetworkOrganisation
Describes organisation of a RIPA co-operation network. This data is fetched from external RIPA system and should not be edited in SISU.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
organisationTkCode required |
External (RIPA) reference to organisation TK code. |
NotNull |
null |
|
roleUrn required |
Represents Uniform Resource Names for roles of organisations in learning opportunities. Supported values available here |
NotNull |
urn:code:organisation-role:* |
|
validityPeriod optional |
FieldsOrdered(allowEqual = false, greaterField = endDateTime, lesserField = startDateTime) |
null |
CooperationNetworkSettings
RIPA co-operation network settings for a university.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
id required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
universityOrgId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
OrganisationId |
otm-123456 |
|
cooperationNetworkId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
CooperationNetworkId |
otm-123456 |
|
homeUniversitySettings optional |
null |
|||
hostUniversitySettings optional |
null |
CooperationNetworkShare
References cooperation network with validity period. Studies, course units or course unit realisations may be shared through a cooperation network with universities belonging to the network
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
cooperationNetworkId optional |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
otm-123456 |
||
validityPeriod optional |
FieldsOrdered(allowEqual = false, greaterField = endDate, lesserField = startDate) |
null |
CountryCode
Represents a single country code within a codebook.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
name required |
null |
|||
shortName optional |
null |
|||
urn required |
Uniform Resource Name for the code, used when referring to this code |
NotNull |
null |
|
parentUrn optional |
In case of a hierarchical code book, the uniform Resource Name for the parent code, used when referring to this code. Deprecated. Use hierarchical URN values. |
UrnCode(namespace = , onlySyntax = true) |
null |
|
isLeafNode optional |
True, if the code is a leaf node in a hierarchical code book, or a code in a non hierarchical code book. Deprecated. Use hierarchical URN values. |
null |
||
universitySpecifier optional |
In case of a codebook has multiple urn code-names with same value, this will identify urns to be uni specific e.g: 'HY, 'JY''. Atm used when selecting code in 'codeSelectEditor.component' |
[String] enum HY, JYU, LUT, TUNI, AALTO, ARC, SHH, |
null |
|
deprecated optional |
If the code value has been deprecated this is set to true. Should be null otherwise. Deprecated values can exist in code selections, but they can not be selected again. |
null |
||
type required |
null |
|||
numeric optional |
The ISO 3166 numeric code associated with this country code. |
null |
||
alpha2 optional |
The ISO 3166 alpha2 code |
null |
CountryCodeAllOf
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
numeric optional |
The ISO 3166 numeric code associated with this country code. |
null |
||
alpha2 optional |
The ISO 3166 alpha2 code |
null |
CourseUnit
A course unit (opintojakso) is the lowest level learning target in a degree structure. An example would be 'Introduction to Biology I'. It can possibly be completed in several different ways. See completion method.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
id required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
universityOrgIds required |
Ids of the home/owner universities for the object. Affects search results, visibility and access rights. If omitted during import, the system automatically sets this to a value corresponding to the university ID of the integration account used in the import. If set during import, must contain the id of the university ID of the integration account. |
NotEmpty |
Set of [string] |
null |
groupId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
approvalState required |
Approval State describes the state of the approval process for the object. Note that approval state has no effect on visibility; DocumentState dictates whether the document is published and visible to public e.g. students. |
NotNull |
[String] enum urn:code:approval-state-type:not-ready, urn:code:approval-state-type:ready-for-approval, urn:code:approval-state-type:not-approved, urn:code:approval-state-type:approved, |
null |
credits required |
null |
|||
completionMethods optional |
The possible completion methods of this course unit. (missing if under construction) |
ContainsNoNulls |
List of CompletionMethod |
null |
assessmentItemOrder optional |
Order for completion methods assessment items. |
AssessmentItemId |
Set of [string] |
null |
substitutions optional |
Alternative ways of reaching the goals of this course unit. |
ContainsNoNulls |
Set of [set] |
null |
name required |
null |
|||
code required |
This code is shown to the user in the user interface. Code is shown in the transcript. Course units with same codes must have the same group id. |
NotEmpty [Active] |
null |
|
abbreviation optional |
This is shown to the user in the user interface, but is not used internally as an identifier. |
Size(max = 100, min = 1) |
null |
|
validityPeriod required |
FieldsOrdered(allowEqual = false, greaterField = endDate, lesserField = startDate) |
null |
||
gradeScaleId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull [Active] |
otm-123456 |
|
tweetText optional |
null |
|||
outcomes optional |
null |
|||
prerequisites optional |
null |
|||
content optional |
null |
|||
additional optional |
null |
|||
learningMaterial optional |
null |
|||
literature optional |
Structured version of learning material used |
ContainsNoNulls |
null |
|
searchTags optional |
Tags for use in user searches |
ContainsNoNulls |
Set of [string] |
null |
categoryTags optional |
Structural tags selected from a configurable set |
UrnCode(namespace = urn:code:category-tag, onlySyntax = false) |
Set of [string] |
null |
recommendedFormalPrerequisites optional |
List of Prerequisite groups which are recommended formal prerequisites. |
ContainsNoNulls |
List of PrerequisiteGroup |
null |
compulsoryFormalPrerequisites optional |
List of Prerequisite groups which are compulsory formal prerequisites. |
ContainsNoNulls |
List of PrerequisiteGroup |
null |
studyFields required |
Study field is for classification. There may be several. "koulutusala" |
NotEmpty [Active] |
Set of [string] |
null |
studyLevel required |
Supported values available here |
UrnCode(namespace = urn:code:study-level, onlySyntax = false) |
urn:code:study-level:* |
|
courseUnitType required |
Supported values available here |
UrnCode(namespace = urn:code:course-unit-type, onlySyntax = false) |
urn:code:course-unit-type:* |
|
subject optional |
Supported values available here |
UrnCode(namespace = urn:code:subject, onlySyntax = false) |
urn:code:subject:* |
|
cefrLevel optional |
Supported values available here |
UrnCode(namespace = urn:code:cefr-level, onlySyntax = false) |
urn:code:cefr-level:* |
|
responsibilityInfos required |
Persons and roles responsible for this in various ways and fractions |
NotEmpty [Active] |
null |
|
organisations required |
Organisations responsible for this in various ways and fractions. Each organisation must be one of the home/root universities (universityOrgIds) or a descendant of one. |
NotEmpty [Active] |
Set of OrganisationRoleShare |
null |
possibleAttainmentLanguages required |
Defines the attainment languages possible for attainments of this course unit |
UrnCode(namespace = urn:code:language, onlySyntax = false) |
Set of [string] |
null |
equivalentCoursesInfo optional |
null |
|||
curriculumPeriodIds required |
Curriculum periods to which this course unit belongs. |
NotEmpty [Legacy, Active, Draft, Deleted] |
List of [string] |
null |
customCodeUrns optional |
Values for university-specific custom code books |
Size(max = 200, min = 0) |
Map of [array] |
null |
inclusionApplicationInstruction optional |
null |
|||
cooperationNetworkDetails optional |
null |
|||
s2r2Classification optional |
Supported values available here |
UrnCode(namespace = urn:code:s2r2-classification, onlySyntax = false) |
urn:code:s2r2-classification:* |
CourseUnitCountRule
Accepts a selection (recursively downwards) of a number of course units, which falls inside a range.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
localId optional |
Unique identifier within some local context. Context must be defined in use site api documentation. Allowable values are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. |
otm-123456 |
||
type required |
null |
|||
rule required |
null |
|||
count required |
null |
CourseUnitCountRuleAllOf
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
rule optional |
null |
|||
count optional |
null |
CourseUnitInPrimaryPlanRule
Evaluates to true if student has the course unit selected in the enrolment in a primary plan
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
type required |
Person rule type |
null |
CourseUnitLiteratureInner
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
localId required |
Unique identifier within some local context. Context must be defined in use site api documentation. Allowable values are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. |
NotNull |
otm-123456 |
|
type required |
null |
|||
name required |
The name |
null |
||
url required |
The url |
null |
CourseUnitPrerequisite
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
type required |
Message type |
null |
||
courseUnitGroupId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
otm-123456 |
CourseUnitPrerequisiteAllOf
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
courseUnitGroupId optional |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
otm-123456 |
CourseUnitRealisation
A CourseUnitRealisation is a concrete implementation of an assessment item. An example would be 'Biologian perusteet syksyllä 2014'. It may belong to more than one AssessmentItem, because sometimes one lecture series (CUR) can fulfill more than one
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
id required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
universityOrgIds required |
Ids of the home/owner universities for the object. Affects search results, visibility and access rights. If omitted during import, the system automatically sets this to a value corresponding to the university ID of the integration account used in the import. If set during import, must contain the id of the university ID of the integration account. |
NotEmpty |
Set of [string] |
null |
flowState required |
Course unit realisation uses FlowState (also open university products use both flowState and documentState), because CURs do not have an approval process but still require a state to indicate whether they are being defined, are ready, or cancelled. Only certain FlowState/DocumentState combinations are allowed, but that is not enforced. FlowState together with DocumentState, activityPeriod and publishDate affect how CURs can be fetched by ID or searched by staff and students. I would write a description about that here if I knew how it really worked. |
NotNull [Active, External] |
[String] enum NOT_READY, PUBLISHED, CANCELLED, ARCHIVED, |
null |
massExamSessionId optional |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
otm-123456 |
||
massExamSessionName optional |
null |
|||
name required |
null |
|||
nameSpecifier required |
null |
|||
assessmentItemIds required |
Ids of all assessment items this realisation is a realisation of |
NotEmpty [Active] |
Set of [string] |
null |
tweetText optional |
null |
|||
literature optional |
Structured version of learning material used |
Size(max = 200, min = 0) |
null |
|
learningMaterial optional |
null |
|||
learningEnvironmentDescription optional |
null |
|||
learningEnvironments optional |
Links to electronic learning environments. |
Size(max = 20, min = 0) |
List of LearningEnvironmentUrl |
null |
studyFormat optional |
null |
|||
additionalInfo optional |
null |
|||
publishDate required |
Publish date |
NotNull [Active] |
[date] date |
null |
activityPeriod required |
FieldsOrdered(allowEqual = false, greaterField = endDate, lesserField = startDate) |
null |
||
teachingLanguageUrn optional |
Represents Uniform Resource Names for languages. Supported values available here |
UrnCode(namespace = urn:code:language, onlySyntax = false) |
urn:code:language:* |
|
courseUnitRealisationTypeUrn required |
Represents Uniform Resource Names for course unit realisation types. Supported values available here |
NotNull [Active] |
urn:code:course-unit-realisation-type:* |
|
studyGroupSets required |
Study group sets. When enrolling to a course unit realisation, user must choose one or more study sub groups as specified in the study group sets. Validations are defined in ValidatableStudyGroupSets.class |
List of StudyGroupSet |
null |
|
responsibilityInfos required |
Persons and roles responsible for this in various ways |
Size(max = 200, min = 0) |
Set of PersonWithCourseUnitRealisationResponsibilityInfoType |
null |
organisations required |
Organisations responsible for this in various ways and fractions. Each organisation must be one of the home/root universities (universityOrgIds) or a descendant of one. |
NotEmpty [Active] |
Set of OrganisationRoleShare |
null |
enrolmentPeriod optional |
FieldsOrdered(allowEqual = false, greaterField = endDateTime, lesserField = startDateTime) |
null |
||
lateEnrolmentEnd optional |
Date and time after the primary enrolment when student may do late enrolment. If non-null, enrolling to a course unit realisation is open again after enrolment calculation results have been confirmed until this date and time. |
[Date] date-time |
null |
|
enrolmentAdditionalCancellationEnd optional |
Additional cancellation date and time. In any case student may cancel enrolment during the enrolment period. Additionally, if this value is non-null, student may cancel their enrolment after calculation results have been confirmed until this date and time |
[Date] date-time |
null |
|
externalEnrolmentLink optional |
null |
|||
usesExternalEnrolment optional |
Flag indicating if enrolments are handled in an external system. |
null |
||
customCodeUrns optional |
Values for university-specific custom code books |
Size(max = 200, min = 0) |
Map of [array] |
null |
continuousEnrolment optional |
Enables continuous enrolment when set to true |
null |
||
externalStructureLink optional |
null |
|||
usesExternalStructure optional |
Flag indicating if structure is handled in an external system. |
null |
||
confirmedStudySubGroupModificationAllowed optional |
Flag indicating if study subgroup modifications are allowed |
null |
||
confirmedStudySubGroupModificationEnd optional |
Date when confirmed study subgroup modification time ends |
[Date] date-time |
null |
|
cooperationNetworkDetails optional |
null |
CourseUnitRule
Accepts a selection of a course unit within the given group.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
localId optional |
Unique identifier within some local context. Context must be defined in use site api documentation. Allowable values are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. |
otm-123456 |
||
type required |
null |
|||
courseUnitGroupId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
otm-123456 |
CourseUnitSubstitution
A single substituting course unit and its credit share in substitution.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
courseUnitGroupId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
credits optional |
How many credits from the substituting course units are used. If null, all credits are used. |
Min(value = 1) |
null |
CourseUnitTiming
The selections where a certain course unit (group) is placed on the time line.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
plannedPeriods required |
A set of periods a course unit (group) is planned to. |
Set of [string] |
null |
|
courseUnitGroupId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
CourseUnitGroupId |
otm-123456 |
CreditRange
Range of acceptable credit values. Leaving max unspecified indicates an upwards unbound range.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
min required |
minimum acceptable value |
NotNull |
null |
|
max optional |
maximum acceptable value |
null |
CreditsRule
Accepts a selection (recursively downwards) whose sum of credits is within the range given.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
localId optional |
Unique identifier within some local context. Context must be defined in use site api documentation. Allowable values are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. |
otm-123456 |
||
type required |
null |
|||
rule required |
null |
|||
credits required |
null |
CreditsRuleAllOf
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
rule optional |
null |
|||
credits optional |
null |
CurriculumPeriod
A curriculum period (opetussuunnitelmakausi) is a period during which the studies (Degree Programmes, Study Modules, and Course Units) are planned by the personnel.
Any given CurriculumPeriod's validity range must be contained in its entirety in the validity range of a single StudyYearTemplate belonging to the same university as the CurriculumPeriod. A generated StudyYear, on the other hand, must be contained in a single CurriculumPeriod. (Which means that a CurriculumPeriod can be a single StudyYear, an entire StudyYearTemplate, or anything in between.)
LocalizedFieldLangs(allLangsField = name, subsetLangsField = abbreviation) [Active]
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
id required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
universityOrgId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
name required |
null |
|||
abbreviation required |
null |
|||
activePeriod required |
FieldsOrdered(allowEqual = false, greaterField = endDate, lesserField = startDate) |
null |
DegreeProgramme
Degree programme
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
id required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
universityOrgIds required |
Ids of the home/owner universities for the object. Affects search results, visibility and access rights. If omitted during import, the system automatically sets this to a value corresponding to the university ID of the integration account used in the import. If set during import, must contain the id of the university ID of the integration account. |
NotEmpty |
Set of [string] |
null |
groupId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
name required |
null |
|||
moduleContentApprovalRequired optional |
Flag for setting this module as always requiring Module Content Approval. If required, Module Content Approval can be applied when the contents of the Module is set by the rules. Student can also apply for Module Content Approval when the contents is not by the rules using Free edit mode. |
null |
||
code required |
This code is shown to the user in the user interface. Possibly shown in the transcript. Modules with same codes must have the same group id. |
null |
||
curriculumPeriodIds required |
IDs of the curriculum periods to which this study module or degree programme belongs to. |
List of [string] |
null |
|
type required |
One of Education, DegreeProgramme, StudyModule, or GroupingModule |
null |
||
rule required |
null |
|||
targetCredits required |
null |
|||
approvalState required |
Approval State describes the state of the approval process for the object. Note that approval state has no effect on visibility; DocumentState dictates whether the document is published and visible to public e.g. students. |
[String] enum urn:code:approval-state-type:not-ready, urn:code:approval-state-type:ready-for-approval, urn:code:approval-state-type:not-approved, urn:code:approval-state-type:approved, |
null |
|
validityPeriod required |
FieldsOrdered(allowEqual = false, greaterField = endDate, lesserField = startDate) |
null |
||
contentDescription optional |
null |
|||
additionalInfo optional |
null |
|||
responsibilityInfos required |
Persons or roles in a responsibility relation to this module ("vastuuopettaja" & "yhteydenotot") |
null |
||
organisations required |
Organisations in some relation to this module ("vastuuorganisaatiot"). Each organisation must be one of the home/root universities (universityOrgIds) or a descendant of one. |
Set of OrganisationRoleShare |
null |
|
inclusionApplicationInstruction optional |
null |
|||
tweetText optional |
null |
|||
degreeProgramTypeUrn required |
Supported values available here |
urn:code:degree-program-type:* |
||
degreeTitleUrns required |
Degree titles. |
Set of [string] |
null |
|
degreeLanguageUrns required |
In which languages the degree programme is possible to attain. |
Set of [string] |
null |
|
studyFields optional |
Study field is for classification. There may be several. "koulutusala" |
Set of [string] |
null |
|
educationClassificationUrns required |
Education classifications ("koulutusluokitus") are used for classification |
Set of [string] |
null |
|
educationLocationUrns required |
Municipalities where the education takes place |
Set of [string] |
null |
|
gradeScaleId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
otm-123456 |
||
customCodeUrns optional |
Values for university-specific custom code books |
Map of [array] |
null |
|
learningOutcomes optional |
null |
|||
tuitionFee optional |
The yearly tuition fee that must be paid by students with a tuition fee obligation |
null |
DegreeProgrammeAllOf
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
code optional |
This code is shown to the user in the user interface. Possibly shown in the transcript. Modules with same codes must have the same group id. |
null |
||
targetCredits optional |
null |
|||
curriculumPeriodIds optional |
IDs of the curriculum periods to which this study module or degree programme belongs to. |
List of [string] |
null |
|
approvalState optional |
Approval State describes the state of the approval process for the object. Note that approval state has no effect on visibility; DocumentState dictates whether the document is published and visible to public e.g. students. |
[String] enum urn:code:approval-state-type:not-ready, urn:code:approval-state-type:ready-for-approval, urn:code:approval-state-type:not-approved, urn:code:approval-state-type:approved, |
null |
|
validityPeriod optional |
FieldsOrdered(allowEqual = false, greaterField = endDate, lesserField = startDate) |
null |
||
contentDescription optional |
null |
|||
additionalInfo optional |
null |
|||
responsibilityInfos optional |
Persons or roles in a responsibility relation to this module ("vastuuopettaja" & "yhteydenotot") |
null |
||
organisations optional |
Organisations in some relation to this module ("vastuuorganisaatiot"). Each organisation must be one of the home/root universities (universityOrgIds) or a descendant of one. |
Set of OrganisationRoleShare |
null |
|
inclusionApplicationInstruction optional |
null |
|||
tweetText optional |
null |
|||
degreeProgramTypeUrn optional |
Supported values available here |
urn:code:degree-program-type:* |
||
degreeTitleUrns optional |
Degree titles. |
Set of [string] |
null |
|
degreeLanguageUrns optional |
In which languages the degree programme is possible to attain. |
Set of [string] |
null |
|
studyFields optional |
Study field is for classification. There may be several. "koulutusala" |
Set of [string] |
null |
|
educationClassificationUrns optional |
Education classifications ("koulutusluokitus") are used for classification |
Set of [string] |
null |
|
educationLocationUrns optional |
Municipalities where the education takes place |
Set of [string] |
null |
|
gradeScaleId optional |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
otm-123456 |
||
customCodeUrns optional |
Values for university-specific custom code books |
Map of [array] |
null |
|
learningOutcomes optional |
null |
|||
tuitionFee optional |
The yearly tuition fee that must be paid by students with a tuition fee obligation |
null |
DegreeProgrammeAttainmentApplicationQuestion
DegreeProgrammeAttainmentApplicationQuestionnaire represents questions for degree programme.One degree programme may have only one questionnaire.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
localId required |
Unique identifier within some local context. Context must be defined in use site api documentation. Allowable values are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. |
NotNull |
otm-123456 |
|
question required |
null |
|||
guidance optional |
null |
|||
required optional |
Is it required to answer this question |
null |
||
state required |
State of the question. ACTIVE questions are shown to students while ARCHIVED are not. |
NotNull |
[String] enum ACTIVE, ARCHIVED, |
null |
position optional |
The position of the question |
[Integer] int32 |
null |
DegreeProgrammeAttainmentApplicationQuestionnaire
DegreeProgrammeAttainmentApplicationQuestionnaire represents questions for degree programme attainment application.One degree programme may have only one questionnaire.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
degreeProgrammeId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
DegreeProgrammeId |
otm-123456 |
|
questions optional |
Questions to be asked during creation of degree programme attainment application. |
ContainsNoNulls |
null |
|
universityOrgIds required |
Ids of the home/owner universities for the object. Affects search results, visibility and access rights. If omitted during import, the system automatically sets this to a value corresponding to the university ID of the integration account used in the import. If set during import, must contain the id of the university ID of the integration account. |
NotEmpty |
Set of [string] |
null |
DeleteBatch
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
ids optional |
Set of [string] |
null |
||
groupIds optional |
Set of [string] |
null |
DisclosureAuthorizationCategory
Disclosure of personal information to third parties. Defines the textual content of the target which personal data is handed over to. Persons must accept the disclosure of personal information. If no authorization exists for certain category, it is not permitted to hand over personal data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
id required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
universityOrgId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
description required |
null |
|||
creationDate required |
Creation time of this authorization category |
NotNull |
[Date] date-time |
null |
archivalDate optional |
Archival date of this authorization category |
[Date] date-time |
null |
Education
Education is the top level object in the study structure design. Education rule must not refer to degree programmes of types that conflict to the education structure rules inferred from the education type.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
id required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
universityOrgIds required |
Ids of the home/owner universities for the object. Affects search results, visibility and access rights. If omitted during import, the system automatically sets this to a value corresponding to the university ID of the integration account used in the import. If set during import, must contain the id of the university ID of the integration account. |
NotEmpty |
Set of [string] |
null |
groupId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
name required |
null |
|||
validityPeriod required |
FieldsOrdered(allowEqual = false, greaterField = endDate, lesserField = startDate) |
null |
||
code required |
This code is shown to the user in the user interface. Educations with same code must have the same group id. |
NotNull [Active] |
null |
|
educationType required |
A hierarchical code set. Supported values are the leaf nodes in the file available here |
NotNull |
urn:code:education-type:* |
|
specialisationStudiesClassificationUrn optional |
Supported values available here |
UrnCode(namespace = urn:code:specialisation-studies-classification, onlySyntax = false) |
urn:code:specialisation-studies-classification:* |
|
studyFields required |
Study field is for classification. There may be several "koulutusala" |
NotEmpty [Active] |
Set of [string] |
null |
organisations required |
Organisations in some relation to this module "vastuuorganisaatiot". Each organisation must be one of the home/root universities (universityOrgIds) or a descendant of one. |
NotEmpty [Draft, Active] |
Set of OrganisationRoleShare |
null |
attainmentLanguages optional |
Languages in which it is possible to attain studies contained in this education |
Size(max = 20, min = 0) |
Set of [string] |
null |
educationLocationUrn optional |
Represents Uniform Resource Names for municipalities of Finland. Supported values available here |
UrnCode(namespace = urn:code:municipality, onlySyntax = false) |
urn:code:municipality:* |
|
outcomes optional |
null |
|||
responsibilityInfos required |
Persons or roles in a responsibility relation to this module "vastuuopettaja" & "yhteydenotot" |
Size(max = 200, min = 0) |
null |
|
structure required |
null |
|||
defaultStudyRightExpirationRulesUrn required |
Possible values for expiration rule (rajauslaki) of a study right. Supported values available here |
NotNull |
urn:code:study-right-expiration-rules:* |
|
defaultDecreeOnUniversityDegreesUrn required |
Possible values for the version of the decree on university degrees (tutkintoasetus) that a study right follows. Supported values available here |
NotNull |
urn:code:decree-on-university-degrees:* |
|
studyRightExtensionInstructions optional |
null |
|||
studySelectionRequirement required |
Study selection requirement provides information on person's enrolment rules. |
NotNull |
[String] enum UNRESTRICTED, SELECTION_REQUIRED, ENROLMENT_RIGHT_REQUIRED, |
null |
isMultiformEducation optional |
null |
|||
type required |
One of Education, DegreeProgramme, StudyModule, or GroupingModule |
null |
||
rule optional |
null |
EducationChildOption
Child level option on an education phase, under some top level option.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
localId required |
Unique identifier within some local context. Context must be defined in use site api documentation. Allowable values are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. |
NotNull |
otm-123456 |
|
moduleGroupId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
AttainableModuleGroupId |
otm-123456 |
|
acceptanceType required |
Is the selection of an option accepted by someone or automatic. |
NotNull [Active] |
[String] enum AUTOMATIC, ACCEPTED_BY_TEACHER, |
null |
degreeTitleUrn optional |
Supported values available here |
UrnCode(namespace = urn:code:degree-title, onlySyntax = false) |
urn:code:degree-title:* |
|
educationClassificationUrn optional |
Supported values available here |
UrnCode(namespace = urn:code:education-classification, onlySyntax = false) |
urn:code:education-classification:* |
EducationOption
Top level option on an education phase, typically defining the degree programmes in an education.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
localId required |
Unique identifier within some local context. Context must be defined in use site api documentation. Allowable values are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. |
NotNull |
otm-123456 |
|
moduleGroupId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
AttainableModuleGroupId |
otm-123456 |
|
childOptions required |
List of child selections rooted here. Can be empty but not null. |
NotNull |
List of EducationChildOption |
null |
acceptanceType required |
Is the selection of an option accepted by someone or automatic. |
NotNull [Active] |
[String] enum AUTOMATIC, ACCEPTED_BY_TEACHER, |
null |
childNaming required |
Supported values available here |
NotNull [Active] |
urn:code:education-option-naming-type:* |
|
degreeTitleUrn optional |
Supported values available here |
UrnCode(namespace = urn:code:degree-title, onlySyntax = false) |
urn:code:degree-title:* |
|
educationClassificationUrn optional |
Supported values available here |
UrnCode(namespace = urn:code:education-classification, onlySyntax = false) |
urn:code:education-classification:* |
EducationPhase
A phase of education, for example bachelors in an bachelors+masters education. These are represented as axes in the user interface for editing educations.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
name required |
null |
|||
options required |
Top level options in a phase, typically containing the allowed degree programmes |
NotNull |
List of EducationOption |
null |
EducationRule
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
localId optional |
Unique identifier within some local context. Context must be defined in use site api documentation. Allowable values are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. |
otm-123456 |
||
type required |
null |
|||
rules required |
Child rules. For legacy and draft, empty list is alowed |
List of Rule |
null |
|
require optional |
null |
|||
description optional |
null |
|||
allMandatory optional |
null |
|||
rule required |
null |
|||
count required |
null |
|||
courseUnitGroupId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
otm-123456 |
||
credits required |
null |
|||
moduleGroupId required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
otm-123456 |
EducationStructure
Saving should not be enabled unless all defined axes have at least one top-level item.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
phase1 required |
null |
|||
phase2 optional |
null |
|||
learningOpportunities required |
List of learning opportunities |
NotNull |
List of LearningOpportunity |
null |
EducationTypeRule
Evaluates to true if student has required educations.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
type required |
Person rule type |
null |
||
educationTypeUrns required |
Required education types |
Set of [string] |
null |
EducationTypeRuleAllOf
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
educationTypeUrns optional |
Required education types |
Set of [string] |
null |
EducationTypeTermRegistrationRequirements
Defines term registration requirements for an education type
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
educationTypeUrn required |
A hierarchical code set. Supported values are the leaf nodes in the file available here |
UrnCode(namespace = urn:code:education-type, onlySyntax = false) |
urn:code:education-type:* |
|
studentUnionMembershipFeeRequirement required |
Requirement for student union membership fee payment: mandatory, possible or not allowed |
NotNull |
[String] enum MANDATORY, POSSIBLE, NOT_ALLOWED, |
null |
EnrolmentForCourseUnitRealisationRule
Evaluates to true if student is enrolled to any of course unit realisations that are selected in the rule.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
type required |
Person rule type |
null |
||
courseUnitRealisationIds required |
Enrolment with state ENROLLED and reference to any of these course unit realisations allow student to pass this rule |
Set of [string] |
null |
EnrolmentForCourseUnitRealisationRuleAllOf
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
courseUnitRealisationIds optional |
Enrolment with state ENROLLED and reference to any of these course unit realisations allow student to pass this rule |
Set of [string] |
null |
EnrolmentQuestion
An EnrolmentQuestion is a single question as a part of an EnrolmentQuestionnaire.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
localId required |
Unique identifier within some local context. Context must be defined in use site api documentation. Allowable values are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. |
NotNull |
otm-123456 |
|
required optional |
If true, answering this question is required for enrolling. |
null |
||
questionType optional |
Type of a question. Used for EnrolmentQuestions. |
[String] enum LANGUAGE_SELECT, FREE_TEXT, |
null |
|
question optional |
null |
|||
selections optional |
Possible selection choices for the question. Used for multiple choice questions. |
List of EnrolmentQuestionSelect |
null |
EnrolmentQuestionSelect
An EnrolmentQuestionSelect represents one selection choice for an EnrolmentQuestion.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
value required |
Selection choice's value to be stored. |
NotNull |
null |
|
option required |
null |
EnrolmentQuestionnaire
EnrolmentQuestionnaire represents questions for course unit realisation.One course unit realisation may have only one questionnaire.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
courseUnitRealisationId optional |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
otm-123456 |
||
enrolmentQuestions optional |
Questions to be asked for enrolment. |
List of EnrolmentQuestion |
null |
Event
Conveys the start time and duration of a single event in a recurring series
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
start optional |
When this event starts. |
[Date] date-time |
null |
|
duration optional |
The formats accepted are based on the ISO-8601 duration format PnDTnHnMn.nS with days considered to be exactly 24 hours |
null |
||
excluded optional |
Whether this event instance is excluded from the series by the exceptions field of the StudyEvent. Excluded are NOT visible to end users. |
null |
||
cancelled optional |
Whether this event instance is cancelled. Cancelled events are visible to user with CANCELLED status. |
null |
||
irregularLocationIds optional |
Location(s) in which the event exceptionally takes place. If there are no changes, this field should be null. Empty Set may be interpreted as 'undecided locations' |
List of [string] |
null |
|
irregularTeacherIds optional |
Teacher(s) who are responsible for realization of this Event instance |
List of [string] |
null |
|
notice optional |
null |
|||
end optional |
[Date] date-time |
null |
EventOverride
Conveys information about exceptional teacher or location info or some other extra info about an Event. Override info persists even if Event instance is marked as an exception or cancelled.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
eventDate required |
Which event instance is affected. Cannot be null. If eventDate does not match any Event instance's date, the override is ignored and not written in database. |
NotNull |
[date] date |
null |
irregularLocationIds optional |
Location(s) in which the event exceptionally takes place. If there are no changes, this field should be null. Empty Set may be interpreted as 'undecided locations' |
List of [string] |
null |
|
irregularTeacherIds optional |
Teacher(s) who are responsible for realization of this Event instance |
List of [string] |
null |
|
notice optional |
null |
ExportResultAdmissionTarget
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of AdmissionTarget |
null |
ExportResultAssessmentItem
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of AssessmentItem |
null |
ExportResultBuilding
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of Building |
null |
ExportResultCodeBook
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of CodeBook |
null |
ExportResultCodeUniversityUsage
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of CodeUniversityUsage |
null |
ExportResultCooperationNetwork
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of CooperationNetwork |
null |
ExportResultCooperationNetworkSettings
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of CooperationNetworkSettings |
null |
ExportResultCourseUnit
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of CourseUnit |
null |
ExportResultCourseUnitRealisation
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of CourseUnitRealisation |
null |
ExportResultCurriculumPeriod
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of CurriculumPeriod |
null |
ExportResultDegreeProgrammeAttainmentApplicationQuestionnaire
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
null |
ExportResultDisclosureAuthorizationCategory
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of DisclosureAuthorizationCategory |
null |
ExportResultEducation
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of Education |
null |
ExportResultEnrolmentQuestionnaire
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of EnrolmentQuestionnaire |
null |
ExportResultInternationalContractualDegreeAgreement
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
null |
ExportResultLocation
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of Location |
null |
ExportResultMassExamSession
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of MassExamSession |
null |
ExportResultModule
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of [importModules_request_inner] |
null |
ExportResultOpenUniversityProduct
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of OpenUniversityProduct |
null |
ExportResultOpenUniversityProductCode
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of OpenUniversityProductCode |
null |
ExportResultOrganisation
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of Organisation |
null |
ExportResultPaymentCategory
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of PaymentCategory |
null |
ExportResultPublicPerson
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of PublicPerson |
null |
ExportResultQualification
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of Qualification |
null |
ExportResultStudyEvent
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of StudyEvent |
null |
ExportResultStudyYearTemplate
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of StudyYearTemplate |
null |
ExportResultTermRegistrationRequirements
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of TermRegistrationRequirements |
null |
ExportResultTimingTemplate
Container for results of export api calls. Specifies a continuation key for next similar api call with 'greatestOrdinal', and 'hasMore' tells if there are, at this time, any continuation data to be had. The field 'entities' contains the actual data.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
greatestOrdinal optional |
The modification ordinal number of the last modification whose corresponding entity data is included in this result. |
[Long] int64 |
null |
|
hasMore optional |
Is there more data to be had? |
null |
||
entities optional |
The actual data. |
List of TimingTemplate |
null |
FinnishAddress
Represents addresses for physical locations in Finland
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
countryUrn required |
Represents Uniform Resource Names for country names. Supported values available here |
UrnCode(namespace = urn:code:country, onlySyntax = false) |
urn:code:country:* |
|
isUserEditable optional |
Set to false to prevent address from being edited in the user interface. |
null |
||
type required |
Address type, either GenericAddress or FinnishAttainment |
null |
||
streetAddress optional |
Street address part of the address |
null |
||
postalCode optional |
Postal code of the address |
null |
||
city optional |
City of the address |
null |
FinnishAddressAllOf
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
streetAddress optional |
Street address part of the address |
null |
||
postalCode optional |
Postal code of the address |
null |
||
city optional |
City of the address |
null |
FrontendFeatureToggles
Switches to hide certain features from frontends. All other switches default to true but openUniversityFeaturesEnabledForStudent defaults to false because the functionality is still work in progress.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
priorLearningInclusionApplicationEnabled optional |
Prior learning inclusion request in structure of studies visible |
true |
||
customCourseCreditApplicationEnabled optional |
Custom course unit request in structure of studies visible |
true |
||
freeEditModeEnabled optional |
Free edit mode enabled in structure of studies |
true |
||
creditTransferEnabled optional |
Credit transfer visible in course unit details |
true |
||
moduleAttainmentApplicationEnabled optional |
Study module attainment application visible in module details |
true |
||
studentDetailsEditEnabled optional |
Student details edit enabled for student frontend |
true |
||
degreeProgrammeAttainmentApplicationEnabled optional |
Degree programme attainment application visible in structure of studies (ie. allow student to request graduation) |
true |
||
educationOptionsConfirmable optional |
Confirm button visible in the plan study right modal (ie. allow student to confirm education options) |
true |
||
minorSelectionsConfirmable optional |
Confirm button visible in the minor selection modal (ie. allow student to confirm study right minor selections) |
true |
||
studentTranscriptPrintable optional |
Transcript printable for the student (in their own details |
true |
||
studyRightExtensionApplicationEnabled optional |
Study right extension application enabled in study right details and banner |
true |
||
studentClassifiedInfoToggleable optional |
Students are able to toggle personal details as classified |
true |
||
publishedCourseUnitRealisationEditEnabled optional |
Published course unit realisations are editable |
true |
||
courseUnitRealisationCreationEnabled optional |
New course unit realisations are allowed to be created |
true |
||
openUniversityFeaturesEnabledForStudent optional |
Open university features are available in student UI |
true |
||
enrolmentTabEnabled optional |
Enrolment tab visible in the top navigation bar |
true |
||
crossStudyFeaturesEnabledForStudent optional |
Cross study features available for students |
true |
||
digitalDegreeCertificatePreferred optional |
Degree certificate won't be delivered physically. Delivery method options are hidden in degree programme attainment application |
true |
GenericAddress
Represents addresses for physical locations with unstructured notation
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
countryUrn required |
Represents Uniform Resource Names for country names. Supported values available here |
UrnCode(namespace = urn:code:country, onlySyntax = false) |
urn:code:country:* |
|
isUserEditable optional |
Set to false to prevent address from being edited in the user interface. |
null |
||
type required |
Address type, either GenericAddress or FinnishAttainment |
null |
||
address optional |
The whole address excluding the country |
null |
GenericAddressAllOf
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
address optional |
The whole address excluding the country |
null |
Grade
A single grade
LocalizedFieldLangs(allLangsField = name, subsetLangsField = abbreviation) [Active]
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
passed optional |
Is this a passing grade, defaults to false |
null |
||
name required |
null |
|||
abbreviation required |
null |
|||
numericCorrespondence required |
A numeric correspondence to the 1-5 grade scale |
NotNull |
[Float] float |
null |
GradeScale
Grade scale composed of grades. Can be shared between different universities.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |
null |
|
id required |
Unique identifier within source system. Prefixed with a source system specific prefix, guaranteeing uniqueness also locally. Allowable prefix values are 1 to 5 characters (a-z, A-Z) long. Allowable postfixes are 1 to 58 characters (a-z, A-Z, 0-9, dash (-) or underscore (_)) long. The separator is a dash (-). |
NotNull |
otm-123456 |
|
grades required |
List of grades of which this grade scale is composed |
NotEmpty |
List of Grade |
null |
validityPeriod required |
FieldsOrdered(allowEqual = false, greaterField = endDate, lesserField = startDate) |
null |
||
additionalInfo optional |
null |
|||
helpText optional |
null |
|||
name required |
null |
|||
abbreviation required |
null |
GroupingModule
Module representing a grouping module
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
DocumentState determines whether a document is visible to public, students or staff. |
[String] enum DRAFT, ACTIVE, DELETED, |