eLumen API Documentation (2.0.0)

Download OpenAPI specification:Download

Introduction

Welcome to eLumen's API Documentation. We're excited to provide new integration capabilities for the benefit of institutions world-wide.

Applications can access eLumen Public APIs to achieve various integrations between eLumen and other systems. eLumen's Public API is still limited at this time, but it does provide access to a full representation of a Course, which can be pulled into a Student Information System (SIS), Learning Management System (LMS), or any other system at any time.

Additionally, eLumen is also capable of accessing your external APIs as well, provided that those APIs are built according to our specifications. Custom integrations can also be built, but this requires custom development - please contact your Customer Success Manager for more information if your institution may require a custom integration.

Quick start guide

This guide is intended primarily for developers at eLumen’s client institutions. It is a step-by-step introduction to integrating with eLumen’s RESTful APIs. After completing the steps in the guide you will have learned how to

  • Configure your institution’s eLumen instance to accept API calls
  • Create client credentials for your institution
  • Obtain an auth code and execute API calls

All examples use the API development platform POSTMAN. You may use any other development environment you prefer.

Enable APIs On Your Institution’s eLumen Instance

In order to begin development of APIs this feature needs to be enabled in each eLumen environment for your institution. Simply ask your Customer Success Manager to turn on the API Key Management feature for your institution. This flag must be enabled in each environment in which you plan to use APIs. This guide assumes you will be working in your institution’s test environment, typically named [your institution]test.elumenapp.com.

Create Client Credentials For Your Institution

In order to be authenticated and authorized to execute eLumen API calls every call must include credentials for your institution. Obtaining these credentials is a self-service operation in the eLumen web application.

Authentication

Follow these steps to create the API key:

  1. Login as Data Steward.
  2. Navigate to System Settings > Security > API Key. (If you don't see this tab, please contact your Customer Success representative).
  3. Select the Create API Key button.
  4. Input your App Name in the required field.
  5. Click the Create button.
  6. Copy the Client ID and API Key from the Modal and Save it.

Follow these steps to send data to the server to create or update a resource:

  1. Open any API Integration Tool.
  2. Such as: Postman, Curl.
  3. Perform a POST action to the desired endpoint: “https://api.elumenapp.com/auth
  4. In the body put the clientId and apiKey using the following format:
    {
      "clientId": "{{clientId}}",
      "apiKey": "{{apiKey}}"
    }
    
  5. Submit the Message.
  6. Copy and Save the generated token.

How to obtain an Auth Code and execute API calls

At this point you will want to explore the APIs that eLumen supports by visiting our OpenAPI specifications at apidocs.elumenapp.com (link to the specifications page).

In order to make any other API calls you must first call the Auth API to request a token. This is commonly referred to as a Bearer token. This Bearer token must then be included in any subsequent API calls. Think of this token as analogous to a user session when you log into a web application. Your session is valid for a fixed period of time. You can continue to use the application until that session expires.

Similarly, your auth token has a lifetime of 24 hours. A token obtained from the auth called can be used to authorize all API calls until it expires. Upon expiration, simply make another call to the Auth API endpoint to obtain a new token.

The Authorization has to be set to "Bearer Token". Then, put the token that was generated by calling the authentication endpoint there.

Integration Use Cases

We know that sometimes it's tricky to build middleware between systems that handle complex problems in the ed-tech world. We hope that these use cases will help you understand what kind of integrations can be built with the endpoints that we offer.

Curricular Data to SIS

The 3rd Party Integrations follow the same pattern as the APIs, but in the opposite direction. Instead of the Institution initiating the calls, eLumen makes the calls to the Institution. The primary use case for these calls is at the completion of a Course Workflow in eLumen. If your institution utilizes eLumen’s Course Workflow functionality and you want to import the completed Courses into your SIS you will want to implement the code that supports the following two APIs.

When a course workflow is completed in eLumen a /course-partial-validation call is made to the institution to validate the course, obtain a unique identifier for the course, and store that identifier in eLumen to be used to keep the two representations of the course in sync. That is followed by a /course-full-validation which sends that completed version of the course to the institution to be stored in the SIS. In the case where the unique identifier is not sent over synchronously, it can also be updated asynchronously using the endpoint to update the curriculum ID.

As with the RESTful APIs, in order to use these Integrations, a developer at the institution will create the program that receives these calls from eLumen and processes them accordingly.

Using a combination of RESTful APIs and 3rd party integration allows institutions to be in sync with eLumen, and by extension with the Partner applications that eLumen integrates with.

CURRICULAR CONFIGURATION and SIS INTEGRATION

eLumen’s SIS integration suite is comprised of three major components today:

  1. Data Delegation Service

The Data Delegation Service allows eLumen to delegate the management of certain sets of data to an external system. In other words, eLumen periodically fetches the data from the source (PeopleSoft Campus Solutions for example).

eLumen calls APIs on SIS that were specifically built to return various sets of lookup data. These lookups are used directly in the eLumen Course Workflow, and are based on Swagger specifications designed by eLumen.

There are no modules pre-built for code-less inclusion by future integrators at this time. The following enumeration describes the objects that are currently supported:

AcademicCareer NationalTaxonomy
AcademicGroup RequirementGroup
Campus Subject
CourseAttribute Term
ModeOfDelivery

3RD PARTY API SPECIFICATIONS

The /GetReference/* API endpoints define the APIs the institution must build for the Data Delegation Service to access the objects in the remote system.

  1. elumen Curriculum API:

Our APIs allow external systems to take action on our platform at will - the capabilities are currently limited to retrieval (GET list OR by id), whereas future capabilities will include read and write (POST, PUT, DELETE) operations.

A client can call an API on eLumen to retrieve Course information (/fullcourses GET) both in real-time (ad hoc) as well as a nightly batch reconciliation operation (safety-net to avoid synchronization drift.)

The /fullcourses API endpoint is live, the rest are under proposal.

eLumen Curriculum API

  1. eLumen Course Workflow validation & save:

eLumen calls an API on PeopleSoft to validate the course workflow, and then to save it to the SIS.

3rd Party API Specifications

The /CourseOperation API endpoint defines the API the institution must build for the eLumen Course Workflow validation to work.

Import Enrollment Data

eLumen is a data-driven solution for managing curriculum and course catalog, assessment, continuous improvement and student success.

eLumen can be the system of record for Student Learning Outcomes (SLOs) or Competencies, program requirements, the course catalog, student Education Plans, and student competency scores.

In order to manage this data, eLumen requires data from other systems at the institution, but the most important is the data within the Student Information System (SIS). This guide reviews how SIS data is initially populated within eLumen during implementation and how this data is kept up to date during ongoing use. eLumen will provide additional guidance to the appropriate personnel on importing SLOs and curriculum data.

STEP 1: Set Up Authentication

Please refer to THIS GUIDE to set up authentication, in order to connect to eLumen's endpoints.

STEP 2: Load or Create Organizations, Academic Terms and Key Users

Before loading courses, eLumen requires at minimum the list of the organizations that own courses, a current academic term, and any other key users who will access eLumen during implementation. Each of these can be manually created by users or loaded using endpoints.

See Endpoints Documentation:

STEP 3: Create Courses

Courses in your course catalog are necessary so they can receive SLOs, sections, and other curriculum data.

STEP 4: Load Enrollment Information

See Endpoints Documentation:

Endpoints

Follow these steps to operate on a specified resource:

  1. Configure a REST verb action, like GET, POST, PUT, to the desired endpoint.
  2. Add the generated token as a Bearer Token.
  3. Submit the message.

If the authentication is correct and your token is not expired it will either display all requested information from the site, or will attempt to perform the stated operation.

Below you will be able to see all the APIs that are available right now.

Assessment Endpoints

eLumen's Common API allows an application / user to perform standard operations on common aspects of the eLumen platform.

https://apidocs.elumenapp.caaom/index.html#tag/Assessment

Curriculum Endpoints

eLumen's Curriculum API allows an application / user to perform standard operations on key Curriculum elements including Courses and Programs and related objects.

https://apidocs.elumenapp.caaom/index.html#tag/Courses

Student Endpoints

eLumen's Student API allows an application / user to perform standard operations on key Student elements.

https://apidocs.elumenapp.caaom/index.html#tag/Enrollments

3rd Party Integration Specifications

eLumen can integrate with external systems by pulling data from those systems into eLumen. Provided that your service adheres to these specifications, eLumen can pull data from that external system.

https://apidocs.elumenapp.caaom/index.html#tag/3rdParty

Authentication / Authorization

Operations about authentication

Retrieve an auth token to use in subsequent calls to the API.

Allows an user / application request an authentication token for use in authenticating with the API. A client ID and secret are required parameters and are supplied in the POST body. The token returned is only valid for 24 hours. The user / application will need to call this service again to negotiate a new token after expiry.

Request Body schema: application/json
clientId
string

The Client ID representing the integrating application. Please use a unique Client ID for each application integrating with eLumen.

apiKey
string

The Client Secret provided when the Client ID was created. If you cannot find your Client Secret, you will have to create a new Client ID as the secret is encrypted and cannot be retrieved once created.

Responses

Request samples

Content type
application/json
{
  • "clientId": "myapiclient",
  • "apiKey": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX"
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Persons

Operations about students and faculty

Create Faculty and Student users

Allows a user / application to send a POST request in order to create a new faculty or student user in eLumen.

Request Body schema: application/json
emailAddress
string
firstName
string
lastName
string
loginId
string
roles
Array of strings (Roles)
Items Enum: "student" "faculty"
techId
string

Responses

Request samples

Content type
application/json
{
  • "emailAddress": "arthur@elumen.info",
  • "firstName": "Arthur",
  • "lastName": "Morgan",
  • "loginId": "amorgan",
  • "roles": [
    ],
  • "techId": "AM10284"
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Search for faculty or student information

Allows a user / application to send a GET request in order to retrieve the data for a list of persons in eLumen.

query Parameters
role
string

Filter by role, for example (Data Steward, Course Coordinator and so on).

createdSince
string <date-time>

Filter by creation date in ISO8601 format.

originSystem
string

Used to define the system that created the naturalKey mapping for this course. When this value is supplied, the naturalKey field is required as well (keys are unique only by originSystem).

limit
integer

To specify non-default paging, set the limit to the maximum number of records you want returned. If not supplied, the default value (100) will be used.

page
integer

To specify non-default paging, set the page to the page number desired, based on the limit. If not supplied, the default value (1) will be used.

sortField
string

The field that wants to be used for sorting, could be (techId, firstName, lastName or id), default is (id).

sortOrder
string

Defines the order either ascendent(asc) or descendent(desc).

Responses

Request samples

curl --request GET \
  --url 'https://api.elumenapp.com/persons?role=SOME_STRING_VALUE&createdSince=SOME_STRING_VALUE&originSystem=SOME_STRING_VALUE&limit=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": [
    ]
}

Get information for a faculty or student

Allows a user / application to send a GET request in order to retrieve the data of an specific person in eLumen.

path Parameters
id
required
integer <int32>

The numeric id that uniquely identifies a person.

Responses

Request samples

curl --request GET \
  --url https://api.elumenapp.com/persons/%7Bid%7D

Response samples

Content type
application/json
{
  • "id": 1234,
  • "emailAddress": "arthur@elumen.info",
  • "firstName": "Arthur",
  • "lastName": "Morgan",
  • "loginId": "amorgan",
  • "roles": [
    ],
  • "techId": "AM10284"
}

Updates a person in eLumen.

Allows a user / application to send a PUT request in order to update a person in eLumen.

path Parameters
id
required
integer <int32>

The numeric id that uniquely identifies a person.

Request Body schema: application/json
emailAddress
string
firstName
string
lastName
string
loginId
string
techId
string

Responses

Request samples

Content type
application/json
{
  • "emailAddress": "arthur@elumen.info",
  • "firstName": "Arthur",
  • "lastName": "Morgan",
  • "loginId": "amorgan",
  • "techId": "AM10284"
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": { }
}

Delete a Person

Allows a user / application to send a DELETE request in order to delete the data of an specific person in eLumen.

path Parameters
id
required
integer <int32>

The numeric id that uniquely identifies a person.

Responses

Request samples

curl --request DELETE \
  --url https://api.elumenapp.com/persons/%7Bid%7D

Post demographic data information for a student

Allows a user / application to send a POST request in order to add the demographic data of an specific person in eLumen.

path Parameters
id
required
integer <int32>

The numeric id that uniquely identifies a person.

Request Body schema: application/json
categoryId
required
integer <int32>
value
required
string

Responses

Request samples

Content type
application/json
{
  • "categoryId": "1",
  • "value": "Female"
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Get demographic data information for a student

Allows a user / application to send a GET request in order to retrieve the demographic data of an specific person in eLumen.

path Parameters
id
required
integer <int32>

The numeric id that uniquely identifies a person.

query Parameters
limit
integer

To specify non-default paging, set the limit to the maximum number of records you want returned. If not supplied, the default value (100) will be used.

page
integer

To specify non-default paging, set the page to the page number desired, based on the limit. If not supplied, the default value (1) will be used.

sortField
string

The field that wants to be used for sorting, could be (id or value), default is (id).

sortOrder
string

Defines the order either ascendent(asc) or descendent(desc), default is (asc).

Responses

Request samples

curl --request GET \
  --url 'https://api.elumenapp.com/persons/%7Bid%7D/demographics?limit=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": [
    ]
}

Demographic Categories

Operations about demographic categories

Post Demographic Category

Allows a user / application to send a POST request in order to create a demographic category in eLumen.

Request Body schema: application/json
name
required
string
elementType
required
string
Enum: "string" "integer" "date"
cardinality
required
string
Enum: "1" "*"
sequence
required
integer
required
Array of objects (DemographicElement)

Responses

Request samples

Content type
application/json
{
  • "name": "Gender",
  • "elementType": "string",
  • "cardinality": "1",
  • "sequence": 1,
  • "elements": [
    ]
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Get all the demographic categories information

query Parameters
limit
integer

To specify non-default paging, set the limit to the maximum number of records you want returned. If not supplied, the default value (100) will be used.

page
integer

To specify non-default paging, set the page to the page number desired, based on the limit. If not supplied, the default value (1) will be used.

sortOrder
string

To specify non-default paging, set the sorting order desired for the data . If not supplied, the default value (asc) will be used.

sortField
string

To specify non-default paging, set the field desired to sort the data. If not supplied, the default value (code) will be used.

Responses

Request samples

curl --request GET \
  --url 'https://api.elumenapp.com/demographic-categories?limit=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE&sortOrder=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": [
    ]
}

Academic Terms

Operations about academic terms

Get Academic Terms

Allows a user / application to send a GET request in order to retrieve a list of academic terms in eLumen.

query Parameters
limit
integer

To specify non-default paging, set the limit to the maximum number of records you want returned. If not supplied, the default value (100) will be used.

page
integer

To specify non-default paging, set the page to the page number desired, based on the limit. If not supplied, the default value (1) will be used.

sortField
string

The field that wants to be used for sorting, could be (termCode, name, startDate or endDate), default is (termCode).

sortOrder
string

Defines the order either ascendent(asc) or descendent(desc).

Responses

Request samples

curl --request GET \
  --url 'https://api.elumenapp.com/academic-terms?limit=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": [
    ]
}

Create Academic Terms

Allows a user / application to send a POST request in order to create a new academic term in eLumen.

Request Body schema: application/json
termCode
required
string
name
required
string
description
string
startDate
required
string
endDate
required
string

Responses

Request samples

Content type
application/json
{
  • "termCode": "2016s",
  • "name": "Spring 2016",
  • "description": "Spring 2016",
  • "startDate": "2016-02-01T00:00:00+00:00",
  • "endDate": "2016-05-15T23:59:59+00:00"
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Get a single Academic Term

Allows a user / application to send a GET request in order to retrieve the data of an specific academic term in eLumen.

path Parameters
id
required
string

The alphanumeric id that uniquely identifies an academic term.

Responses

Request samples

curl --request GET \
  --url https://api.elumenapp.com/academic-terms/%7Bid%7D

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Update a single Academic Term

Allows a user / application to send a PUT request in order to update the data of an specific academic term in eLumen.

path Parameters
id
required
string

The alphanumeric id that uniquely identifies an academic term.

Request Body schema: application/json
termCode
required
string
name
required
string
description
string
startDate
required
string
endDate
required
string
id
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "termCode": "2016s",
  • "name": "Spring 2016",
  • "description": "Spring 2016",
  • "startDate": "2016-02-01T00:00:00+00:00",
  • "endDate": "2016-05-15T23:59:59+00:00",
  • "id": "1"
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Delete a single Academic Term

Deletes the academic term represented by it's term code.

path Parameters
id
required
string

The alphanumeric id that uniquely identifies an academic term.

Responses

Request samples

curl --request DELETE \
  --url https://api.elumenapp.com/academic-terms/%7Bid%7D

Campuses

Operations about campuses

Create Campuses

Allows a user / application to send a POST request in order to create a new Campus in eLumen.

Request Body schema: application/json
name
required
string
code
required
string
description
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "Main Campus",
  • "code": "OGDEN",
  • "description": "Ogdenville Main Campus"
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Get campuses information related to your institution.

Allows a user / application to send a GET request in order to retrieve all the campuses in eLumen.

query Parameters
limit
integer

To specify non-default paging, set the limit to the maximum number of records you want returned. If not supplied, the default value (100) will be used.

page
integer

To specify non-default paging, set the page to the page number desired, based on the limit. If not supplied, the default value (1) will be used.

sortOrder
string

To specify non-default paging, set the sorting order desired for the data . If not supplied, the default value (asc) will be used.

sortField
string

To specify non-default paging, set the field desired to sort the data. If not supplied, the default value (name) will be used.

Responses

Request samples

curl --request GET \
  --url 'https://api.elumenapp.com/campuses?limit=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE&sortOrder=SOME_STRING_VALUE&sortField=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": [
    ]
}

Get campuses information related to your institution.

Allows a user / application to send a GET request in order to retrieve a campus in eLumen.

path Parameters
id
required
integer <int32>

The numeric id that uniquely identifies a campus.

Responses

Request samples

curl --request GET \
  --url https://api.elumenapp.com/campuses/%7Bid%7D

Update campuses information

Allows a user / application to send a PUT request to update a campus in eLumen.

path Parameters
id
required
integer <int32>

The numeric id that uniquely identifies a campus.

Request Body schema: application/json
name
required
string
code
required
string
description
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "Main Campus",
  • "code": "OGDEN",
  • "description": "Ogdenville Main Campus"
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Remove campuses information

Allows a user / application to send a DELETE request to remove a campus from eLumen.

path Parameters
id
required
integer <int32>

The numeric id that uniquely identifies a campus.

Responses

Request samples

curl --request DELETE \
  --url https://api.elumenapp.com/campuses/%7Bid%7D

Organizations

Operations about organizations

Get organizations related to your institution.

Allows a user / application to send a GET request in order to retrieve the academic organizations in eLumen.

query Parameters
limit
integer

To specify non-default paging, set the limit to the maximum number of records you want returned. If not supplied, the default value (100) will be used.

page
integer

To specify non-default paging, set the page to the page number desired, based on the limit. If not supplied, the default value (1) will be used.

sortField
string

The field that wants to be used for sorting, could be (id or value), default is (id).

sortOrder
string

Defines the order either ascendent(asc) or descendent(desc), default is (desc).

code
string

These field represents the organization code

Responses

Request samples

curl --request GET \
  --url 'https://api.elumenapp.com/organizations?limit=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE&code=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": [
    ]
}

Create an organization related to your institution.

Allows a user / application to send a POST request in order to create a new academic organization in eLumen.

Request Body schema: application/json
code
string
name
string
description
string
parentCode
string
orgType
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "code": "BSSKL",
  • "name": "Basic Skills",
  • "description": "Basic Skills",
  • "parentCode": "MATH",
  • "orgType": 123
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Get an specific organization by id

Allows a user / application to send a GET request in order to get an specific organization by id in eLumen.

path Parameters
id
required
integer <int32>

The numeric id that uniquely identifies an organization.

Responses

Request samples

curl --request GET \
  --url https://api.elumenapp.com/organizations/%7Bid%7D

Response samples

Content type
application/json
{
  • "id": 12,
  • "code": "BSSKL",
  • "name": "Basic Skills",
  • "description": "Basic Skills",
  • "parentCode": "MATH",
  • "orgType": 123
}

Courses

Operations about Courses

courseGet

Retrieves a single Course record by it's primary key, including links to subordinate objects.

path Parameters
courseId
required
string

The primary key representing the desired Course record.

Responses

Request samples

curl --request GET \
  --url https://api.elumenapp.com/courses/%7BcourseId%7D

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

coursesSearch

Returns an array of Courses based on the search parameters provided. Search parameters are not required (open call for ALL courses for all of time), but paging will be enforced and the default limit (100) will be applied.

query Parameters
searchString
string

Used to search the course title field for matching course titles.

naturalKey
string

Used to lookup the course by natural key. When this value is supplied, the originSystem field is required as well (keys are unique only by originSystem).

originSystem
string

Used to define the system that created the naturalKey mapping for this course. When this value is supplied, the naturalKey field is required as well (keys are unique only by originSystem).

academicYear
string

Allows the caller to define a specific academicYear for which to search courses.

afterApprovalDate
string <date>

Courses returned must have been approved AFTER the date supplied.

beforeApprovalDate
string <date>

Courses returned must have been approved BEFORE the date supplied.

limit
integer

To specify non-default paging, set the limit to the maximum number of records you want returned. If not supplied, the default value (100) will be used.

page
integer

To specify non-default paging, set the page to the page number desired, based on the limit. If not supplied, the default value (1) will be used.

Responses

Request samples

curl --request GET \
  --url 'https://api.elumenapp.com/courses?searchString=SOME_STRING_VALUE&naturalKey=SOME_STRING_VALUE&originSystem=SOME_STRING_VALUE&academicYear=SOME_STRING_VALUE&afterApprovalDate=SOME_STRING_VALUE&beforeApprovalDate=SOME_STRING_VALUE&limit=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE'

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": [
    ]
}

curriculumIdPost

Store the Curriculum Id provided.

path Parameters
courseId
required
string

The Course's id used to get the record in which our curriculum id will be stored.

Request Body schema: application/json
curriculumId
required
string

Responses

Request samples

Content type
application/json
{
  • "curriculumId": "555"
}

fullCourseGet

Retrieves a single Course record by it's primary key, including all related and full subordinate objects.

path Parameters
id
required
string

The primary key representing the desired Course record.

Responses

Request samples

curl --request GET \
  --url https://api.elumenapp.com/fullcourses/%7Bid%7D

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

fullCoursesSearch

Returns an array of Full Courses based on the search parameters provided. Search parameters are not required (open call for ALL courses for all of time), but paging will be enforced and the default limit (100) will be applied.

query Parameters
searchString
string

Used to search the course title field for matching course titles.

naturalKey
string

Used to lookup the course by natural key. When this value is supplied, the originSystem field is required as well (keys are unique only by originSystem).

originSystem
string

Used to define the system that created the naturalKey mapping for this course. When this value is supplied, the naturalKey field is required as well (keys are unique only by originSystem).

academicYear
string

Allows the caller to define a specific academicYear for which to search courses.

department
string

Used to search courses by department name.

afterApprovalDate
string <date>

Courses returned must have been approved after the specified date. The format should be "yyyy-MM-ddTHH:mm:ss.SSSZ" when latestVersionOnly is true, or "yyyy-MM-dd" when latestVersionOnly is false.

beforeApprovalDate
string <date>

Courses returned must have been approved before the specified date. The format should be "yyyy-MM-ddTHH:mm:ss.SSSZ" when latestVersionOnly is true, or "yyyy-MM-dd" when latestVersionOnly is true.

latestVersionOnly
boolean
Default: true

When set to true, the API will only search for the latest version of the course. When set to false, the API will search for all versions of the course.

includeDeactivated
boolean
Default: true

When includeDeactivated is true, displays active and deactivated courses (default behavior). When includeDeactivate is false, display only active courses.

limit
integer

To specify non-default paging, set the limit to the maximum number of records you want returned. If not supplied, the default value (100) will be used.

page
integer

To specify non-default paging, set the page to the page number desired, based on the limit. If not supplied, the default value (1) will be used.

Responses

Request samples

curl --request GET \
  --url 'https://api.elumenapp.com/fullcourses?searchString=SOME_STRING_VALUE&naturalKey=SOME_STRING_VALUE&originSystem=SOME_STRING_VALUE&academicYear=SOME_STRING_VALUE&department=SOME_STRING_VALUE&afterApprovalDate=SOME_STRING_VALUE&beforeApprovalDate=SOME_STRING_VALUE&latestVersionOnly=SOME_BOOLEAN_VALUE&includeDeactivated=SOME_BOOLEAN_VALUE&limit=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE'

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": [
    ]
}

Programs

Operations about Programs

Creates a Program

Allows a user / application to send POST request in order to save a program in elumen.

Request Body schema: application/json
name
string
description
string
awardType
string
orgEntityId
integer <int32>
proposedStartTermId
integer <int32>
programJustification
string
transferabilityOption
string
rationale
string
timeForReviewQuantity
integer <int32>
timeForReviewMeasure
string
programMode
string
systemTaxonomyCode
string
nationalTaxonomyCode
string
occupationalTaxonomyCode
string
workflowTemplateName
string
Array of objects (Authors)

Author or authors of the new Program Workflow.

object (programsRuleGroup)
Array of objects (ProgramNarratives)

Program Narratives for the new Program Workflow.

Array of objects (ProgramWorkflowSloClass)

Program Workflow SLO Classes.

Array of objects (CustomFields)

Custom Fields for the new Program Workflow.

Responses

Request samples

Content type
application/json
{
  • "name": "English AA",
  • "description": "The Associate in Arts in English offers a study of composition, language and literature.",
  • "awardType": "A.A. Degree Major",
  • "orgEntityId": "1",
  • "proposedStartTermId": 1,
  • "programJustification": "Annual program update",
  • "transferabilityOption": "Transferable to CSU only",
  • "rationale": "Need to add additional courses to the program",
  • "timeForReviewQuantity": 3,
  • "timeForReviewMeasure": "years",
  • "programMode": "program",
  • "systemTaxonomyCode": "1501.00",
  • "nationalTaxonomyCode": "01.0000",
  • "occupationalTaxonomyCode": "01.0000",
  • "workflowTemplateName": "Create a Program",
  • "authors": [
    ],
  • "programsRuleGroup": {
    },
  • "programNarratives": [
    ],
  • "psloClasses": [
    ],
  • "customFields": [
    ]
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": 1
}

programSearch

Returns an array of Programs Workflows. Paging will be enforced and the default limit (100) will be applied.

query Parameters
limit
integer

To specify non-default paging, set the limit to the maximum number of records you want returned. If not supplied, the default value (100) will be used.

page
integer

To specify non-default paging, set the page to the page number desired, based on the limit. If not supplied, the default value (1) will be used.

Responses

Request samples

curl --request GET \
  --url 'https://api.elumenapp.com/programs?limit=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE'

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": [
    ]
}

Amends/revises a Program

Allows a user / application to send PUT requests in order to amend or revise a program in elumen.

Request Body schema: application/json
name
string
description
string
awardType
string
orgEntityId
integer <int32>
proposedStartTermId
integer <int32>
programJustification
string
transferabilityOption
string
rationale
string
timeForReviewQuantity
integer <int32>
timeForReviewMeasure
string
programMode
string
systemTaxonomyCode
string
nationalTaxonomyCode
string
occupationalTaxonomyCode
string
workflowTemplateName
string
programId
integer <int32>
Array of objects (Authors)

Author or authors of the new Program Workflow.

object (programsRuleGroup)
Array of objects (ProgramNarratives)

Program Narratives for the new Program Workflow.

Array of objects (ProgramWorkflowSloClass)

Program Workflow SLO Classes.

Array of objects (CustomFields)

Custom Fields for the new Program Workflow.

Responses

Request samples

Content type
application/json
{
  • "name": "English AA",
  • "description": "The Associate in Arts in English offers a study of composition, language and literature.",
  • "awardType": "A.A. Degree Major",
  • "orgEntityId": "1",
  • "proposedStartTermId": 1,
  • "programJustification": "Annual program update",
  • "transferabilityOption": "Transferable to CSU only",
  • "rationale": "Need to add additional courses to the program",
  • "timeForReviewQuantity": 3,
  • "timeForReviewMeasure": "years",
  • "programMode": "program",
  • "systemTaxonomyCode": "1501.00",
  • "nationalTaxonomyCode": "01.0000",
  • "occupationalTaxonomyCode": "01.0000",
  • "workflowTemplateName": "Revise a Program",
  • "programId": 1,
  • "authors": [
    ],
  • "programsRuleGroup": {
    },
  • "programNarratives": [
    ],
  • "psloClasses": [
    ],
  • "customFields": [
    ]
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": 1
}

Program Requirements

Returns Rules from a program identified by the id provided in the parameter.

path Parameters
program-id
required
integer <int32>

The primary key representing the desired Program record.

Responses

Request samples

curl --request GET \
  --url https://api.elumenapp.com/programs/v2/%7Bprogram-id%7D/requirements

Response samples

Content type
application/json
{
  • "name": "Banking and Financial Services, A.A.S.-Course Group",
  • "condition": "ALL_RULE",
  • "minValue": 3,
  • "maxValue": 0,
  • "programsRuleGroup": [
    ],
  • "type": "RULE_GROUP"
}

Program Outcomes

Returns an array of Program outcomes based on the program id provided in parameters.

path Parameters
program-id
required
integer <int32>

The primary key representing the desired Program record.

query Parameters
page
integer

To specify non-default paging, set the page to the page number desired, based on the limit. If not supplied, the default value (1) will be used.

limit
integer

To specify non-default paging, set the limit to the maximum number of records you want returned. If not supplied, the default value (100) will be used.

sortField
string

The field that wants to be used for sorting, could be (id), default is (id).

sortOrder
string

Defines the order either ascendent(asc) or descendent(desc).

Responses

Request samples

curl --request GET \
  --url 'https://api.elumenapp.com/programs/v2/%7Bprogram-id%7D/outcomes?page=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": [
    ]
}

SectionAttributes

Operations about Sections Attributes

Post information for section attributes

Allows a user / application to send POST request in order to save the section attributes in elumen.

Request Body schema: application/json
name
required
string
description
required
string
objectType
required
string
Enum: "Course" "Context"

Responses

Request samples

Content type
application/json
{
  • "name": "Face-to-face",
  • "description": "A face-to-face course is one in which instruction is delivered fully on-site with face-to-face interaction between the instructor and student.",
  • "objectType": "Course"
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Sections

Operations about Sections

Get section information for an specific section and course

Allows a user / application to send a GET request in order to retrieve the data of an specific section in eLumen.

path Parameters
courseId
required
integer <int32>

The numeric id that uniquely identifies a course.

sectionId
required
integer <int32>

The numeric id that uniquely identifies a section.

Responses

Request samples

curl --request GET \
  --url https://api.elumenapp.com/courses/%7BcourseId%7D/sections/%7BsectionId%7D

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Updates a section in eLumen.

Allows a user / application to send a PUT request in order to update a section in eLumen.

path Parameters
courseId
required
integer <int32>

The numeric id that uniquely identifies a course.

sectionId
required
integer <int32>

The numeric id that uniquely identifies a section.

Request Body schema: application/json
name
string
title
string
description
string
statusId
number

Responses

Request samples

Content type
application/json
{
  • "name": "Filmmaking Lab",
  • "title": "Filmmaking Lab - Practice",
  • "description": "This is a filmmaking lab",
  • "statusId": 42
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": { }
}

Delete section information for an specific section and course

Allows a user / application to send a DELETE request in order to remove the data of an specific section in eLumen.

path Parameters
courseId
required
integer <int32>

The numeric id that uniquely identifies a course.

sectionId
required
integer <int32>

The numeric id that uniquely identifies a section.

query Parameters
assessmentOverride
required
boolean

Boolean flag that determines whether to proceed with the deletion of a course section if the section has associated scored assessments. If this flag is set to false, or omitted, and scored assessments are associated with the section, a 409 Conflict error code will be returned.

Responses

Request samples

curl --request DELETE \
  --url 'https://api.elumenapp.com/courses/%7BcourseId%7D/sections/%7BsectionId%7D?assessmentOverride=SOME_BOOLEAN_VALUE'

Get all of the section data for an specific course

Allows a user / application to send a GET request in order to retrieve the sections of an specific course in eLumen.

path Parameters
courseId
required
integer <int32>

The numeric id that uniquely identifies a course.

query Parameters
limit
integer

To specify non-default paging, set the limit to the maximum number of records you want returned. If not supplied, the default value (100) will be used.

page
integer

To specify non-default paging, set the page to the page number desired, based on the limit. If not supplied, the default value (1) will be used.

sortField
string

The field that wants to be used for sorting, could be (id), default is (id).

sortOrder
string

Defines the order either ascendent(asc) or descendent(desc).

Responses

Request samples

curl --request GET \
  --url 'https://api.elumenapp.com/courses/%7BcourseId%7D/sections?limit=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": [
    ]
}

Post information for sections for an specific course

Allows a user / application to send a POST request in order to save the sections of an specific course in eLumen.

path Parameters
courseId
required
integer <int32>

The numeric id that uniquely identifies a course.

Request Body schema: application/json
sectionId
required
string
yearTerm
required
string
name
string
orgEntityId
integer <int32>
campusId
string
sectionAttributes
Array of integers <int32> [ items <int32 > ]

Responses

Request samples

Content type
application/json
{
  • "sectionId": "ACCT102006",
  • "yearTerm": "2018su",
  • "name": "XM1",
  • "orgEntityId": 1,
  • "campusId": "MOL",
  • "sectionAttributes": [
    ]
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Instructors

Operations about Instructors

Associate an instructor with a section

Allows a user / application to send a POST request in order to associate a instructor with an specific section in eLumen.

path Parameters
courseId
required
integer <int32>

The numeric id that uniquely identifies a course.

sectionId
required
integer <int32>

The numeric id that uniquely identifies a section

personId
required
integer <int32>

The numeric id that uniquely identifies a person

Request Body schema: application/json
active
string
Enum: "true" "false"

Responses

Request samples

Content type
application/json
{
  • "active": "true"
}

Updates an Instructor in eLumen.

Allows a user / application to send a PUT request in order to update an instructor in eLumen.

path Parameters
courseId
required
integer <int32>

The numeric id that uniquely identifies a course.

sectionId
required
integer <int32>

The numeric id that uniquely identifies a section

personId
required
integer <int32>

The numeric id that uniquely identifies a person

Request Body schema: application/json
active
boolean

Responses

Request samples

Content type
application/json
{
  • "active": false
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": { }
}

Retrieve the list of instructors per section and course

Allows a user / application to send a GET request in order to retrieve a list of instructors for a specific section and course in eLumen.

path Parameters
courseId
required
integer <int32>

The numeric id that uniquely identifies a course.

sectionId
required
integer <int32>

The numeric id that uniquely identifies a section

Responses

Request samples

curl --request GET \
  --url https://api.elumenapp.com/courses/%7BcourseId%7D/sections/%7BsectionId%7D/instructors

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": [
    ]
}

Enrollments

Operation about enrollments

Get a single Enrollment

Allows a user / application to send a GET request in order to retrieve the data of an specific enrollment in eLumen.

path Parameters
id
required
string

The alphanumeric id that uniquely identifies an enrollment.

Responses

Request samples

curl --request GET \
  --url https://api.elumenapp.com/enrollments/%7Bid%7D

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Delete an enrollment

Allows a user / application to send a DELETE request in order to remove an enrollment in eLumen.

path Parameters
id
required
integer <int32>

The alphanumeric id that uniquely identifies an enrollment.

Responses

Request samples

curl --request DELETE \
  --url https://api.elumenapp.com/enrollments/%7Bid%7D

Get Enrollments

Allows a user / application to send a GET request in order to retrieve the data of all of the enrollments related to a PersonId or a SectionID. In order for this to work, it should include a query param with the sectionId or the personID

query Parameters
limit
integer

To specify non-default paging, set the limit to the maximum number of records you want returned. If not supplied, the default value (100) will be used.

page
integer

To specify non-default paging, set the page to the page number desired, based on the limit. If not supplied, the default value (1) will be used.

sortField
string

The field that wants to be used for sorting, could be (name or code), default is (code).

sortOrder
string

Defines the order either ascendent(asc) or descendent(desc).

Responses

Request samples

curl --request GET \
  --url 'https://api.elumenapp.com/enrollments?limit=SOME_INTEGER_VALUE&page=SOME_INTEGER_VALUE&sortField=SOME_STRING_VALUE&sortOrder=SOME_STRING_VALUE'

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": [
    ]
}

Create an Enrollment

Allows a user / application to send a POST request in order to create a new enrollment in eLumen.

Request Body schema: application/json
personTechId
required
string

The external ID of the student to be enrolled in the section

sectionId
required
string

The external ID of the section where the student will be enrolled

yearTerm
required
string

The external ID of the term where the section is offered

Responses

Request samples

Content type
application/json
{
  • "personTechId": "187763",
  • "sectionId": "ENG120003",
  • "yearTerm": "2023fa"
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Assign an Evaluator

Allows a user / application to send a POST request in order to assign a Faculty to a Section as an Evaluator in eLumen.

Request Body schema: application/json
personTechId
required
string

The external ID of the evaluator to be assigned to the section

sectionId
required
string

The external ID of the section where the evaluator will be assigned

yearTerm
required
string

The external ID of the term where the section is offered

Responses

Request samples

Content type
application/json
{
  • "personTechId": "187763",
  • "sectionId": "ENG120003",
  • "yearTerm": "2023fa"
}

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

Assessment

Operations about Assessment

assessmentGet

Retrieves an assessment.

path Parameters
id
required
string

The primary key representing the desired Assessment.

Responses

Request samples

curl --request GET \
  --url https://api.elumenapp.com/assessment

Response samples

Content type
application/json
{
  • "metadata": {
    },
  • "data": {
    }
}

3rdParty

getReference

Defines an endpoint that would return a set of reference data from the source system. Types that may follow the standard model for reference data include the following types:

  • Academic Group (ACAD_GROUP)
  • Academic Organization (ACAD_ORG) * under review
  • Campus (CAMPUS)
  • Field of Education / FOE Code (SSR_FLD_OF_EDUCATN)
  • Requirement Group (RQRMNT_GROUP)
  • Subject (SUBJECT)

Note: Potentially there are other sets of data that could match the reference schema. Please contact eLumen directly to discuss your ideas.

path Parameters
REFTYPE
required
string

The Reference Type indicating the type of reference data requested from the service.

Responses

Request samples

curl --request GET \
  --url https://api.elumenapp.com/GetReference/%7BREFTYPE%7D

Response samples

Content type
application/json
{
  • "data": [
    ]
}

getAcademicGroup

Defines an endpoint that would return a set of Academic Groups from the source system. Academic Group is just one example of a type that uses the standard model for reference data supporting the types described in /GetReference/{REFTYPE} above.

Responses

Request samples

curl --request GET \
  --url https://api.elumenapp.com/GetReference/ACAD_GROUP

Response samples

Content type
application/json
{
  • "data": [
    ]
}

getTerm

Defines an endpoint that would return a set of Terms from the source system. Term uses an extended standard model for reference data supporting Term types:

  • TERM_VAL_TBL
  • TERM_CATEGORY
  • FIRST_TERM_VALID
  • SSR_LAST_ADM_TERM
  • Semester Term (STRM)

Responses

Request samples

curl --request GET \
  --url https://api.elumenapp.com/GetReference/TERM

Response samples

Content type
application/json
{
  • "data": [
    ]
}

coursePartialValidation

Validates a course in progress. This is expected to validate the non-null fields of the course object, or in other words the fields that the user has completed up to this point

Request Body schema: application/json

Course in progress to be validated

workflowTemplateName
string

The name of the workflow template.

workflowTemplateId
integer <int32>

The internal id of the workflow template.

workflowStartingDate
string <date-time>

The date on which the workflow was initiated.

institution
string

The displayable title of the institution.

courseId
integer

The internal id of the course

internalId
integer <int32>

The primary key of the course

proposalStartDate
string <date-time>

The date on which the proposal was initiated.

number
integer <int32>

The unique course number.

courseTitle
string

The displayable title of the course.

courseDescription
string

A long description of the course for display purposes.

courseStatus
string (Status)
Enum: "Active" "Pending" "Inactive"

The status of the course at the present moment. Courses that are active are usable and publishable.

outline
string

The course outline.

retakePolicyDescription
string

The retake policy description text.

object (AcademicYear)

Defines the structure of an Academic Year.

object (OrganizationEntityModel)
Array of objects (CourseCoordinatorV2)

The coordinators that may be associated with the course.

Array of objects (CourseAuthor)

The list of authors of the course.

Array of objects (Campus)

The campuses the course may be taught at.

Array of objects (TermSubTypeV2)

The terms in which the course may be taught.

Array of objects (CreditsAndHours)

The hours required for the course, and the credits awarded for successful completion of the course.

Array of objects (FullOffering)

The list of offerings for the course.

shortCourseTitle
string

The shorter version of the title of the course.

Array of objects (NaturalKey)

Natural keys represent the identifiers in multiple different systems.

Array of objects (CustomLookupFieldOptions)

The methods by which the course will be graded.

Array of objects (CustomLookupFieldOptions)

The academic group that is associated with the course.

Array of objects (CourseAttributesPair)
object

The subject being taught in the course.

object

Courses with related content must be grouped into families.

object

The level the course is being taught at.

object
Array of objects (AcademicCareerOptions)

The academic career that is associated with the course.

object
object
Array of objects (OutcomesFull)

The outcomes expected to be achieved by taking the course.

Array of objects (Objectives)

The objectives of the course.

Array of objects (AssociatedPrograms)

The programs associated with the course.

variableCreditUnits
boolean
Default: true

Declares if the course has variable credits and/or units.

elearningPlatform
boolean

If the course has eLearningPlatform or not.

Array of objects (ModeOfDelivery)

Defines the delivery mode of the course.

Array of objects (MethodsOfEvaluation)

The evaluation methods used in the course.

totalWeightMethodsOfEvaluation
number <double>

The total weight of evaluation methods used in the course.

assignments
string

Assignments defined for the course.

Array of objects (TextbooksAndMaterials)

Which textbooks and other materials are required for the course.

Array of objects

Course topics

lastModificationDate
string <date>

The last date/time the course was modified.

Array of objects (MethodsOfInstruction)

The instruction methods used in the course.

Array of objects (CustomField)

Custom fields that define additional user-defined data on a course.

Array of objects (LimitationsEnrollment)

A list of Limitations of the enrollment required for course.

object (RequisitesRules)
controlNumber
string
distanceEducationApproved
boolean
distanceEducationCourse
boolean
startTerm
string
committeeApprovalDate
string
trusteesApprovalDate
string
reviewApprovalDate
string
courseCoopWorkExpEdStatus
boolean

This element indicates whether the course is part of a cooperative work experience education program. (CB10)

object (CurriculumFieldObject)
object (CurriculumFieldObject)
object (CurriculumFieldObject)
object (CurriculumFieldObject)
object (CurriculumFieldObject)
object (CurriculumFieldObject)
gradeDescription
string
courseExternalId
string
courseSupportCourseStatus
string
assessmentRelatedRequirement
string
courseGeneralEducationStatus
string
stackedCourseOnlyRationale
string
estimatedEnrollment
integer
availableForNonAwardStudy
boolean
stackedCourseOnly
boolean
Array of objects (AssessmentSummary)
curriculumId
string

The internal curriculum ID that may be used for the course.

courseCrosswalkDepartment
string

The crosswalk department (CB19) value for the course.

courseCrosswalkNumber
string

The crosswalk number (CB20) value for the course.

timeToNextReview
string

The amount of time (days/months/years) before the next review.

dateForNextReview
string <date>

The date for next review of the course.

courseVersionStatus
string

The status (Approved/In Development) of the course

transferabilityOption
string

The transferability options of the course

Array of objects (RequestsForTransferability)

Defines the Request for General Education Transferability List of the course.

materialsFee
string

The materials fee of the course

Responses

Request samples

Content type
application/json
{
  • "workflowTemplateName": "string",
  • "workflowTemplateId": 789,
  • "workflowStartingDate": "2019-08-24T14:15:22Z",
  • "institution": "string",
  • "courseId": 789,
  • "internalId": 789,
  • "proposalStartDate": "2019-08-24T14:15:22Z",
  • "number": 0,
  • "courseTitle": "string",
  • "courseDescription": "string",
  • "courseStatus": "Active",
  • "outline": "string",
  • "retakePolicyDescription": "string",
  • "academicYear": {
    },
  • "department": {
    },
  • "intendedCoordinators": [
    ],
  • "authors": [
    ],
  • "intendedCampuses": [
    ],
  • "intendedTerms": [
    ],
  • "creditsAndHours": [
    ],
  • "offerings": [
    ],
  • "shortCourseTitle": "string",
  • "naturalKeys": [
    ],
  • "gradingMethod": [
    ],
  • "academicGroup": [
    ],
  • "courseAttributeList": [
    ],
  • "subject": {
    },
  • "courseFamily": {
    },
  • "courseLevel": {
    },
  • "courseCodeSuffix": {
    },
  • "academicCareer": [
    ],
  • "systemTaxonomyCode": {
    },
  • "nationalTaxonomyCode": {
    },
  • "outcomes": [
    ],
  • "objectives": [
    ],
  • "associatedPrograms": [
    ],
  • "variableCreditUnits": true,
  • "elearningPlatform": true,
  • "modeOfDelivery": [
    ],
  • "methodsOfEvaluation": [
    ],
  • "totalWeightMethodsOfEvaluation": 100,
  • "assignments": "string",
  • "textbooksAndMaterials": [
    ],
  • "courseTopics": [
    ],
  • "lastModificationDate": "2019-08-24",
  • "methodsOfInstruction": [
    ],
  • "customFields": [
    ],
  • "limitationsEnrollments": [
    ],
  • "requisites": {
    },
  • "controlNumber": "string",
  • "distanceEducationApproved": true,
  • "distanceEducationCourse": true,
  • "startTerm": "string",
  • "committeeApprovalDate": "string",
  • "trusteesApprovalDate": "string",
  • "reviewApprovalDate": "string",
  • "courseCoopWorkExpEdStatus": true,
  • "basicSkillStatus": {
    },
  • "courseTransferStatus": {
    },
  • "coursePriorToCollegeLevel": {
    },
  • "courseSpecialClassStatus": {
    },
  • "courseCreditStatus": {
    },
  • "courseNonCreditCategory": {
    },
  • "gradeDescription": "string",
  • "courseExternalId": "string",
  • "courseSupportCourseStatus": "string",
  • "assessmentRelatedRequirement": "string",
  • "courseGeneralEducationStatus": "string",
  • "stackedCourseOnlyRationale": "string",
  • "estimatedEnrollment": 0,
  • "availableForNonAwardStudy": true,
  • "stackedCourseOnly": true,
  • "assessmentSummary": [
    ],
  • "curriculumId": "string",
  • "courseCrosswalkDepartment": "string",
  • "courseCrosswalkNumber": "string",
  • "timeToNextReview": "string",
  • "dateForNextReview": "2019-08-24",
  • "courseVersionStatus": "string",
  • "transferabilityOption": "string",
  • "requestsForTransferability": [
    ],
  • "materialsFee": "string"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "courseCode": "MATH101",
  • "data": [ ],
  • "errors": [ ],
  • "message": "Course has no validation errors."
}

courseFullValidation

Validates the completed course workflow. This is expected to validate all the fields given that this is the last validation of a course. If this is successful the course will be created.

Request Body schema: application/json

Course to be validated

workflowTemplateName
string

The name of the workflow template.

workflowTemplateId
integer <int32>

The internal id of the workflow template.

workflowStartingDate
string <date-time>

The date on which the workflow was initiated.

institution
string

The displayable title of the institution.

courseId
integer

The internal id of the course

internalId
integer <int32>

The primary key of the course

proposalStartDate
string <date-time>

The date on which the proposal was initiated.

number
integer <int32>

The unique course number.

courseTitle
string

The displayable title of the course.

courseDescription
string

A long description of the course for display purposes.

courseStatus
string (Status)
Enum: "Active" "Pending" "Inactive"

The status of the course at the present moment. Courses that are active are usable and publishable.

outline
string

The course outline.

retakePolicyDescription
string

The retake policy description text.

object (AcademicYear)

Defines the structure of an Academic Year.

object (OrganizationEntityModel)
Array of objects (CourseCoordinatorV2)

The coordinators that may be associated with the course.

Array of objects (CourseAuthor)

The list of authors of the course.

Array of objects (Campus)

The campuses the course may be taught at.

Array of objects (TermSubTypeV2)

The terms in which the course may be taught.

Array of objects (CreditsAndHours)

The hours required for the course, and the credits awarded for successful completion of the course.

Array of objects (FullOffering)

The list of offerings for the course.

shortCourseTitle
string

The shorter version of the title of the course.

Array of objects (NaturalKey)

Natural keys represent the identifiers in multiple different systems.

Array of objects (CustomLookupFieldOptions)

The methods by which the course will be graded.

Array of objects (CustomLookupFieldOptions)

The academic group that is associated with the course.

Array of objects (CourseAttributesPair)
object

The subject being taught in the course.

object

Courses with related content must be grouped into families.

object

The level the course is being taught at.

object
Array of objects (AcademicCareerOptions)

The academic career that is associated with the course.

object
object
Array of objects (OutcomesFull)

The outcomes expected to be achieved by taking the course.

Array of objects (Objectives)

The objectives of the course.

Array of objects (AssociatedPrograms)

The programs associated with the course.

variableCreditUnits
boolean
Default: true

Declares if the course has variable credits and/or units.

elearningPlatform
boolean

If the course has eLearningPlatform or not.

Array of objects (ModeOfDelivery)

Defines the delivery mode of the course.

Array of objects (MethodsOfEvaluation)

The evaluation methods used in the course.

totalWeightMethodsOfEvaluation
number <double>

The total weight of evaluation methods used in the course.

assignments
string

Assignments defined for the course.

Array of objects (TextbooksAndMaterials)

Which textbooks and other materials are required for the course.

Array of objects

Course topics

lastModificationDate
string <date>

The last date/time the course was modified.

Array of objects (MethodsOfInstruction)

The instruction methods used in the course.

Array of objects (CustomField)

Custom fields that define additional user-defined data on a course.

Array of objects (LimitationsEnrollment)

A list of Limitations of the enrollment required for course.

object (RequisitesRules)
controlNumber
string
distanceEducationApproved
boolean
distanceEducationCourse
boolean
startTerm
string
committeeApprovalDate
string
trusteesApprovalDate
string
reviewApprovalDate
string
courseCoopWorkExpEdStatus
boolean

This element indicates whether the course is part of a cooperative work experience education program. (CB10)

object (CurriculumFieldObject)
object (CurriculumFieldObject)
object (CurriculumFieldObject)
object (CurriculumFieldObject)
object (CurriculumFieldObject)
object (CurriculumFieldObject)
gradeDescription
string
courseExternalId
string
courseSupportCourseStatus
string
assessmentRelatedRequirement
string
courseGeneralEducationStatus
string
stackedCourseOnlyRationale
string
estimatedEnrollment
integer
availableForNonAwardStudy
boolean
stackedCourseOnly
boolean
Array of objects (AssessmentSummary)
curriculumId
string

The internal curriculum ID that may be used for the course.

courseCrosswalkDepartment
string

The crosswalk department (CB19) value for the course.

courseCrosswalkNumber
string

The crosswalk number (CB20) value for the course.

timeToNextReview
string

The amount of time (days/months/years) before the next review.

dateForNextReview
string <date>

The date for next review of the course.

courseVersionStatus
string

The status (Approved/In Development) of the course

transferabilityOption
string

The transferability options of the course

Array of objects (RequestsForTransferability)

Defines the Request for General Education Transferability List of the course.

materialsFee
string

The materials fee of the course

Responses

Request samples

Content type
application/json
{
  • "workflowTemplateName": "string",
  • "workflowTemplateId": 789,
  • "workflowStartingDate": "2019-08-24T14:15:22Z",
  • "institution": "string",
  • "courseId": 789,
  • "internalId": 789,
  • "proposalStartDate": "2019-08-24T14:15:22Z",
  • "number": 0,
  • "courseTitle": "string",
  • "courseDescription": "string",
  • "courseStatus": "Active",
  • "outline": "string",
  • "retakePolicyDescription": "string",
  • "academicYear": {
    },
  • "department": {
    },
  • "intendedCoordinators": [
    ],
  • "authors": [
    ],
  • "intendedCampuses": [
    ],
  • "intendedTerms": [
    ],
  • "creditsAndHours": [
    ],
  • "offerings": [
    ],
  • "shortCourseTitle": "string",
  • "naturalKeys": [
    ],
  • "gradingMethod": [
    ],
  • "academicGroup": [
    ],
  • "courseAttributeList": [
    ],
  • "subject": {
    },
  • "courseFamily": {
    },
  • "courseLevel": {
    },
  • "courseCodeSuffix": {
    },
  • "academicCareer": [
    ],
  • "systemTaxonomyCode": {
    },
  • "nationalTaxonomyCode": {
    },
  • "outcomes": [
    ],
  • "objectives": [
    ],
  • "associatedPrograms": [
    ],
  • "variableCreditUnits": true,
  • "elearningPlatform": true,
  • "modeOfDelivery": [
    ],
  • "methodsOfEvaluation": [
    ],
  • "totalWeightMethodsOfEvaluation": 100,
  • "assignments": "string",
  • "textbooksAndMaterials": [
    ],
  • "courseTopics": [
    ],
  • "lastModificationDate": "2019-08-24",
  • "methodsOfInstruction": [
    ],
  • "customFields": [
    ],
  • "limitationsEnrollments": [
    ],
  • "requisites": {
    },
  • "controlNumber": "string",
  • "distanceEducationApproved": true,
  • "distanceEducationCourse": true,
  • "startTerm": "string",
  • "committeeApprovalDate": "string",
  • "trusteesApprovalDate": "string",
  • "reviewApprovalDate": "string",
  • "courseCoopWorkExpEdStatus": true,
  • "basicSkillStatus": {
    },
  • "courseTransferStatus": {
    },
  • "coursePriorToCollegeLevel": {
    },
  • "courseSpecialClassStatus": {
    },
  • "courseCreditStatus": {
    },
  • "courseNonCreditCategory": {
    },
  • "gradeDescription": "string",
  • "courseExternalId": "string",
  • "courseSupportCourseStatus": "string",
  • "assessmentRelatedRequirement": "string",
  • "courseGeneralEducationStatus": "string",
  • "stackedCourseOnlyRationale": "string",
  • "estimatedEnrollment": 0,
  • "availableForNonAwardStudy": true,
  • "stackedCourseOnly": true,
  • "assessmentSummary": [
    ],
  • "curriculumId": "string",
  • "courseCrosswalkDepartment": "string",
  • "courseCrosswalkNumber": "string",
  • "timeToNextReview": "string",
  • "dateForNextReview": "2019-08-24",
  • "courseVersionStatus": "string",
  • "transferabilityOption": "string",
  • "requestsForTransferability": [
    ],
  • "materialsFee": "string"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "courseCode": "MATH101",
  • "data": [ ],
  • "errors": [ ],
  • "message": "Course has no validation errors."
}

courseExternalCreation

Creates the course in a external system

Request Body schema: application/json

Course to be created

institution
string

The displayable title of the institution.

courseId
integer

The internal id of the course

internalId
integer <int32>

The primary key of the course

proposalStartDate
string <date-time>

The date on which the proposal was initiated.

number
integer <int32>

The unique course number.

courseTitle
string

The displayable title of the course.

courseDescription
string

A long description of the course for display purposes.

courseStatus
string (Status)
Enum: "Active" "Pending" "Inactive"

The status of the course at the present moment. Courses that are active are usable and publishable.

outline
string

The course outline.

retakePolicyDescription
string

The retake policy description text.

object (AcademicYear)

Defines the structure of an Academic Year.

object (OrganizationEntityModel)
Array of objects (CourseCoordinatorV2)

The coordinators that may be associated with the course.

Array of objects (CourseAuthor)

The list of authors of the course.

Array of objects (Campus)

The campuses the course may be taught at.

Array of objects (TermSubTypeV2)

The terms in which the course may be taught.

Array of objects (CreditsAndHours)

The hours required for the course, and the credits awarded for successful completion of the course.

Array of objects (FullOffering)

The list of offerings for the course.

shortCourseTitle
string

The shorter version of the title of the course.

Array of objects (NaturalKey)

Natural keys represent the identifiers in multiple different systems.

Array of objects (CustomLookupFieldOptions)

The methods by which the course will be graded.

Array of objects (CustomLookupFieldOptions)

The academic group that is associated with the course.

Array of objects (CourseAttributesPair)
object

The subject being taught in the course.

object

Courses with related content must be grouped into families.

object

The level the course is being taught at.

object
Array of objects (AcademicCareerOptions)

The academic career that is associated with the course.

object
object
Array of objects (OutcomesFull)

The outcomes expected to be achieved by taking the course.

Array of objects (Objectives)

The objectives of the course.

Array of objects (AssociatedPrograms)

The programs associated with the course.

variableCreditUnits
boolean
Default: true

Declares if the course has variable credits and/or units.

elearningPlatform
boolean

If the course has eLearningPlatform or not.

Array of objects (ModeOfDelivery)

Defines the delivery mode of the course.

Array of objects (MethodsOfEvaluation)

The evaluation methods used in the course.

totalWeightMethodsOfEvaluation
number <double>

The total weight of evaluation methods used in the course.

assignments
string

Assignments defined for the course.

Array of objects (TextbooksAndMaterials)

Which textbooks and other materials are required for the course.

Array of objects

Course topics

lastModificationDate
string <date>

The last date/time the course was modified.

Array of objects (MethodsOfInstruction)

The instruction methods used in the course.

Array of objects (CustomField)

Custom fields that define additional user-defined data on a course.

Array of objects (LimitationsEnrollment)

A list of Limitations of the enrollment required for course.

object (RequisitesRules)
controlNumber
string
distanceEducationApproved
boolean
distanceEducationCourse
boolean
startTerm
string
committeeApprovalDate
string
trusteesApprovalDate
string
reviewApprovalDate
string
courseCoopWorkExpEdStatus
boolean

This element indicates whether the course is part of a cooperative work experience education program. (CB10)

object (CurriculumFieldObject)
object (CurriculumFieldObject)
object (CurriculumFieldObject)
object (CurriculumFieldObject)
object (CurriculumFieldObject)
object (CurriculumFieldObject)
gradeDescription
string
courseExternalId
string
courseSupportCourseStatus
string
assessmentRelatedRequirement
string
courseGeneralEducationStatus
string
stackedCourseOnlyRationale
string
estimatedEnrollment
integer
availableForNonAwardStudy
boolean
stackedCourseOnly
boolean
Array of objects (AssessmentSummary)
curriculumId
string

The internal curriculum ID that may be used for the course.

courseCrosswalkDepartment
string

The crosswalk department (CB19) value for the course.

courseCrosswalkNumber
string

The crosswalk number (CB20) value for the course.

timeToNextReview
string

The amount of time (days/months/years) before the next review.

dateForNextReview
string <date>

The date for next review of the course.

courseVersionStatus
string

The status (Approved/In Development) of the course

transferabilityOption
string

The transferability options of the course

Array of objects (RequestsForTransferability)

Defines the Request for General Education Transferability List of the course.

materialsFee
string

The materials fee of the course

Responses

Request samples

Content type
application/json
{
  • "institution": "string",
  • "courseId": 789,
  • "internalId": 789,
  • "proposalStartDate": "2019-08-24T14:15:22Z",
  • "number": 0,
  • "courseTitle": "string",
  • "courseDescription": "string",
  • "courseStatus": "Active",
  • "outline": "string",
  • "retakePolicyDescription": "string",
  • "academicYear": {
    },
  • "department": {
    },
  • "intendedCoordinators": [
    ],
  • "authors": [
    ],
  • "intendedCampuses": [
    ],
  • "intendedTerms": [
    ],
  • "creditsAndHours": [
    ],
  • "offerings": [
    ],
  • "shortCourseTitle": "string",
  • "naturalKeys": [
    ],
  • "gradingMethod": [
    ],
  • "academicGroup": [
    ],
  • "courseAttributeList": [
    ],
  • "subject": {
    },
  • "courseFamily": {
    },
  • "courseLevel": {
    },
  • "courseCodeSuffix": {
    },
  • "academicCareer": [
    ],
  • "systemTaxonomyCode": {
    },
  • "nationalTaxonomyCode": {
    },
  • "outcomes": [
    ],
  • "objectives": [
    ],
  • "associatedPrograms": [
    ],
  • "variableCreditUnits": true,
  • "elearningPlatform": true,
  • "modeOfDelivery": [
    ],
  • "methodsOfEvaluation": [
    ],
  • "totalWeightMethodsOfEvaluation": 100,
  • "assignments": "string",
  • "textbooksAndMaterials": [
    ],
  • "courseTopics": [
    ],
  • "lastModificationDate": "2019-08-24",
  • "methodsOfInstruction": [
    ],
  • "customFields": [
    ],
  • "limitationsEnrollments": [
    ],
  • "requisites": {
    },
  • "controlNumber": "string",
  • "distanceEducationApproved": true,
  • "distanceEducationCourse": true,
  • "startTerm": "string",
  • "committeeApprovalDate": "string",
  • "trusteesApprovalDate": "string",
  • "reviewApprovalDate": "string",
  • "courseCoopWorkExpEdStatus": true,
  • "basicSkillStatus": {
    },
  • "courseTransferStatus": {
    },
  • "coursePriorToCollegeLevel": {
    },
  • "courseSpecialClassStatus": {
    },
  • "courseCreditStatus": {
    },
  • "courseNonCreditCategory": {
    },
  • "gradeDescription": "string",
  • "courseExternalId": "string",
  • "courseSupportCourseStatus": "string",
  • "assessmentRelatedRequirement": "string",
  • "courseGeneralEducationStatus": "string",
  • "stackedCourseOnlyRationale": "string",
  • "estimatedEnrollment": 0,
  • "availableForNonAwardStudy": true,
  • "stackedCourseOnly": true,
  • "assessmentSummary": [
    ],
  • "curriculumId": "string",
  • "courseCrosswalkDepartment": "string",
  • "courseCrosswalkNumber": "string",
  • "timeToNextReview": "string",
  • "dateForNextReview": "2019-08-24",
  • "courseVersionStatus": "string",
  • "transferabilityOption": "string",
  • "requestsForTransferability": [
    ],
  • "materialsFee": "string"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "courseCode": "MATH101",
  • "data": [
    ],
  • "errors": [ ],
  • "message": "Course was successfully created."
}