Endpoints
Export calendar events
GET /api/calendar-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 calendar events modified after (exclusive comparison) this modification ordinal (increasing value within ILMO). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return calendar 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 calendar 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 |
---|---|---|
401 |
Authentication required |
|
400 |
Bad request |
|
422 |
Validation failed |
|
403 |
Authorization failed, access forbidden |
|
200 |
OK |
ExportResultCalendarEvent[ExportResultCalendarEvent] |
Samples
GET /api/calendar-events/v1/export?since=0&limit=1 HTTP/1.1
Host: localhost:8080
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 731
{
"greatestOrdinal" : 6385,
"hasMore" : true,
"entities" : [ {
"metadata" : {
"revision" : 1,
"createdBy" : "spectre.i",
"createdOn" : "2025-05-30T15:44:20.819757",
"lastModifiedBy" : "spectre.i",
"lastModifiedOn" : "2025-05-30T15:44:20.819757",
"modificationOrdinal" : 6385
},
"documentState" : "ACTIVE",
"id" : "otm-b01825eb-4403-4f6a-a4d2-30c0cedc7bab",
"name" : "otm-c535c310-4b6e-4a79-a0cc-f87e71075266-2025-05-30T15:44:20.819559626",
"userId" : "otm-c535c310-4b6e-4a79-a0cc-f87e71075266",
"recursEvery" : "WEEKLY",
"startTime" : "2025-05-30T15:44:20.819581848",
"duration" : "PT2H",
"recursUntil" : "2025-06-13",
"exceptions" : [ ]
} ]
}
Import calendar events
POST /api/calendar-events/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
CalendarEvent required |
List (CalendarEvent) |
Responses
Code | Message | Datatype |
---|---|---|
401 |
Authentication required |
|
400 |
Bad request |
|
422 |
Validation failed |
|
403 |
Authorization failed, access forbidden |
|
200 |
OK |
Samples
POST /api/calendar-events/v1/import HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJraWQiOiJ0ZXN0LjEiLCJ0eXAiOiJKV1QiLCJhbGciOiJFUzUxMiJ9.eyJzdWIiOiJzcGVjdHJlLmkiLCJzY29wZSI6ImludGVncmF0aW9uIiwiaXNzIjoic2lzIiwidW5pdmVyc2l0eU9yZ0lkcyI6InRoZS1zcGVjdHJlIHRoZS1xdWFudHVtIiwiZXhwIjoxNzQ4NjA5MjQwLCJ1c2VyaW5mbyI6e319.AaSqmz08_GNcRs48see_edhPfz-Qv8hBVXtBw_TK4cWtoc39_Q38lmdy0WjwhcwpdR3GdVkXQMG8VLi6ky28AgpVAMNsSxBaMi_FPrJ_iILUzeYkZeRrfSf8D0oM5cLFksyIUY-81oohsUl6rieqWWZskoD-uRA2Ifiimix9q-B5CsVS
Content-Length: 810
Host: localhost:8080
[ {
"metadata" : null,
"documentState" : "ACTIVE",
"id" : "otm-d7d101ba-908f-4f83-bfc8-50d754296091",
"name" : "otm-c535c310-4b6e-4a79-a0cc-f87e71075266-2025-05-30T15:44:20.446701767",
"userId" : "otm-c535c310-4b6e-4a79-a0cc-f87e71075266",
"recursEvery" : "WEEKLY",
"startTime" : "2025-05-30T15:44:20.446727906",
"duration" : "PT2H",
"recursUntil" : "2025-06-13",
"exceptions" : [ ]
}, {
"metadata" : null,
"documentState" : "ACTIVE",
"id" : "otm-90a37e9e-a2ca-49d4-b2f3-8dd134f3bcda",
"name" : "otm-c535c310-4b6e-4a79-a0cc-f87e71075266-2025-05-30T15:44:20.446762912",
"userId" : "otm-c535c310-4b6e-4a79-a0cc-f87e71075266",
"recursEvery" : "WEEKLY",
"startTime" : "2025-05-30T15:44:20.446767981",
"duration" : "PT2H",
"recursUntil" : "2025-06-13",
"exceptions" : [ ]
} ]
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Export enrolment calculation configs
GET /api/enrolment-calculation-configs/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 enrolment calculation configs modified after (exclusive comparison) this modification ordinal (increasing value within ILMO). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return enrolment calculation configs 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 calculation configs 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 |
---|---|---|
401 |
Authentication required |
|
400 |
Bad request |
|
422 |
Validation failed |
|
403 |
Authorization failed, access forbidden |
|
200 |
OK |
ExportResultEnrolmentCalculationConfig[ExportResultEnrolmentCalculationConfig] |
Import enrolment calculation configs
POST /api/enrolment-calculation-configs/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
EnrolmentCalculationConfig required |
List (EnrolmentCalculationConfig) |
Patch enrolment calculation configs
PATCH /api/enrolment-calculation-configs/v1/import
Patch import with strict validation
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
PatchEntity required |
List (PatchEntity) |
Confirm imported enrolments
POST /api/enrolments/v1/confirm-import/{courseUnitRealisationId}
This should be called after imports IF AND ONLY IF enrolments are calculated in external system
Responses
Code | Message | Datatype |
---|---|---|
401 |
Authentication required |
|
400 |
Bad request |
|
422 |
Validation failed |
|
403 |
Authorization failed, access forbidden |
|
200 |
OK |
Samples
POST /api/enrolments/v1/confirm-import/otm-e6dff583-35fc-41fb-8b47-59152ca467ad HTTP/1.1
Content-Type: application/json
Host: localhost:8080
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Export enrolments
GET /api/enrolments/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 enrolments modified after (exclusive comparison) this modification ordinal (increasing value within ILMO). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return enrolments 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 enrolments 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 |
---|---|---|
401 |
Authentication required |
|
400 |
Bad request |
|
422 |
Validation failed |
|
403 |
Authorization failed, access forbidden |
|
200 |
OK |
ExportResultEnrolment[ExportResultEnrolment] |
Samples
GET /api/enrolments/v1/export?since=7082&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: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 1396
{
"greatestOrdinal" : 7084,
"hasMore" : false,
"entities" : [ {
"metadata" : {
"revision" : 1,
"createdBy" : "arska",
"createdOn" : "2025-05-30T15:44:30.168708",
"lastModifiedBy" : "arska",
"lastModifiedOn" : "2025-05-30T15:44:30.168708",
"modificationOrdinal" : 7084
},
"documentState" : "ACTIVE",
"id" : "otm-4ea40aac-995b-4ff9-9dad-c8d8e33467a6",
"personId" : "otm-3bca02e0-2bc4-46ae-b3e0-1328f6082b08",
"courseUnitRealisationId" : "otm-0ca3427e-eb75-4f52-bf63-0a1f8b7614fc",
"courseUnitId" : "otm-61b175ea-cc36-4a82-9df2-7d7a8870407e",
"assessmentItemId" : "otm-d6ced023-28d8-4c9e-a1a8-04fc123b5f08",
"studyRightId" : null,
"openUniversityCartId" : null,
"openUniversityCartItemId" : null,
"status" : "NOT_ENROLLED",
"state" : "NOT_ENROLLED",
"processingState" : "NOT_PROCESSED",
"studySubGroups" : [ ],
"studyGroupSets" : null,
"confirmedStudySubGroupIds" : [ ],
"tentativeStudySubGroupIds" : [ ],
"enrolmentDateTime" : "2025-05-30T15:44:30.196477",
"isInCalendar" : true,
"colorIndex" : 0,
"quotaIds" : [ ],
"activeQuotaId" : null,
"allocatedQuotaId" : null,
"maximumQuotaIds" : [ ],
"enrolmentRightId" : null,
"replacedByEnrolmentId" : null,
"cooperationNetworkStatus" : null,
"studentConsentForOutboundDataTransfer" : null
} ]
}
Import enrolments
POST /api/enrolments/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
Enrolment required |
List (Enrolment) |
Responses
Code | Message | Datatype |
---|---|---|
401 |
Authentication required |
|
400 |
Bad request |
|
422 |
Validation failed |
|
403 |
Authorization failed, access forbidden |
|
200 |
OK |
Samples
POST /api/enrolments/v1/import HTTP/1.1
Content-Type: application/json
Content-Length: 3937
Host: localhost:8080
[ {
"metadata" : {
"revision" : 1,
"createdBy" : "arska",
"createdOn" : "2025-05-30T15:44:30.96443",
"lastModifiedBy" : "arska",
"lastModifiedOn" : "2025-05-30T15:44:30.96443",
"modificationOrdinal" : null
},
"documentState" : "ACTIVE",
"id" : "test-enrolment",
"personId" : "test-personid",
"courseUnitRealisationId" : "otm-cur-1",
"courseUnitId" : "otm-273d65ce-c761-4f27-aa40-6680eb64f55a",
"assessmentItemId" : "otm-d15950f8-b1a5-4785-a77e-20b3e0010d5f",
"studyRightId" : null,
"openUniversityCartId" : null,
"openUniversityCartItemId" : null,
"status" : null,
"state" : "PROCESSING",
"processingState" : "CURRENTLY_NOT_SELECTED",
"studySubGroups" : [ {
"studySubGroupId" : "otm-2f87f7c9-7eec-40b4-9cbf-d5f9cd7336a1",
"enrolmentStudySubGroupPriority" : "PRIMARY",
"isInCalendar" : true
} ],
"studyGroupSets" : null,
"confirmedStudySubGroupIds" : [ ],
"tentativeStudySubGroupIds" : [ ],
"enrolmentDateTime" : "2025-05-30T15:44:30.96443",
"isInCalendar" : true,
"colorIndex" : null,
"quotaIds" : [ ],
"activeQuotaId" : null,
"allocatedQuotaId" : null,
"maximumQuotaIds" : [ ],
"enrolmentRightId" : null,
"replacedByEnrolmentId" : null,
"cooperationNetworkStatus" : null,
"studentConsentForOutboundDataTransfer" : null
}, {
"metadata" : {
"revision" : 1,
"createdBy" : "arska",
"createdOn" : "2025-05-30T15:44:30.96443",
"lastModifiedBy" : "arska",
"lastModifiedOn" : "2025-05-30T15:44:30.96443",
"modificationOrdinal" : null
},
"documentState" : "ACTIVE",
"id" : "test-enrolment-2",
"personId" : "test-personid-2",
"courseUnitRealisationId" : "otm-cur-2",
"courseUnitId" : "otm-f30b0dfa-c5de-4e72-8cdd-eb4fedb0d9e7",
"assessmentItemId" : "otm-147953a8-45cc-4ae3-bccf-974e6fff6741",
"studyRightId" : null,
"openUniversityCartId" : null,
"openUniversityCartItemId" : null,
"status" : null,
"state" : "PROCESSING",
"processingState" : "SELECTED",
"studySubGroups" : [ {
"studySubGroupId" : "otm-2f87f7c9-7eec-40b4-9cbf-d5f9cd7336a1",
"enrolmentStudySubGroupPriority" : "PRIMARY",
"isInCalendar" : true
} ],
"studyGroupSets" : null,
"confirmedStudySubGroupIds" : [ ],
"tentativeStudySubGroupIds" : [ ],
"enrolmentDateTime" : "2025-05-30T15:44:30.96443",
"isInCalendar" : true,
"colorIndex" : null,
"quotaIds" : [ ],
"activeQuotaId" : null,
"allocatedQuotaId" : null,
"maximumQuotaIds" : [ ],
"enrolmentRightId" : null,
"replacedByEnrolmentId" : null,
"cooperationNetworkStatus" : null,
"studentConsentForOutboundDataTransfer" : null
}, {
"metadata" : {
"revision" : 1,
"createdBy" : "arska",
"createdOn" : "2025-05-30T15:44:30.96443",
"lastModifiedBy" : "arska",
"lastModifiedOn" : "2025-05-30T15:44:30.96443",
"modificationOrdinal" : null
},
"documentState" : "ACTIVE",
"id" : "test-enrolment-3",
"personId" : "test-personid-3",
"courseUnitRealisationId" : "otm-cur-2",
"courseUnitId" : "otm-47638248-d1eb-41ff-8676-d6f08a33d288",
"assessmentItemId" : "otm-48fd2e1b-24d7-470b-af9f-eb348a9e1cff",
"studyRightId" : null,
"openUniversityCartId" : null,
"openUniversityCartItemId" : null,
"status" : null,
"state" : "PROCESSING",
"processingState" : "NOT_SELECTED",
"studySubGroups" : [ {
"studySubGroupId" : "otm-2f87f7c9-7eec-40b4-9cbf-d5f9cd7336a1",
"enrolmentStudySubGroupPriority" : "PRIMARY",
"isInCalendar" : true
} ],
"studyGroupSets" : null,
"confirmedStudySubGroupIds" : [ ],
"tentativeStudySubGroupIds" : [ ],
"enrolmentDateTime" : "2025-05-30T15:44:30.96443",
"isInCalendar" : true,
"colorIndex" : null,
"quotaIds" : [ ],
"activeQuotaId" : null,
"allocatedQuotaId" : null,
"maximumQuotaIds" : [ ],
"enrolmentRightId" : null,
"replacedByEnrolmentId" : null,
"cooperationNetworkStatus" : null,
"studentConsentForOutboundDataTransfer" : null
} ]
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Patch enrolments
PATCH /api/enrolments/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
PatchEntity required |
List (PatchEntity) |
Reopen enrolment
POST /api/enrolments/reopen-enrolment
Reopens enrolment to a course unit realisation.
Responses
Code | Message | Datatype |
---|---|---|
401 |
Authentication required |
|
400 |
Bad request |
|
422 |
Validation failed |
|
403 |
Authorization failed, access forbidden |
|
200 |
OK |
EnrolmentCalculationResult[EnrolmentCalculationResult] |
Search enrolments for person
GET /api/enrolments/v1/for-person
Search all enrolments by person id, regardless of enrolment state, but excluding DELETED enrolments.
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
personId required |
String |
otm-123456 |
|
activityStatus optional |
Filter enrolments for person by course unit realisation activityPeriods |
String |
activityStatus_example |
state optional |
Filter enrolments for person by enrolment state |
List ([String]) |
Responses
Code | Message | Datatype |
---|---|---|
401 |
Authentication required |
|
400 |
Bad request |
|
422 |
Validation failed |
|
403 |
Authorization failed, access forbidden |
|
200 |
OK |
List[Enrolment] |
Stream enrolments
GET /api/enrolments/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 modified entities after modified after (exclusive comparison) this modification ordinal Alternate parameter with sinceTime. This is the recommended option. |
Boolean |
true |
Responses
Code | Message | Datatype |
---|---|---|
401 |
Authentication required |
|
400 |
Bad request |
|
422 |
Validation failed |
|
403 |
Authorization failed, access forbidden |
|
200 |
OK |
List[[object]] |
Stream enrolment data changes
GET /api/enrolment-data-changes/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 modified entities after modified after (exclusive comparison) this modification ordinal Alternate parameter with sinceTime. This is the recommended option. |
Boolean |
true |
Responses
Code | Message | Datatype |
---|---|---|
401 |
Authentication required |
|
400 |
Bad request |
|
422 |
Validation failed |
|
403 |
Authorization failed, access forbidden |
|
200 |
OK |
List[[object]] |
Export enrolment questionnaire answers
GET /api/enrolment-questionnaire-answers/v1/export
Parameters
Query Parameters
Name | Description | Schema | Example |
---|---|---|---|
since optional |
Return enrolment questionnaire answers modified after (exclusive comparison) this modification ordinal (increasing value within ILMO). Alternate parameter with sinceTime. This is the recommended option. |
Long (int64) |
789 |
sinceTime optional |
Return enrolment questionnaire answers 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 questionnaire answers 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 |
---|---|---|
401 |
Authentication required |
|
400 |
Bad request |
|
422 |
Validation failed |
|
403 |
Authorization failed, access forbidden |
|
200 |
OK |
ExportResultEnrolmentQuestionnaireAnswers[ExportResultEnrolmentQuestionnaireAnswers] |
Import enrolment questionnaire answers
POST /api/enrolment-questionnaire-answers/v1/import
Export open university carts
GET /api/open-university/carts/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 open university carts 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 open university carts 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 open university carts 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 |
---|---|---|
401 |
Authentication required |
|
400 |
Bad request |
|
422 |
Validation failed |
|
403 |
Authorization failed, access forbidden |
|
200 |
OK |
ExportResultOpenUniversityCart[ExportResultOpenUniversityCart] |
Import open university carts
POST /api/open-university/carts/v1/import
Parameters
Body Parameter
Name | Description | Schema | Example |
---|---|---|---|
OpenUniversityCart required |
List (OpenUniversityCart) |
Export payment system payments
GET /api/payment-system-payments/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 payemnt system payments 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 payemnt system payments 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 payemnt system payments 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 |
---|---|---|
401 |
Authentication required |
|
400 |
Bad request |
|
422 |
Validation failed |
|
403 |
Authorization failed, access forbidden |
|
200 |
OK |
ExportResultOpenUniversityPaymentSystemPayment[ExportResultOpenUniversityPaymentSystemPayment] |
Import payment system payments
POST /api/payment-system-payments/v1/import
Parameters
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 optional |
Person rule type |
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 optional |
Person rule type |
|||
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] |
||
degreeProgramTypeUrn optional |
Supported values available here |
urn:code:degree-program-type:* |
||
creditRange required |
CalendarEvent
Calendar event containing a series of event occurrences.
FieldsNotNullWhenConditionTrue(condition = recursEvery != NEVER, fields = [Ljava.lang.String;@55738d8)
ValidCalendarEvent
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
State of this object: DRAFT, ACTIVE or DELETED |
[String] enum DRAFT, ACTIVE, DELETED, |
||
id optional |
Unique identifier for this object. Persisted value is never null. |
NotNull |
otm-123456 |
|
name required |
Name for the calendar event series |
Size(max = 255, min = 2) |
||
userId optional |
Id of the user this event belongs to. Persisted value is never null. |
otm-123456 |
||
recursEvery required |
How often the event recurs |
NotNull |
[String] enum NEVER, DAILY, WEEKLY, EVERY_SECOND_WEEK, MONTHLY, |
|
startTime required |
When the event occurs for the first time |
NotNull |
[Date] date-time |
|
duration required |
How long a single event is (using ISO-8601 seconds based representation) |
NotNull |
||
recursUntil optional |
Recurs until this date (this date included). Mandatory for recurring events. |
[date] date |
||
exceptions optional |
Possible exception dates the user has removed from the event sequence. Each date must be on the same day as one of the event instances. Event on exception dates are not visible to user. Defaults to an empty list. |
Size(max = 200, min = 0) |
List of [date] date |
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 optional |
Person rule type |
CooperationNetworkStatus
Co-operation network status for entities that are created or targeted through RIPA to a cooperation network university
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
direction required |
Co-operation network direction. Is this INBOUND or OUTBOUND from SISU perspective. INBOUND entities can not be edited in SISU. |
NotNull |
[String] enum INBOUND, OUTBOUND, NONE, |
|
organisationTkCode optional |
Organisation TK code used in CSC's Ristiinopiskelupalvelu. For OUTBOUND entities, organisationTkCode represents the organisation where this entity is going to be sent. For INBOUND entities, organisationTkCode represents the organisation this entity originated from. |
|||
outboundStatus optional |
Status on processing an OUTBOUND entity to other university |
[String] enum NOT_VALID, FORWARDED, RECORDED, REJECTED, |
||
rejectionReason optional |
Rejection reason of OUTBOUND entity to other university |
|||
outboundStatusMessage optional |
Status message further describing processing of OUTBOUND entity to other university |
|||
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 |
||
universityOrgId 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 |
||
homeStudyRightId optional |
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 optional |
Person rule type |
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 |
||
max optional |
maximum acceptable value |
EducationRule
Evaluates to true if the education of the enrolment's StudyRight is one of specified in this rule
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
type optional |
Person rule type |
|||
educationGroupIds required |
Required educations |
Set of [string] |
EducationTypeRule
Evaluates to true if student has required educations.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
type optional |
Person rule type |
|||
educationTypeUrns required |
Required education types |
Set of [string] |
Enrolment
This class represents student calendar selections as well as enrolments of the student. The process of enrolments typically starts by student adding a selection to their calendar. It is stored as a enrolment with status NOT_ENROLLED. The process of enrolments ends where the process of assessment starts. In other words, there may be assessment and/or attainments related to this enrolment.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
State of this object: DRAFT, ACTIVE or DELETED |
[String] enum DRAFT, ACTIVE, DELETED, |
||
id optional |
Unique identifier for this object. Persisted value is never null. |
NotNull |
otm-123456 |
|
personId optional |
PrivatePerson identifier for the student who is doing the enrolment |
otm-123456 |
||
courseUnitRealisationId required |
Reference to course unit realisation to which this enrolment is related to. This must be defined, as the details of the assessments depend on the course unit realisation in some special cases. This can often be automatically inferred from the study plan of the enrolling student and/or the context where enrolment request was initiated. However, in certain circumstances it is necessary for the student to adjust this. Persisted value is never null. |
NotNull |
otm-123456 |
|
courseUnitId required |
Reference to course unit to which this enrolment is related to. This must be defined when state is not NOT_ENROLLED, as it is needed when creating course unit attainments based on assessment item attainments. This can often be automatically inferred from the study plan of the enrolling student and/or the context where enrolment request was initiated. However, in certain circumstances it is necessary for the student to adjust this. |
CourseUnitId |
otm-123456 |
|
assessmentItemId required |
Reference to assessment item to which this enrolment is related to. This is the actual thing where student is enrolling into. However, student may add course unit realisation to their study calendar, in which case this may be empty. |
AssessmentItemId |
otm-123456 |
|
studyRightId optional |
Reference to study right id in which context student enrolled. |
otm-123456 |
||
openUniversityCartId optional |
OpenUniversityCart through which this enrolment is created. If present, the enrolment is created by choosing the course unit realisation into open university shopping cart |
otm-123456 |
||
openUniversityCartItemId optional |
OpenUniversityCartItem through which this enrolment is created. If present, the enrolment is created by choosing the course unit realisation into open university shopping cart |
otm-123456 |
||
status optional |
DEPRECATED: Refer to the enrolment state instead. |
[String] enum ENROLLED, NOT_ENROLLED, NOT_CONFIRMED, IN_QUEUE, CANCELLED, |
||
state optional |
State of the enrolment. If the state is PROCESSING, processingState contains the substate. Persisted value is never null. |
[String] enum NOT_ENROLLED, PROCESSING, INVALID, RESERVED, CONFIRMED, ENROLLED, REJECTED, ABORTED_BY_STUDENT, ABORTED_BY_TEACHER, |
||
processingState optional |
If state is PROCESSING, this has the current status of the calculation and selection process. This field may be used to indicate tentative (but not final) state to the student. Persisted value is never null. |
[String] enum NOT_PROCESSED, PENDING, CURRENTLY_SELECTED, CURRENTLY_NOT_SELECTED, REQ_NOT_FULFILLED, SELECTED, NOT_SELECTED, NOT_VALID, |
||
studySubGroups optional |
Study sub groups that the student selected for enrolment or added to calendar. |
ContainsNoNulls |
List of EnrolmentStudySubGroup |
|
studyGroupSets optional |
Study group sets that the student had specific selections for. This can be empty if no study group set has no range for how many study sub groups the student can and must select |
ContainsNoNulls |
List of EnrolmentStudyGroupSet |
|
confirmedStudySubGroupIds optional |
Student is selected to these study sub groups. This information is relevant after the enrolment confirmation before that this should be an empty collection |
ContainsNoNulls |
Set of [string] |
|
tentativeStudySubGroupIds optional |
Student is tentatively selected to these study sub groups. This information is relevant during the enrolment time. |
ContainsNoNulls |
Set of [string] |
|
enrolmentDateTime optional |
Time and date when the student enrolled. Must be defined unless state is NOT_ENROLLED or PROCESSING. |
[Date] date-time |
||
isInCalendar optional |
Whether this enrolment should be displayed in the student calendar. Default value is true. Persisted value is never null. |
|||
colorIndex optional |
In which color should the CUR be rendered in the UI. The frontend should decide this. In imports, this should be left null. |
[Integer] int32 |
||
quotaIds optional |
Determines the minimum quota groups enrolment has been categorized in, or empty if not applicable |
Set of [string] |
||
activeQuotaId optional |
Determines the currently chosen minimum quota the enrolment has been categorized in, or null if not applicable |
otm-123456 |
||
allocatedQuotaId optional |
Determines the minimum quota the enrolment has been allocated to. If this is null but activeQuotaId is not, that means the enrolment was allocated into the non-quota seat. |
otm-123456 |
||
maximumQuotaIds optional |
Determines the maximum quota groups enrolment has been categorized in. |
Set of [string] |
||
enrolmentRightId optional |
EnrolmentRight, through which this enrolment was created, if any |
otm-123456 |
||
replacedByEnrolmentId optional |
If another Enrolment has replaced this one, the id of the replacing enrolment is saved here. This Enrolment must be deleted (documentState==DELETED) if the value is set. |
otm-123456 |
||
cooperationNetworkStatus optional |
||||
studentConsentForOutboundDataTransfer optional |
Student consent on data transfer when enrolment is targeted to a cooperation network university |
EnrolmentCalculationConfig
This class represents the config for enrolment calculation process. There is one instance of this class for each course unit realisation. ID field is equal to course unit realisation ID.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
State of this object: DRAFT, ACTIVE or DELETED |
[String] enum DRAFT, ACTIVE, DELETED, |
||
id optional |
Unique identifier for this object. Persisted value is never null. |
NotNull |
otm-123456 |
|
maxSelected optional |
The maximum number of students automatically selected during the enrolment calculation. Null value means no limit |
Min(value = 0) |
[Integer] int32 |
|
manualConfirmation required |
Whether confirmation is done manually |
NotNull |
||
requirementPersonRules optional |
Rules that must all evaluate to true for enrolment to be selected |
List of [EnrolmentCalculationResult_evaluatedRequirementPersonRules_inner] |
||
orderingPersonRules optional |
Rules used to determine order of precedence for enrolments, in which they are selected and allocated into study sub groups |
List of [EnrolmentCalculationResult_evaluatedRequirementPersonRules_inner] |
||
selectedUsersQuotas optional |
Minimum quotas for enrolments |
UniqueBy(sameValueProperties = [Ljava.lang.String;@67ffa04c) |
List of EnrolmentSelectedUsersQuota |
|
maximumUsersQuotas optional |
Maximum quotas for enrolments |
UniqueBy(sameValueProperties = [Ljava.lang.String;@5d05a7ed) |
List of EnrolmentMaximumUsersQuota |
EnrolmentCalculationResult
This class represents the result for enrolment calculation process. There is one instance of this class for each course unit realisation. ID field is equal to course unit realisation ID.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
State of this object: DRAFT, ACTIVE or DELETED |
[String] enum DRAFT, ACTIVE, DELETED, |
||
id optional |
Unique identifier for this object. Persisted value is never null. |
NotNull |
otm-123456 |
|
lastEnrolmentModificationOrdinal required |
The last ordinal of modification to enrolments that is included in this result. Persisted value is never null. |
NotNull |
[Long] int64 |
|
lastCourseUnitRealisationModificationOrdinal required |
The last ordinal of modification to course unit realisation that is included in this result |
NotNull |
[Long] int64 |
|
lastEnrolmentCalculationConfigModificationOrdinal required |
The last ordinal of modification to enrolment calculation config that is included in this result |
NotNull |
[Long] int64 |
|
lastCalculationTime optional |
The last time enrolment calculation was done |
[Date] date-time |
||
evaluatedRequirementPersonRules optional |
List of requirement rules that were used for calculating person results |
List of [EnrolmentCalculationResult_evaluatedRequirementPersonRules_inner] |
||
evaluatedOrderingPersonRules optional |
List of ordering rules that were used for calculating person results |
List of [EnrolmentCalculationResult_evaluatedRequirementPersonRules_inner] |
||
lastCalculationState required |
The state of last enrolment calculation |
[String] enum UNKNOWN, SUCCESS, ERROR, |
||
state required |
The state of the enrolment calculation. Persisted value is never null. |
NotNull |
[String] enum NOT_STARTED, TENTATIVE_CALCULATION, FINAL_CALCULATION_ONGOING, FINAL_CALCULATION_FINISHED, CONFIRMED, |
|
personResults optional |
Evaluation results of person rules |
EnrolmentCalculationResultEvaluatedRequirementPersonRulesInner
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
type optional |
Person rule type |
|||
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] |
||
degreeProgramTypeUrn optional |
Supported values available here |
urn:code:degree-program-type:* |
||
creditRange required |
||||
educationGroupIds required |
Required educations |
Set of [string] |
||
educationTypeUrns required |
Required education types |
Set of [string] |
||
courseUnitRealisationIds required |
Enrolment with state ENROLLED and reference to any of these course unit realisations allow student to pass this rule |
Set of [string] |
||
personGroupIds required |
Ids of all person groups where student must be a member to pass this rule |
List of [string] |
EnrolmentCalculationResultForPerson
This class contains evaluation results of person rules for one person.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
personId optional |
The person to whom these evaluation results relate |
otm-123456 |
||
evaluatedRequirementRules optional |
Evaluation results of requirement person rules |
List of [boolean] |
||
evaluatedOrderingRules optional |
Evaluation results of ordering person rules |
List of [boolean] |
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 optional |
Person rule type |
|||
courseUnitRealisationIds required |
Enrolment with state ENROLLED and reference to any of these course unit realisations allow student to pass this rule |
Set of [string] |
EnrolmentMaximumUsersQuota
Maximum quota for student selections ie. Open University students vs. Degree programme students
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
size required |
Number of seats |
Min(value = 0) |
[Integer] int32 |
|
name required |
The name of the quota |
NotNull |
||
quotaPersonRules required |
The quota applies to these rules. |
NotNull |
Set of [EnrolmentCalculationResult_evaluatedRequirementPersonRules_inner] |
|
id required |
The quota id. |
NotNull |
otm-123456 |
EnrolmentQuestionAnswer
Single EnrolmentQuestionAnswer represents an answer to a single EnrolmentQuestion.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
questionId required |
Reference to local id of a single EnrolmentQuestion in EnrolmentQuestionnaire. |
NotNull |
otm-123456 |
|
answerText optional |
Free text answer to the question. |
Size(max = 8000, min = 0) |
||
selections optional |
Answers to questions where selections can be made from multiple options. |
Set of [string] |
EnrolmentQuestionnaireAnswers
Student's answers for the enrolment. Student may have one EnrolmentQuestionnaireAnswers for each enrolment.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
State of this object: DRAFT, ACTIVE or DELETED |
[String] enum DRAFT, ACTIVE, DELETED, |
||
enrolmentId required |
Student's enrolment ID. Persisted value is never null. |
NotNull |
otm-123456 |
|
courseUnitRealisationId optional |
Course unit realisation ID. Persisted value is never null. |
otm-123456 |
||
studentId optional |
Student ID. |
otm-123456 |
||
answers optional |
Student's answers for enrolment. |
List of EnrolmentQuestionAnswer |
EnrolmentSelectedUsersQuota
Quota for student selections with different abstractPersonRules. Example: studyTypes: Open University students vs. Degree programme students
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
size required |
Number of seats |
Min(value = 0) |
[Integer] int32 |
|
name required |
The name of the quota |
NotNull |
||
quotaPersonRules required |
The quota applies to these rules. |
NotNull |
Set of [EnrolmentCalculationResult_evaluatedRequirementPersonRules_inner] |
|
id required |
The quota id. |
NotNull |
otm-123456 |
EnrolmentStudyGroupSet
Study group sets that the student had specific selections for. This can be empty if no study group set has no range for how many study sub groups the student can and must select
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
studyGroupSetId 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. |
otm-123456 |
||
targetStudySubGroupAmount optional |
Number of study sub groups that the student wishes to enrol to. The actual number of study sub groups allocated to student may be smaller if groups are full. If not set, the number of primary study sub groups is used for backwards compatibility |
[Integer] int32 |
EnrolmentStudySubGroup
Study sub groups that the student selected for enrolment or added to calendar.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
studySubGroupId 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 |
||
enrolmentStudySubGroupPriority required |
Priority of selected study sub group. |
[String] enum PRIMARY, SUITABLE, NOT_SUITABLE, |
||
isInCalendar optional |
Whether this enrolment should be displayed in the student calendar. Default value is true. |
ExportResultCalendarEvent
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 |
||
hasMore optional |
Is there more data to be had? |
|||
entities optional |
The actual data. |
List of CalendarEvent |
ExportResultEnrolment
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 |
||
hasMore optional |
Is there more data to be had? |
|||
entities optional |
The actual data. |
List of Enrolment |
ExportResultEnrolmentCalculationConfig
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 |
||
hasMore optional |
Is there more data to be had? |
|||
entities optional |
The actual data. |
List of EnrolmentCalculationConfig |
ExportResultEnrolmentQuestionnaireAnswers
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 |
||
hasMore optional |
Is there more data to be had? |
|||
entities optional |
The actual data. |
List of EnrolmentQuestionnaireAnswers |
ExportResultOpenUniversityCart
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 |
||
hasMore optional |
Is there more data to be had? |
|||
entities optional |
The actual data. |
List of OpenUniversityCart |
ExportResultOpenUniversityPaymentSystemPayment
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 |
||
hasMore optional |
Is there more data to be had? |
|||
entities optional |
The actual data. |
LocalizedString
A map <langCode, value> of plain strings containing localized versions of a text
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
fi optional |
Finnish version |
Finnish version |
||
sv optional |
Swedish version |
Swedish version |
||
en optional |
English version |
English version |
NotAlreadyEnrolledToAssessmentItemRule
Evaluates to true if student is enrolled to another course unit realisation (with overlapping activity period) for the same assessment item.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
type optional |
Person rule type |
OpenUniversityCart
Shopping cart for Open University purchases. Includes OpenUniversityCartItems that are purchased or to be purchased
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
documentState optional |
State of this object: DRAFT, ACTIVE or DELETED |
[String] enum DRAFT, ACTIVE, DELETED, |
||
id optional |
Unique identifier for this object. Persisted value is never null. |
NotNull |
otm-123456 |
|
state required |
State of the cart, eg. reserved, expired, purchased. Persisted value is never null. |
NotNull |
[String] enum TENTATIVE, RESERVED, EXPIRED, PURCHASED, ACTIVATED, CANCELLED, |
|
reservedUntilDateTime optional |
Instant in time to which the items in the cart are reserved, if not purchased before. Required if cart is not purchased. |
[Date] date-time |
||
purchaseDateTime optional |
Instant in time when the items in the cart where purchased. If not given, the items have not yet been paid for. |
[Date] date-time |
||
priceTotal optional |
Total sum of the prices in EUR of the items in the cart (includes VAT). If not given, will be calculated based on the items in the cart |
|||
vatPercent optional |
VAT percent to be used. If not given, will use default from OpenUniversitySettings. |
Min(value = 0) |
||
buyerFirstName optional |
First name of the person purchasing the products |
Size(max = 100, min = 1) |
||
buyerLastName optional |
Last name of the person purchasing the products |
Size(max = 100, min = 1) |
||
buyerEmail optional |
Email of the person purchasing the products |
Size(max = 100, min = 1) |
||
buyerDetailsErased optional |
Indicates if buyer details have been erased. |
|||
studentId optional |
Id of the student to whom the studyRights are created for |
otm-123456 |
||
items optional |
The items that are (to be) purchased. |
List of OpenUniversityCartItem |
||
orderNumber optional |
The order number that can be used to identify a purchase over phone and to search for the cart in staff UI. Order number will be inserted into purchase confirmations. |
Size(max = 100, min = 1) |
||
activationCode optional |
The code that can be used to activate the purchased items and connect the cart to a person. |
Size(max = 255, min = 1) |
||
activationCodeValidUntil optional |
The timestamp to which the activationCode is valid. If the cart is not activated in time, the purchase will expire. |
[Date] date-time |
||
language optional |
Language what user is using in sisu while doing the payment |
Pattern(flags = [Ljakarta.validation.constraints.Pattern$Flag;@1afa4196, regexp = ^[a-z]{2}$) |
||
priceWithoutVat optional |
The string format is '$currencyCode $amount' where there may be zero to many spaces between the two parts. The currency code must be a valid three letter currency. The amount must match the regular expression [+-]?[.]?[0-9]. The spaces and numbers must be ASCII characters |
|||
vatTotal optional |
The string format is '$currencyCode $amount' where there may be zero to many spaces between the two parts. The currency code must be a valid three letter currency. The amount must match the regular expression [+-]?[.]?[0-9]. The spaces and numbers must be ASCII characters |
OpenUniversityCartItem
Single item in shopping cart
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
localId required |
LocalId of the item in the cart |
NotNull |
otm-123456 |
|
state required |
Is the item eg. tentative, reserved, expired or purchased |
NotNull |
[String] enum TENTATIVE, RESERVED, EXPIRED, PURCHASED, ACTIVATED, CANCELLED, |
|
openUniversityProductId required |
The product that is to be purchased |
NotNull |
otm-123456 |
|
price required |
The total price of the item, VAT included. |
NotNull |
OpenUniversityPaymentSystemPayment
Payment that is made in an external payment system (except if it is a zero-amount payment).This is used for open university purchases.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
id required |
Unique identifier of the payment. Also sent to the external payment system to allow linking the confirmation/notification messages back to this payment entry. Persisted value is never null. |
NotNull |
payment123456 |
|
openUniversityCartId required |
Open university cart to which this payment is related to. Persisted value is never null. |
NotNull |
otm-123456 |
|
externalId optional |
Unique identifier of the payment used by the external payment system. Null means that no external payment system has been used to create the payment (zero-amount payments),but the payment has been created and marked as paid directly by Sisu. |
Size(max = 255, min = 1) |
||
paymentAddress optional |
The payment address which is used to direct the customer to completing the payment. |
Size(max = 1024, min = 1) |
||
status required |
Status of this payment. Persisted value is never null. |
NotNull |
[String] enum INITIALIZED, STARTED, PAID, CANCELLED, |
|
amount required |
Amount of this payment |
NotNull |
||
paidTimestamp optional |
Timestamp that tells when this payment was marked as paid or cancelled |
[Date] date-time |
||
paymentSystem optional |
Payment system to which this payment is made. If a zero-amount payment, the type UNDEFINED is used. |
[String] enum CEEPOS, PAYTRAIL, UNDEFINED, |
||
buyerFirstName optional |
First name of the person purchasing the products |
Size(max = 100, min = 1) |
||
buyerLastName optional |
Last name of the person purchasing the products |
Size(max = 100, min = 1) |
||
buyerEmail optional |
Email of the person purchasing the products |
Size(max = 100, min = 1) |
||
cartChecksum required |
Checksum calculated from the related open university cart at the initialization of the payment |
Size(max = 100, min = 1) |
||
documentState optional |
State of this object: DRAFT, ACTIVE or DELETED |
[String] enum DRAFT, ACTIVE, DELETED, |
PatchEntity
A single patched entity must include the 'id' parameter to identify which entity to apply the patch to, and any other fields to be changed.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
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 (-). |
otm-123456 |
PersonConsent
Contains consent information of a person, including the consent clause, consent target and user response.
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
consentApprovalType required |
User response to the consent clause |
NotNull |
[String] enum APPROVED, |
|
consentTargetType required |
The target of the consent |
NotNull |
[String] enum CROSS_STUDY_DATA_TRANSFER_ON_OUTBOUND_ENROLMENT, |
|
clause required |
Consent clause that has been presented to the user |
NotNull |
PersonGroupMembershipRule
Evaluates to true if student is a member of any specified person group
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
type optional |
Person rule type |
|||
personGroupIds required |
Ids of all person groups where student must be a member to pass this rule |
List of [string] |
RecommendedFormalPrerequisitesRule
Evaluates to true if student has valid attainments for recommended formal prerequisites for the course unit selected in the enrolment
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
type optional |
Person rule type |
ValidStudyRightRule
Valid study right rule evaluates to true if student has any study right that is valid during the activity period of the course unit realisation to be enrolled to
Field Name | Description | Validation | Schema | Example |
---|---|---|---|---|
type optional |
Person rule type |
Validations
AssessmentItemId
OtmId or set of OtmIds which must refer to AssessmentItems of any state, which need not necessarily exist at the present time.
CourseUnitRealisationId
OtmId or set of OtmIds which must refer to non-DELETED CourseUnitRealisations.
OpenUniversityProductId
OtmId or set of OtmIds which must refer to OpenUniversityProducts of any state.
ValidCalendarEvent
Checks that event max recurrence is one year. Checks that recurs until is after event series start time