Degree
The Degree object
The Degree object looks like this in JSON:
{
"object": "degree",
"id": 1,
"program_id": 1,
"degree_level_id": 1,
"department_id": 1,
"name": "Bachelor of Arts Degree in Liberal Arts and Culture",
"description": "Bachelor of Arts Degree in Liberal Arts and Culture",
"abbrv": "B.A.",
"diploma": true,
"status": "active",
"cip_code": "24.0101",
"unit": "credits",
"distance_education": false,
"length": null,
"length_unit": "years",
"external_id": null,
"sandbox": true
}
| Attribute | Required | Data Type |
|---|---|---|
| id | Yes | int |
| program_id | Yes | int |
| degree_level_id | Yes | int |
| department_id | Yes | int |
| name | Yes | text (250) |
| description | No | text |
| abbrv | Yes | text (100) |
| diploma | No | bool |
| status | Yes | enum (construction, active, retired) |
| cip_code | Yes | text (20) |
| unit | Yes | enum (credits, hours) |
| distance_education | Yes | bool |
| length | No | int |
| length_unit | No | enum (years, months, weeks) |
| external_id | No | text (100) |
| sandbox | No | bool |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/degrees" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"level","value":1,"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/degrees',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/degrees',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/degrees"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/degrees');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 3,
"results": 3,
"results_per_page": 200,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "degree",
"id": 1,
"program_id": 1,
"degree_level_id": 1,
"department_id": 1,
"name": "Bachelor of Arts Degree in Liberal Arts and Culture",
"description": "Bachelor of Arts Degree in Liberal Arts and Culture",
"abbrv": "B.A.",
"diploma": true,
"status": "active",
"cip_code": "24.0101",
"unit": "credits",
"distance_education": false,
"length": null,
"length_unit": "years",
"external_id": null,
"report_data": {
"department_name": "Undergraduate",
"program_name": "Undergraduate",
"formatted_cip_code": null,
"degree_level_name": "Doctoral Degree - Professional Practice"
}
}
],
"sandbox": true
}
Retrieves all Degree objects that match given filter conditions.
HTTP Request
GET /degrees
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| filter | No | mixed | See available filter conditions |
| page | No | int | The page of results to return if more than 200 records are found. |
Expandable Properties
- specializations
- academic_requirements
Filter Condition Parameters
These conditions can be used to narrow the results returned.
| Name | Type |
|---|---|
| program | object id |
| status | enum |
| department | object id |
| diploma | bool |
| level | object id |
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/degrees/(degree)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/degrees/(degree)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/degrees/(degree)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/degrees/(degree)"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/degrees/(degree)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "degree",
"id": 1,
"program_id": 1,
"degree_level_id": 1,
"department_id": 1,
"name": "Bachelor of Arts Degree in Liberal Arts and Culture",
"description": "Bachelor of Arts Degree in Liberal Arts and Culture",
"abbrv": "B.A.",
"diploma": true,
"status": "active",
"cip_code": "24.0101",
"unit": "credits",
"distance_education": false,
"length": null,
"length_unit": "years",
"external_id": null,
"sandbox": true
}
Retrieves a specific Degree object.
HTTP Request
GET /degrees/(degree)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- specializations
- academic_requirements
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
students
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/degrees/(degree)/students" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": []
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/degrees/(degree)/students',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/degrees/(degree)/students',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/degrees/(degree)/students"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/degrees/(degree)/students');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 2,
"results": 2,
"results_per_page": 200,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "person",
"id": 16,
"first_name": "Abby",
"last_name": "Admin",
"middle_name": null,
"prefix": null,
"suffix": null,
"preferred_name": null,
"display_name": "Abby Admin",
"salutation": "Abby Admin",
"addressee": "Abby Admin",
"gender": "female",
"other_gender": null,
"image_file_id": null,
"birth_date": null,
"status": "active",
"social_security_number": null,
"alien_registration_number": null,
"social_insurance_number": null,
"home_city": null,
"home_state": null,
"home_country": null,
"former_name": null,
"license_plate": null,
"bio": null,
"hispanic_latino": false,
"resident_alien": false,
"localization_id": null,
"notification_email_id": null,
"deceased_date": null,
"import_id": null,
"staff_id": null,
"faculty_id": null,
"degree_level_id": null,
"added_at": null,
"added_by_id": null,
"updated_at": "2026-07-25T16:24:07+00:00",
"report_data": {
"person_id": 16,
"active_roles": "4,5,7,14",
"username": "academic.admin",
"primary_address_street": null,
"primary_address_city": null,
"primary_address_state": null,
"primary_address_country": null,
"is_alum": 0,
"primary_org_title": null,
"primary_org_name": null,
"contact_primary_email": "football@nowhere.co",
"contact_primary_phone": "333.555.6666 x 091",
"visible_student_id": "20220xx001",
"row_id": 16
},
"private_profile": false,
"is_user": true
}
],
"sandbox": true
}
HTTP Request
GET /degrees/(degree)/students
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| filter | No | mixed | See available filter conditions |
| page | No | int | The page of results to return if more than 200 records are found. |
Expandable Properties
- specializations
- academic_requirements
Filter Condition Parameters
These conditions can be used to narrow the results returned.
| Name | Type |
|---|---|
| age | integer |
| degree | integer |
| degree_level | integer |
| home_country | country |
| last_active | date |
| program | integer |
| specialization | integer |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar