Pearson
Always Learning

API Group: 

This API provides the detailed information about a course, including its title, identifiers, and links to enrollment information.

Note: This information can also be retrieved from a course listing API using the expand query string parameter.



Supported Roles and Authentication Protocols

Type Supported Values
Authentication Protocols OAuth 1.0a, OAuth 2.0
Valid for Roles (OAuth 2): Professor, Teaching Assistant, Student

API Request

API Endpoints

HTTP Verbs and URIs

GET /courses/{courseId}{.format}
  • Returns the detail about the specified course.

Parameters

Parameter Description Valid Values
{courseId} LearningStudio Course ID or relevant course overload.
  • Numeric ID issued by LearningStudio
  • ccn={callNumber}
{.format} Desired format of response data. See Response Formats. .json , .xml , or Blank

Query String Parameters

Query Parameter Name Description Valid Values
expand By default the API will return links to the roster detail for instructors, teaching assistances, students and course introduction information. This parameter opts to include those rosters with the results of this API when the value is set to instructors, teachingAssistances, and/or students.

You can also use a value of courseIntroduction to have the API include the course introduction detail in the response payload. This is the information that is displayed on the Course Home.

You can specify multiple expansions by comma-separating the values, for example:
?expand=students,instructors.

Important: If using OAuth 2 and accessing the API using a student's Access Token, you will not be able to expand a list of students. If you try expand=students as a student, the API will error with HTTP Status Code 403 Forbidden.

instructors, teachingAssistances, students, courseIntroduction, or Blank

Request Body

None

API Response

Response Header

This API returns the standard HTTP Status Codes used by the LearningStudio APIs. There are no special headers returned by the API.

Response Body

Format

{
  "courses": [{
    "id": {courseId},
    "displayCourseCode": "{displayCourseCode}",
    "title": "{courseTitle}",
    "callNumbers": ["{callNumber_X}", "{callNumber_X}", "{callNumber_X}"],
    "courseIntroduction": {
           "text": "{courseIntroduction}",
           "audioLink": "{courseIntroductionAudio}",
           "videoLink": "{courseIntroductionVideo}"
     },
    "instructors": {
      "links": [{
        "href": "https://api.learningstudio.com/courses/{courseId}/instructors",
        "rel": "self",
        "title": "instructors"
      }]
    },
    "teachingAssistants": {
      "links": [{
        "href": "https://api.learningstudio.com/courses/{courseId}/teachingAssistants",
        "rel": "self",
        "title": "teachingAssistants"
      }]
    },
    "students": {
      "links": [{
        "href": "https://api.learningstudio.com/courses/{courseId}/students",
        "rel": "self",
        "title": "students"
      }]
    },
    "links": [{
    "href": "https://api.learningstudio.com/terms/{termId}",
    "rel": "https://api.learningstudio.com/rels/term"
    }]
  }]
}

Property Descriptions

Name Description
{courseId} LearningStudio course ID.
{displayCourseCode} The vernacular course code for the course, such as MATH-101. This is determined by the institution and may be repeated between many courses.
{courseTitle} Title of the course.
{callNumber_X} An array of call numbers assigned to the course by the institution.
{courseIntroduction}
{courseIntroductionAudio}
{courseIntroductionVideo}
This is the Course Introduction, which most of the time is only the first element, and usually contains some measure of HTML. This is the detail that is displayed on the Course Home of the course. Teachers may also include introductory videos or audio links in the second two properties.

Note: the courseIntroduction property is only included if the expand=courseintroduction parameter is set in the request.

{termId} The LearningStudio ID of the term to which this course is assigned. Important: you should not parse this URL to find the ID. Instead, use a GET request against this complete URL to retrieve Term details. Learn more.

Note: If you use the expand parameter for the roster links, the links property will contain the same values as the related roster API. See the example below.

Example: Get Course Information Without Expansion

Request

Endpoint

GET /courses/123456

or if using course identifier overloads, you can also use a call number:

GET /courses/ccn=MATH1101FallSectionA

Response

Body

{
  "courses": [{
    "id": 123456,
    "displayCourseCode": "MATH-101",
    "title": "Introduction to Math Concepts",
    "callNumbers": ["MATH1101FallSectionA", "BUS110FallSectionB"],
    "instructors": {
      "links": [{
        "href": "https://api.learningstudio.com/courses/123456/instructors",
        "rel": "self",
        "title": "instructors"
      }]
    },
    "teachingAssistants": {
      "links": [{
        "href": "https://api.learningstudio.com/courses/123456/teachingAssistants",
        "rel": "self",
        "title": "teachingAssistants"
      }]
    },
    "students": {
      "links": [{
        "href": "https://api.learningstudio.com/courses/123456/students",
        "rel": "self",
        "title": "students"
      }]
    },
    "links": [{
    "href": "https://api.learningstudio.com/terms/58121",
    "rel": "https://api.learningstudio.com/rels/term"
    }]
  }]
}

Example: Get Expanded Rosters in Course Information

Request

Endpoint

GET /courses/123456?expand=instructors,students

Response

Body

{
  "courses": [{
    "id": 123456,
    "displayCourseCode": "MATH-101",
    "title": "Introduction to Math Concepts",
    "callNumbers": ["MATH1101FallSectionA", "BUS110FallSectionB"],
    "instructors": {
      "links": [{
		"instructors": [{
					"id": 20033004
					"firstName": "Leslie"
					"lastName": "Johnson"
					"emailAddress": "leslie@fakeemail.com"
					"links": [{
						"href": "https://api.learningstudio.com/users/20033004"
						"rel": "related"
					}]
				}],
		"href": "https://api.learningstudio.com/courses/123456/students"
		"rel": "self",
		"title": "students"      
		}]
    },
    "teachingAssistants": {
      "links": [{
        "href": "https://api.learningstudio.com/courses/123456/teachingAssistants",
        "rel": "self",
        "title": "teachingAssistants"
      }]
    },
    "students": {
      "links": [{
		"students": [
					{
					"id": 19087653
					"firstName": "Liana"
					"lastName": "Gargano"
					"emailAddress": "email@fakeemail.com"
					"links": [{
						"href": "https://api.learningstudio.com/users/19087653"
						"rel": "related"
					}]
				},
				{
					"id": 19087888
					"firstName": "Joe"
					"lastName": "Smith"
					"emailAddress": "joe@fakeemail.com"
					"links": [{
						"href": "https://api.learningstudio.com/users/19087888"
						"rel": "related"
					}]
				}],
		"href": "https://api.learningstudio.com/courses/123456/students"
		"rel": "self",
		"title": "students"      
		}]
    },
    "links": [{
    "href": "https://api.learningstudio.com/terms/58121",
    "rel": "https://api.learningstudio.com/rels/term"
    }]
  }]
}
3177 reads
Always Learning
Pearson