Skip to main content

Nebula Labs API v0.1.0

Nebula Labs API v0.1.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

The public Nebula Labs API for access to pertinent UT Dallas data

Email: Eric Boysen License: MIT License

Default

get__course

Code samples

# You can also use wget
curl -X GET /course \
-H 'Accept: application/json'

GET /course HTTP/1.1

Accept: application/json

const headers = {
Accept: 'application/json',
};

fetch('/course', {
method: 'GET',

headers: headers,
})
.then(function (res) {
return res.json();
})
.then(function (body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get '/course',
params: {
}, headers: headers

p JSON.parse(result)

import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('/course', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','/course', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...

URL obj = new URL("/course");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/course", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /course

Returns all courses matching the query's string-typed key-value pairs

Parameters

NameInTypeRequiredDescription
course_numberquerystringfalseThe course's official number
subject_prefixquerystringfalseThe course's subject prefix
titlequerystringfalseThe course's title
descriptionquerystringfalseThe course's description
schoolquerystringfalseThe course's school
credit_hoursquerystringfalseThe number of credit hours awarded by successful completion of the course
class_levelquerystringfalseThe level of education that this course course corresponds to
activity_typequerystringfalseThe type of class this course corresponds to
gradingquerystringfalseThe grading status of this course
internal_course_numberquerystringfalseThe internal (university) number used to reference this course
lecture_contact_hoursquerystringfalseThe weekly contact hours in lecture for a course
offering_frequencyquerystringfalseThe frequency of offering a course

Example responses

200 Response

[
{
"_id": "string",
"course_number": "string",
"subject_prefix": "string",
"title": "string",
"description": "string",
"school": "string",
"credit_hours": "string",
"class_level": "string",
"activity_type": "string",
"grading": "string",
"internal_course_number": "string",
"prerequisites": {
"name": "string",
"required": 0,
"options": [
{
"type": null
}
],
"type": null
},
"corequisites": {
"name": "string",
"required": 0,
"options": [
{
"type": null
}
],
"type": null
},
"lecture_contact_hours": "string",
"laboratory_contact_hours": "string",
"offering_frequency": "string"
}
]

Responses

StatusMeaningDescriptionSchema
200OKA list of coursesInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[Course]falsenonenone
» _idstringtruenonenone
» course_numberstringtruenonenone
» subject_prefixstringtruenonenone
» titlestringtruenonenone
» descriptionstringtruenonenone
» schoolstringtruenonenone
» credit_hoursstringtruenonenone
» class_levelstringtruenonenone
» activity_typestringtruenonenone
» gradingstringtruenonenone
» internal_course_numberstringtruenonenone
» prerequisitesobjectfalsenonenone
»» namestringtruenonenone
»» requiredintegertruenonenone
»» options[Requirement]truenonenone
»»» typeanytruenonenone

allOf - discriminator: type

NameTypeRequiredRestrictionsDescription
»» anonymousobjectfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»» anonymousobjectfalsenonenone

continued

NameTypeRequiredRestrictionsDescription
» corequisitesobjectfalsenonenone
» lecture_contact_hoursstringtruenonenone
» laboratory_contact_hoursstringtruenonenone
» offering_frequencystringtruenonenone

get_course{id}

Code samples

# You can also use wget
curl -X GET /course/{id} \
-H 'Accept: application/json'

GET /course/{id} HTTP/1.1

Accept: application/json

const headers = {
Accept: 'application/json',
};

fetch('/course/{id}', {
method: 'GET',

headers: headers,
})
.then(function (res) {
return res.json();
})
.then(function (body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get '/course/{id}',
params: {
}, headers: headers

p JSON.parse(result)

import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('/course/{id}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','/course/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...

URL obj = new URL("/course/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/course/{id}", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /course/{id}

Returns the course with given ID

Parameters

NameInTypeRequiredDescription
idpathstringtrueID of the course to get

Example responses

200 Response

{
"_id": "string",
"course_number": "string",
"subject_prefix": "string",
"title": "string",
"description": "string",
"school": "string",
"credit_hours": "string",
"class_level": "string",
"activity_type": "string",
"grading": "string",
"internal_course_number": "string",
"prerequisites": {
"name": "string",
"required": 0,
"options": [
{
"type": null
}
],
"type": null
},
"corequisites": {
"name": "string",
"required": 0,
"options": [
{
"type": null
}
],
"type": null
},
"lecture_contact_hours": "string",
"laboratory_contact_hours": "string",
"offering_frequency": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKA courseCourse

get_degree{id}

Code samples

# You can also use wget
curl -X GET /degree/{id}

GET /degree/{id} HTTP/1.1

fetch('/degree/{id}', {
method: 'GET',
})
.then(function (res) {
return res.json();
})
.then(function (body) {
console.log(body);
});
require 'rest-client'
require 'json'

result = RestClient.get '/degree/{id}',
params: {
}

p JSON.parse(result)

import requests

r = requests.get('/degree/{id}')

print(r.json())

<?php

require 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','/degree/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...

URL obj = new URL("/degree/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
"bytes"
"net/http"
)

func main() {

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/degree/{id}", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /degree/{id}

Returns the degree with given ID

Parameters

NameInTypeRequiredDescription
idpathstringtrueID of the degree to get

Responses

StatusMeaningDescriptionSchema
200OKA degreeNone

get__exam

Code samples

# You can also use wget
curl -X GET /exam \
-H 'Accept: application/json'

GET /exam HTTP/1.1

Accept: application/json

const headers = {
Accept: 'application/json',
};

fetch('/exam', {
method: 'GET',

headers: headers,
})
.then(function (res) {
return res.json();
})
.then(function (body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get '/exam',
params: {
}, headers: headers

p JSON.parse(result)

import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('/exam', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','/exam', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...

URL obj = new URL("/exam");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/exam", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /exam

Returns all exams matching the query's string-typed key-value pairs

Parameters

NameInTypeRequiredDescription
typequerystringfalseThe type of exam
namequerystringfalseThe name of the exam
levelquerystringfalseThe level of the IB exam (should it be an IB exam)

Example responses

200 Response

[
{
"_id": "string",
"type": "string"
}
]

Responses

StatusMeaningDescriptionSchema
200OKA list of examsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[Exam]falsenonenone
» _idstringtruenonenone
» typestringtruenonenone

get_exam{id}

Code samples

# You can also use wget
curl -X GET /exam/{id} \
-H 'Accept: application/json'

GET /exam/{id} HTTP/1.1

Accept: application/json

const headers = {
Accept: 'application/json',
};

fetch('/exam/{id}', {
method: 'GET',

headers: headers,
})
.then(function (res) {
return res.json();
})
.then(function (body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get '/exam/{id}',
params: {
}, headers: headers

p JSON.parse(result)

import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('/exam/{id}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','/exam/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...

URL obj = new URL("/exam/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/exam/{id}", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /exam/{id}

Returns the exam with given ID

Parameters

NameInTypeRequiredDescription
idpathstringtrueID of the exam to get

Example responses

200 Response

{
"_id": "string",
"type": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKAn examExam

get__professor

Code samples

# You can also use wget
curl -X GET /professor \
-H 'Accept: application/json'

GET /professor HTTP/1.1

Accept: application/json

const headers = {
Accept: 'application/json',
};

fetch('/professor', {
method: 'GET',

headers: headers,
})
.then(function (res) {
return res.json();
})
.then(function (body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get '/professor',
params: {
}, headers: headers

p JSON.parse(result)

import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('/professor', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','/professor', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...

URL obj = new URL("/professor");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/professor", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /professor

Returns all professors matching the query's string-typed key-value pairs

Parameters

NameInTypeRequiredDescription
first_namequerystringfalseThe professor's first name
last_namequerystringfalseThe professor's last name
titlesquerystringfalseOne of the professor's title
emailquerystringfalseThe professor's email address
phone_numberquerystringfalseThe professor's phone number
office.buildingquerystringfalseThe building of the location of the professor's office
office.roomquerystringfalseThe room of the location of the professor's office
office.map_uriquerystringfalseA hyperlink to the UTD room locator of the professor's office
profile_uriquerystringfalseA hyperlink pointing to the professor's official university profile
image_uriquerystringfalseA link to the image used for the professor on the professor's official university profile
office_hours.start_datequerystringfalseThe start date of one of the office hours meetings of the professor
office_hours.end_datequerystringfalseThe end date of one of the office hours meetings of the professor
office_hours.meeting_daysquerystringfalseOne of the days that one of the office hours meetings of the professor
office_hours.start_timequerystringfalseThe time one of the office hours meetings of the professor starts
office_hours.end_timequerystringfalseThe time one of the office hours meetings of the professor ends
office_hours.modalityquerystringfalseThe modality of one of the office hours meetings of the professor
office_hours.location.buildingquerystringfalseThe building of one of the office hours meetings of the professor
office_hours.location.roomquerystringfalseThe room of one of the office hours meetings of the professor
office_hours.location.map_uriquerystringfalseA hyperlink to the UTD room locator of one of the office hours meetings of the professor
sectionsquerystringfalseThe _id of one of the sections the professor teaches

Example responses

200 Response

[
{
"_id": "string",
"first_name": "string",
"last_name": "string",
"titles": ["string"],
"email": "string",
"phone_number": "string",
"office": {
"building": "string",
"room": "string",
"map_uri": "string"
},
"profile_uri": "string",
"image_uri": "string",
"office_hours": [
{
"start_date": "string",
"end_date": "string",
"meeting_days": ["string"],
"start_time": "string",
"end_time": "string",
"modality": "string",
"location": {
"building": "string",
"room": "string",
"map_uri": "string"
}
}
],
"sections": ["string"]
}
]

Responses

StatusMeaningDescriptionSchema
200OKA list of professorsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[Professor]falsenonenone
» _idstringtruenonenone
» first_namestringtruenonenone
» last_namestringtruenonenone
» titles[string]falsenonenone
» emailstringtruenonenone
» phone_numberstringfalsenonenone
» officeobjectfalsenonenone
»» buildingstringfalsenonenone
»» roomstringfalsenonenone
»» map_uristringfalsenonenone
» profile_uristringfalsenonenone
» image_uristringfalsenonenone
» office_hours[Meeting]falsenonenone
»» start_datestringfalsenonenone
»» end_datestringfalsenonenone
»» meeting_days[string]falsenonenone
»» start_timestringfalsenonenone
»» end_timestringfalsenonenone
»» modalitystringfalsenonenone
»» locationobjectfalsenonenone
» sections[string]falsenonenone

get_professor{id}

Code samples

# You can also use wget
curl -X GET /professor/{id} \
-H 'Accept: application/json'

GET /professor/{id} HTTP/1.1

Accept: application/json

const headers = {
Accept: 'application/json',
};

fetch('/professor/{id}', {
method: 'GET',

headers: headers,
})
.then(function (res) {
return res.json();
})
.then(function (body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get '/professor/{id}',
params: {
}, headers: headers

p JSON.parse(result)

import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('/professor/{id}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','/professor/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...

URL obj = new URL("/professor/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/professor/{id}", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /professor/{id}

Returns the professor with given ID

Parameters

NameInTypeRequiredDescription
idpathstringtrueID of the professor to get

Example responses

200 Response

{
"_id": "string",
"first_name": "string",
"last_name": "string",
"titles": ["string"],
"email": "string",
"phone_number": "string",
"office": {
"building": "string",
"room": "string",
"map_uri": "string"
},
"profile_uri": "string",
"image_uri": "string",
"office_hours": [
{
"start_date": "string",
"end_date": "string",
"meeting_days": ["string"],
"start_time": "string",
"end_time": "string",
"modality": "string",
"location": {
"building": "string",
"room": "string",
"map_uri": "string"
}
}
],
"sections": ["string"]
}

Responses

StatusMeaningDescriptionSchema
200OKA professorProfessor

get__section

Code samples

# You can also use wget
curl -X GET /section \
-H 'Accept: application/json'

GET /section HTTP/1.1

Accept: application/json

const headers = {
Accept: 'application/json',
};

fetch('/section', {
method: 'GET',

headers: headers,
})
.then(function (res) {
return res.json();
})
.then(function (body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get '/section',
params: {
}, headers: headers

p JSON.parse(result)

import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('/section', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','/section', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...

URL obj = new URL("/section");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/section", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /section

Returns all courses matching the query's string-typed key-value pairs

Parameters

NameInTypeRequiredDescription
section_numberquerystringfalseThe section's official number
course_referencequerystringfalseAn id that points to the course in MongoDB that this section is an instantiation of
academic_session.namequerystringfalseThe name of the academic session of the section
academic_session.start_datequerystringfalseThe date of classes starting for the section
academic_session.end_datequerystringfalseThe date of classes ending for the section
professorsquerystringfalseOne of the professors teaching the section
teaching_assistants.first_namequerystringfalseThe first name of one of the teaching assistants of the section
teaching_assistants.last_namequerystringfalseThe last name of one of the teaching assistants of the section
teaching_assistants.rolequerystringfalseThe role of one of the teaching assistants of the section
teaching_assistants.emailquerystringfalseThe email of one of the teaching assistants of the section
internal_class_numberquerystringfalseThe internal (university) number used to reference this section
instruction_modequerystringfalseThe instruction modality for this section
meetings.start_datequerystringfalseThe start date of one of the section's meetings
meetings.end_datequerystringfalseThe end date of one of the section's meetings
meetings.meeting_daysquerystringfalseOne of the days that one of the section's meetings
meetings.start_timequerystringfalseThe time one of the section's meetings starts
meetings.end_timequerystringfalseThe time one of the section's meetings ends
meetings.modalityquerystringfalseThe modality of one of the section's meetings
meetings.location.buildingquerystringfalseThe building of one of the section's meetings
meetings.location.roomquerystringfalseThe room of one of the section's meetings
meetings.location.map_uriquerystringfalseA hyperlink to the UTD room locator of one of the section's meetings
core_flagsquerystringfalseOne of core requirement codes this section fulfills
syllabus_uriquerystringfalseA link to the syllabus on the web

Example responses

200 Response

[
{
"_id": "string",
"section_number": "string",
"course_reference": "string",
"section_corequisites": {
"name": "string",
"required": 0,
"options": [
{
"type": null
}
],
"type": null
},
"academic_session": {
"name": "string",
"start_date": "string",
"end_date": "string"
},
"professors": ["string"],
"teaching_assistants": [
{
"first_name": "string",
"last_name": "string",
"role": "string",
"email": "string"
}
],
"internal_class_number": "string",
"instruction_mode": "string",
"meetings": [
{
"start_date": "string",
"end_date": "string",
"meeting_days": ["string"],
"start_time": "string",
"end_time": "string",
"modality": "string",
"location": {
"building": "string",
"room": "string",
"map_uri": "string"
}
}
],
"core_flags": ["string"],
"syllabus_uri": "string",
"grade_distribution": [0]
}
]

Responses

StatusMeaningDescriptionSchema
200OKA list of sectionsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[Section]falsenonenone
» _idstringtruenonenone
» section_numberstringtruenonenone
» course_referencestringtruenonenone
» section_corequisitesobjectfalsenonenone
»» namestringtruenonenone
»» requiredintegertruenonenone
»» options[Requirement]truenonenone
»»» typeanytruenonenone

allOf - discriminator: type

NameTypeRequiredRestrictionsDescription
»» anonymousobjectfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»» anonymousobjectfalsenonenone

continued

NameTypeRequiredRestrictionsDescription
» academic_sessionobjecttruenonenone
»» namestringfalsenonenone
»» start_datestringfalsenonenone
»» end_datestringfalsenonenone
» professors[string]truenonenone
» teaching_assistants[Assistant]falsenonenone
»» first_namestringfalsenonenone
»» last_namestringfalsenonenone
»» rolestringfalsenonenone
»» emailstringfalsenonenone
» internal_class_numberstringtruenonenone
» instruction_modestringtruenonenone
» meetings[Meeting]truenonenone
»» start_datestringfalsenonenone
»» end_datestringfalsenonenone
»» meeting_days[string]falsenonenone
»» start_timestringfalsenonenone
»» end_timestringfalsenonenone
»» modalitystringfalsenonenone
»» locationobjectfalsenonenone
»»» buildingstringfalsenonenone
»»» roomstringfalsenonenone
»»» map_uristringfalsenonenone
» core_flags[string]falsenonenone
» syllabus_uristringtruenonenone
» grade_distribution[integer]falsenonenone

get_section{id}

Code samples

# You can also use wget
curl -X GET /section/{id} \
-H 'Accept: application/json'

GET /section/{id} HTTP/1.1

Accept: application/json

const headers = {
Accept: 'application/json',
};

fetch('/section/{id}', {
method: 'GET',

headers: headers,
})
.then(function (res) {
return res.json();
})
.then(function (body) {
console.log(body);
});
require 'rest-client'
require 'json'

headers = {
'Accept' => 'application/json'
}

result = RestClient.get '/section/{id}',
params: {
}, headers: headers

p JSON.parse(result)

import requests
headers = {
'Accept': 'application/json'
}

r = requests.get('/section/{id}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
'Accept' => 'application/json',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
$response = $client->request('GET','/section/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}

// ...

URL obj = new URL("/section/{id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
"bytes"
"net/http"
)

func main() {

headers := map[string][]string{
"Accept": []string{"application/json"},
}

data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/section/{id}", data)
req.Header = headers

client := &http.Client{}
resp, err := client.Do(req)
// ...
}

GET /section/{id}

Returns the section with given ID

Parameters

NameInTypeRequiredDescription
idpathstringtrueID of the section to get

Example responses

200 Response

{
"_id": "string",
"section_number": "string",
"course_reference": "string",
"section_corequisites": {
"name": "string",
"required": 0,
"options": [
{
"type": null
}
],
"type": null
},
"academic_session": {
"name": "string",
"start_date": "string",
"end_date": "string"
},
"professors": ["string"],
"teaching_assistants": [
{
"first_name": "string",
"last_name": "string",
"role": "string",
"email": "string"
}
],
"internal_class_number": "string",
"instruction_mode": "string",
"meetings": [
{
"start_date": "string",
"end_date": "string",
"meeting_days": ["string"],
"start_time": "string",
"end_time": "string",
"modality": "string",
"location": {
"building": "string",
"room": "string",
"map_uri": "string"
}
}
],
"core_flags": ["string"],
"syllabus_uri": "string",
"grade_distribution": [0]
}

Responses

StatusMeaningDescriptionSchema
200OKA sectionSection

Schemas

ALEKSExam

{
"placement": [
{
"requirement": {
"type": null
},
"outcome": [["string"]]
}
],
"_id": "string",
"type": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
placement[Outcome]truenonenone

allOf - discriminator: Exam.type

NameTypeRequiredRestrictionsDescription
anonymousExamfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

APExam

{
"name": "string",
"yields": [
{
"requirement": {
"type": null
},
"outcome": [["string"]]
}
],
"_id": "string",
"type": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
namestringtruenonenone
yields[Outcome]truenonenone

allOf - discriminator: Exam.type

NameTypeRequiredRestrictionsDescription
anonymousExamfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

AcademicSession

{
"name": "string",
"start_date": "string",
"end_date": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
namestringfalsenonenone
start_datestringfalsenonenone
end_datestringfalsenonenone

Assistant

{
"first_name": "string",
"last_name": "string",
"role": "string",
"email": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
first_namestringfalsenonenone
last_namestringfalsenonenone
rolestringfalsenonenone
emailstringfalsenonenone

CLEPExam

{
"name": "string",
"yields": [
{
"requirement": {
"type": null
},
"outcome": [["string"]]
}
],
"_id": "string",
"type": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
namestringtruenonenone
yields[Outcome]truenonenone

allOf - discriminator: Exam.type

NameTypeRequiredRestrictionsDescription
anonymousExamfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

CSPlacementExam

{
"yields": [
{
"requirement": {
"type": null
},
"outcome": [["string"]]
}
],
"_id": "string",
"type": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
yields[Outcome]truenonenone

allOf - discriminator: Exam.type

NameTypeRequiredRestrictionsDescription
anonymousExamfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

ChoiceRequirement

{
"choices": {
"name": "string",
"required": 0,
"options": [
{
"type": null
}
],
"type": null
},
"type": null
}

Properties

NameTypeRequiredRestrictionsDescription
choicesCollectionRequirementtruenonenone

allOf - discriminator: Requirement.type

NameTypeRequiredRestrictionsDescription
anonymousRequirementfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

CollectionRequirement

{
"name": "string",
"required": 0,
"options": [
{
"type": null
}
],
"type": null
}

Properties

NameTypeRequiredRestrictionsDescription
namestringtruenonenone
requiredintegertruenonenone
options[Requirement]truenonenone

allOf - discriminator: Requirement.type

NameTypeRequiredRestrictionsDescription
anonymousRequirementfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

ConsentRequirement

{
"granter": "string",
"type": null
}

Properties

NameTypeRequiredRestrictionsDescription
granterstringtruenonenone

allOf - discriminator: Requirement.type

NameTypeRequiredRestrictionsDescription
anonymousRequirementfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

CoreRequirement

{
"core_flag": "string",
"hours": 0,
"type": null
}

Properties

NameTypeRequiredRestrictionsDescription
core_flagstringtruenonenone
hoursintegertruenonenone

allOf - discriminator: Requirement.type

NameTypeRequiredRestrictionsDescription
anonymousRequirementfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

Course

{
"_id": "string",
"course_number": "string",
"subject_prefix": "string",
"title": "string",
"description": "string",
"school": "string",
"credit_hours": "string",
"class_level": "string",
"activity_type": "string",
"grading": "string",
"internal_course_number": "string",
"prerequisites": {
"name": "string",
"required": 0,
"options": [
{
"type": null
}
],
"type": null
},
"corequisites": {
"name": "string",
"required": 0,
"options": [
{
"type": null
}
],
"type": null
},
"lecture_contact_hours": "string",
"laboratory_contact_hours": "string",
"offering_frequency": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
_idstringtruenonenone
course_numberstringtruenonenone
subject_prefixstringtruenonenone
titlestringtruenonenone
descriptionstringtruenonenone
schoolstringtruenonenone
credit_hoursstringtruenonenone
class_levelstringtruenonenone
activity_typestringtruenonenone
gradingstringtruenonenone
internal_course_numberstringtruenonenone
prerequisitesCollectionRequirementfalsenonenone
corequisitesCollectionRequirementfalsenonenone
lecture_contact_hoursstringtruenonenone
laboratory_contact_hoursstringtruenonenone
offering_frequencystringtruenonenone

CourseRequirement

{
"class_reference": "string",
"minimum_grade": "string",
"type": null
}

Properties

NameTypeRequiredRestrictionsDescription
class_referencestringtruenonenone
minimum_gradestringtruenonenone

allOf - discriminator: Requirement.type

NameTypeRequiredRestrictionsDescription
anonymousRequirementfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

Credit

{
"category": "string",
"credit_hours": null
}

Properties

NameTypeRequiredRestrictionsDescription
categorystringtruenonenone
credit_hoursinttruenonenone

Exam

{
"_id": "string",
"type": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
_idstringtruenonenone
typestringtruenonenone

ExamRequirement

{
"exam_reference": "string",
"minimum_score": 0,
"type": null
}

Properties

NameTypeRequiredRestrictionsDescription
exam_referencestringtruenonenone
minimum_scoreintegertruenonenone

allOf - discriminator: Requirement.type

NameTypeRequiredRestrictionsDescription
anonymousRequirementfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

GPARequirement

{
"subset": "string",
"minimum": 0,
"type": null
}

Properties

NameTypeRequiredRestrictionsDescription
subsetstringfalsenonenone
minimumnumbertruenonenone

allOf - discriminator: Requirement.type

NameTypeRequiredRestrictionsDescription
anonymousRequirementfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

HoursRequirement

{
"required": 0,
"options": [
{
"class_reference": "string",
"minimum_grade": "string",
"type": null
}
],
"type": null
}

Properties

NameTypeRequiredRestrictionsDescription
requiredintegertruenonenone
options[CourseRequirement]truenonenone

allOf - discriminator: Requirement.type

NameTypeRequiredRestrictionsDescription
anonymousRequirementfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

IBExam

{
"name": "string",
"level": "string",
"yields": [
{
"requirement": {
"type": null
},
"outcome": [["string"]]
}
],
"_id": "string",
"type": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
namestringtruenonenone
levelstringtruenonenone
yields[Outcome]truenonenone

allOf - discriminator: Exam.type

NameTypeRequiredRestrictionsDescription
anonymousExamfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

LimitRequirement

{
"max_hours": 0,
"type": null
}

Properties

NameTypeRequiredRestrictionsDescription
max_hoursintegertruenonenone

allOf - discriminator: Requirement.type

NameTypeRequiredRestrictionsDescription
anonymousRequirementfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

Location

{
"building": "string",
"room": "string",
"map_uri": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
buildingstringfalsenonenone
roomstringfalsenonenone
map_uristringfalsenonenone

MajorRequirement

{
"major": "string",
"type": null
}

Properties

NameTypeRequiredRestrictionsDescription
majorstringtruenonenone

allOf - discriminator: Requirement.type

NameTypeRequiredRestrictionsDescription
anonymousRequirementfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

Meeting

{
"start_date": "string",
"end_date": "string",
"meeting_days": ["string"],
"start_time": "string",
"end_time": "string",
"modality": "string",
"location": {
"building": "string",
"room": "string",
"map_uri": "string"
}
}

Properties

NameTypeRequiredRestrictionsDescription
start_datestringfalsenonenone
end_datestringfalsenonenone
meeting_days[string]falsenonenone
start_timestringfalsenonenone
end_timestringfalsenonenone
modalitystringfalsenonenone
locationLocationfalsenonenone

MinorRequirement

{
"minor": "string",
"type": null
}

Properties

NameTypeRequiredRestrictionsDescription
minorstringtruenonenone

allOf - discriminator: Requirement.type

NameTypeRequiredRestrictionsDescription
anonymousRequirementfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

OtherRequirement

{
"description": "string",
"condition": "string",
"type": null
}

Properties

NameTypeRequiredRestrictionsDescription
descriptionstringtruenonenone
conditionstringtruenonenone

allOf - discriminator: Requirement.type

NameTypeRequiredRestrictionsDescription
anonymousRequirementfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone

Outcome

{
"requirement": {
"type": null
},
"outcome": [["string"]]
}

Properties

NameTypeRequiredRestrictionsDescription
requirementRequirementtruenonenone
outcome[array]truenonenone

oneOf

NameTypeRequiredRestrictionsDescription
» anonymousstringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
» anonymousCreditfalsenonenone

Professor

{
"_id": "string",
"first_name": "string",
"last_name": "string",
"titles": ["string"],
"email": "string",
"phone_number": "string",
"office": {
"building": "string",
"room": "string",
"map_uri": "string"
},
"profile_uri": "string",
"image_uri": "string",
"office_hours": [
{
"start_date": "string",
"end_date": "string",
"meeting_days": ["string"],
"start_time": "string",
"end_time": "string",
"modality": "string",
"location": {
"building": "string",
"room": "string",
"map_uri": "string"
}
}
],
"sections": ["string"]
}

Properties

NameTypeRequiredRestrictionsDescription
_idstringtruenonenone
first_namestringtruenonenone
last_namestringtruenonenone
titles[string]falsenonenone
emailstringtruenonenone
phone_numberstringfalsenonenone
officeLocationfalsenonenone
profile_uristringfalsenonenone
image_uristringfalsenonenone
office_hours[Meeting]falsenonenone
sections[string]falsenonenone

Requirement

{
"type": null
}

Properties

NameTypeRequiredRestrictionsDescription
typeanytruenonenone

Section

{
"_id": "string",
"section_number": "string",
"course_reference": "string",
"section_corequisites": {
"name": "string",
"required": 0,
"options": [
{
"type": null
}
],
"type": null
},
"academic_session": {
"name": "string",
"start_date": "string",
"end_date": "string"
},
"professors": ["string"],
"teaching_assistants": [
{
"first_name": "string",
"last_name": "string",
"role": "string",
"email": "string"
}
],
"internal_class_number": "string",
"instruction_mode": "string",
"meetings": [
{
"start_date": "string",
"end_date": "string",
"meeting_days": ["string"],
"start_time": "string",
"end_time": "string",
"modality": "string",
"location": {
"building": "string",
"room": "string",
"map_uri": "string"
}
}
],
"core_flags": ["string"],
"syllabus_uri": "string",
"grade_distribution": [0]
}

Properties

NameTypeRequiredRestrictionsDescription
_idstringtruenonenone
section_numberstringtruenonenone
course_referencestringtruenonenone
section_corequisitesCollectionRequirementfalsenonenone
academic_sessionAcademicSessiontruenonenone
professors[string]truenonenone
teaching_assistants[Assistant]falsenonenone
internal_class_numberstringtruenonenone
instruction_modestringtruenonenone
meetings[Meeting]truenonenone
core_flags[string]falsenonenone
syllabus_uristringtruenonenone
grade_distribution[integer]falsenonenone

SectionRequirement

{
"section_reference": "string",
"type": null
}

Properties

NameTypeRequiredRestrictionsDescription
section_referencestringtruenonenone

allOf - discriminator: Requirement.type

NameTypeRequiredRestrictionsDescription
anonymousRequirementfalsenonenone

and

NameTypeRequiredRestrictionsDescription
anonymousobjectfalsenonenone