Student
The Student object
The Student object looks like this in JSON:
{
"object": "student",
"id": 1,
"visible_student_id": "20020xx000",
"entrance_term_id": 8,
"first_time": false,
"last_academic_term_id": null,
"exit_date": null,
"exit_reason_id": null,
"proctored": false,
"max_enrolled_credits": null,
"max_enrolled_hours": null,
"max_audit_credits": null,
"max_audit_hours": null,
"student_type_campus": "enroll_audit",
"student_type_online": "enroll_audit",
"housing": null,
"sandbox": true
}
| Attribute | Required | Data Type |
|---|---|---|
| id | Yes | int |
| visible_student_id | Yes | text (255) |
| entrance_term_id | No | int |
| first_time | Yes | bool |
| last_academic_term_id | No | int |
| exit_date | Yes | date |
| exit_reason_id | No | int |
| proctored | No | bool |
| max_enrolled_credits | No | decimal |
| max_enrolled_hours | No | decimal |
| max_audit_credits | No | decimal |
| max_audit_hours | No | decimal |
| student_type_campus | Yes | enum (enroll_audit, enroll, audit, none) |
| student_type_online | Yes | enum (enroll_audit, enroll, audit, none) |
| housing | No | enum (on_campus, with_parent, off_campus, on_campus_with_dependents) |
| sandbox | No | bool |
balances (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/balances" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/balances',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/balances',
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/people/(person)/balances"), 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/people/(person)/balances');
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": "person_balances",
"person_id": 12,
"balance": "3400.00",
"overdue": "3400.00",
"future_due": 0,
"expected_aid": "0.00",
"payments_credits_applied": "600.00",
"uncollectible": "0.00",
"pay_now": "1915.44",
"online_payment_url": "https:\/\/deployment.populi.co\/router\/paymentlink\/8a6b1bcbf30c878b38affc48e2c16202"
}
HTTP Request
GET /people/(person)/balances
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Admin
degree_audit
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/degreeaudit" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"degree_id": 1,
"academic_year_id": 4,
"specialization_id": 2
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/degreeaudit',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:degree_id => 1,
:academic_year_id => 4
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/degreeaudit',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
json={
'degree_id': 1,
'academic_year_id': 4
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/degreeaudit"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
degree_id = 1,
academic_year_id = 4
});
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/people/(person)/degreeaudit');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'degree_id' => 1,
'academic_year_id' => 4
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 10,
"results": 10,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": {
"degree_requirement_id": null,
"specialization_requirement_id": null,
"degree": [],
"specialization": [],
"unused_courses": [],
"unused_transfer_courses": [],
"course_substitutions": [],
"course_waivers": [],
"course_exclusions": [],
"requirement_exceptions": []
}
}
HTTP Request
GET /people/(person)/degreeaudit
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| degree_id | Yes | int | |
| academic_year_id | Yes | int | |
| specialization_id | No | int |
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
This is a heavy call. For performance reasons, only one heavy call may be made at a time.
deposits (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/deposits" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/deposits',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/deposits',
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/people/(person)/deposits"), 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/people/(person)/deposits');
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": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "person",
"id": 12,
"first_name": "Alice",
"last_name": "Admin",
"middle_name": null,
"prefix": "Mrs.",
"suffix": null,
"preferred_name": null,
"display_name": "Alice Admin",
"salutation": "Mrs. Alice Admin",
"addressee": "Mrs. Alice Admin",
"gender": "female",
"other_gender": null,
"image_file_id": null,
"birth_date": null,
"status": "unpaid",
"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,
"accountid": 6,
"account_number": "CACHING",
"account_name": "Government Chedder",
"amount": "100.00",
"invoice_ids": null,
"latest_invoice_id": null,
"paid_date": null,
"has_form_sales_receipts": 0,
"latest_form_sales_receipt_added_date": null,
"latest_form_transaction_id": null,
"transactionid": 15,
"deposit_paid": 0,
"latest_deposit_is_from_form": false,
"visible_student_id": "20220xx002",
"added_at": null,
"added_by_id": null,
"updated_at": null,
"private_profile": false,
"is_user": true
}
],
"sandbox": true
}
HTTP Request
GET /people/(person)/deposits
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Student Billing
enrollments
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/enrollments" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/enrollments',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/enrollments',
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/people/(person)/enrollments"), 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/people/(person)/enrollments');
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": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "enrollment",
"id": 6000003,
"course_offering_id": 21910,
"catalog_course_id": 688,
"student_id": 12,
"status": "enrolled",
"status_expires_at": null,
"pending_reason": null,
"final_comment": null,
"final_grade": 91.5,
"final_attendance": 0,
"released_final_grade": null,
"commented_by_id": null,
"enrolled_by_id": null,
"enrolled_by_type": "registrar",
"status_date": "2022-10-05",
"enrolled_date": null,
"credits": 2,
"hours": 2,
"attendance_hours": null,
"clinical_hours": null,
"pass_fail": false,
"finalized": false,
"finalized_at": null,
"delivery_method_id": null,
"automatically_removed_at": null,
"automatically_removed_from": null,
"added_at": null,
"added_by_id": null,
"updated_at": null,
"display_status": "Enrolled"
}
],
"sandbox": true
}
HTTP Request
GET /people/(person)/enrollments
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
export_transcript
curl "https://yourschool.populiweb.com/api2/people/(person)/export_transcript" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"program_id": "2",
"print_layout_id": "5",
"export_format": "PDF"
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/export_transcript',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:program_id => '2'
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/export_transcript',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
json={
'program_id': '2'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/export_transcript"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
program_id = "2"
});
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/people/(person)/export_transcript');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'program_id' => '2'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{}
To generate using the built-in PDF layout, set print_layout_id to PDF. To use a custom layout, provide a print_layout_id for a transcript layout.
HTTP Request
GET /people/(person)/export_transcript
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| program_id | Yes | int | |
| print_layout_id | No | int | |
| export_format | No | text |
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
This is a heavy call. For performance reasons, only one heavy call may be made at a time.
export_grade_report
curl "https://yourschool.populiweb.com/api2/people/(person)/gradereport" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"academic_term_id": "24",
"program_id": "2"
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/gradereport',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:academic_term_id => '24',
:program_id => '2'
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/gradereport',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
json={
'academic_term_id': '24',
'program_id': '2'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/gradereport"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
academic_term_id = "24",
program_id = "2"
});
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/people/(person)/gradereport');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'academic_term_id' => '24',
'program_id' => '2'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{}
HTTP Request
GET /people/(person)/gradereport
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| academic_term_id | Yes | int | |
| program_id | Yes | int |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
get_online_payment_link
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/onlinepaymentlink" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/onlinepaymentlink',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/onlinepaymentlink',
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/people/(person)/onlinepaymentlink"), 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/people/(person)/onlinepaymentlink');
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": "link",
"person_id": 12,
"url": "https:\/\/deployment.populi.co\/router\/paymentlink\/8a6b1bcbf30c878b38affc48e2c16202"
}
HTTP Request
GET /people/(person)/onlinepaymentlink
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| force_regenerate | No | bool | Set to true to generate a new link, which will invalidate any previous links. Default is false |
Permissions
One of the following roles is required to call this method:
- Financial Admin
show_schedule
curl "https://yourschool.populiweb.com/api2/people/(person)/schedule/(academicterm)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/schedule/(academicterm)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/schedule/(academicterm)',
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/people/(person)/schedule/(academicterm)"), 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/people/(person)/schedule/(academicterm)');
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:
{}
HTTP Request
GET /people/(person)/schedule/(academicterm)
Parameters
None
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/student" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/student',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/student',
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/people/(person)/student"), 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/people/(person)/student');
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": "student",
"id": 12,
"visible_student_id": "20220xx002",
"entrance_term_id": null,
"first_time": false,
"last_academic_term_id": null,
"exit_date": null,
"exit_reason_id": null,
"proctored": false,
"max_enrolled_credits": null,
"max_enrolled_hours": null,
"max_audit_credits": null,
"max_audit_hours": null,
"student_type_campus": "enroll_audit",
"student_type_online": "enroll_audit",
"housing": null,
"sandbox": true
}
Retrieves a specific Student object.
HTTP Request
GET /people/(person)/student
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
- Academic Auditor
- Academic Admin
- Registrar
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/student/update" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/people/(person)/student/update',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/student/update',
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/people/(person)/student/update"), Method.Put);
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/people/(person)/student/update');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "student",
"id": 12,
"visible_student_id": "20220xx002",
"entrance_term_id": null,
"first_time": false,
"last_academic_term_id": null,
"exit_date": null,
"exit_reason_id": null,
"proctored": false,
"max_enrolled_credits": null,
"max_enrolled_hours": null,
"max_audit_credits": null,
"max_audit_hours": null,
"student_type_campus": "enroll_audit",
"student_type_online": "enroll_audit",
"housing": null,
"sandbox": true
}
Updates an existing Student object.
HTTP Request
PUT /people/(person)/student/update
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| student_id | No | int | |
| is_loa | No | bool | |
| loa_start_date | No | date | |
| loa_end_date | No | date | |
| proctored | No | bool | |
| max_enrolled_credits | No | decimal | |
| max_enrolled_hours | No | decimal | |
| max_audit_credits | No | decimal | |
| max_audit_hours | No | decimal | |
| housing | No | enum (on_campus, with_parent, off_campus, on_campus_with_dependents) |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
transcript
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/transcript" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"program_id": "2"
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/transcript',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:program_id => '2'
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/transcript',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
json={
'program_id': '2'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/transcript"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
program_id = "2"
});
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/people/(person)/transcript');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'program_id' => '2'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 2,
"results": 2,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": {
"programs": {
"2": {
"programid": "2",
"level": "Undergraduate",
"name": "Certificate",
"units": "CREDITS",
"hidden_from_students": 0,
"started_on": "2004-10-20",
"exit_date": null,
"exit_reason": null,
"standings_include_clinical_hours": 0,
"lock_gpa_data": false,
"transcript_note": {
"errors": null
},
"entrance_term_id": null,
"entrance_term_display_name": null,
"sort_by": 0,
"terms": {
"5": {
"name": "Fall 2008 2008-2009",
"start_date": "2008-09-01",
"end_date": "2008-12-15",
"raw_discipline": [],
"discipline": [],
"raw_between_term_discipline": [],
"between_term_discipline": [],
"term_name_only": "Fall 2008",
"term_start_year": 2008,
"term_end_year": 2009,
"term_years": "2008-2009",
"term_type": "STANDARD",
"lock_gpa_data": false,
"course_descriptions": [],
"transcript_note": null,
"sort_by": "2008_2008-09-01_Fall 2008",
"no_resident_courses": true,
"custom_field_values": []
}
}
}
},
"transfer_credits": {
"2": {
"institutions": {
"1": {
"contact_org_name": "The Oxford School",
"transfer_courses": [
{
"course_group_id": null,
"course_id": 687,
"course_num": "SPAN306",
"course_name": "Spanish 6",
"description": "Spanish 7",
"attempted_units": 2.6,
"earned_units": 2.6,
"earned_standing_units": 2.6,
"grade_abbrv": "A",
"letter_grade": "A",
"quality_points": 10.4,
"gpa_units": 2.6,
"attempted_contra-units": 0,
"earned_contra-units": null,
"attempted_attendance_hours": null,
"earned_attendance_hours": null,
"attempted_clinical_hours": null,
"earned_clinical_hours": null,
"attendance_hours_that_affect_standing": null,
"clinical_hours_that_affect_standing": null,
"applied_to_course_abbrv": "LAT100",
"applied_to_course_name": "Beginning Latin",
"show_on_transcript": 1,
"effective_date": null,
"applied_date": null
}
],
"transfer_degrees": []
}
},
"totals": {
"institutions": {
"1": {
"quality_points": 10.4,
"gpa_units": 2.6,
"attempted_units": 2.6,
"earned_units": 2.6,
"earned_standing_units": 2.6,
"attempted_contra-units": 0,
"earned_contra-units": null,
"attempted_attendance_hours": null,
"earned_attendance_hours": null,
"attempted_clinical_hours": null,
"earned_clinical_hours": null,
"attendance_hours_that_affect_standing": null,
"clinical_hours_that_affect_standing": null,
"clinical_course_earned_units": null,
"non_clinical_course_earned_units": 2.6,
"clinical_course_earned_contra_units": null,
"non_clinical_course_earned_contra_units": null
}
}
},
"effective_date_units": []
}
}
}
}
This route will return a lot of student data, the structure of which is too complex to articulate here.
HTTP Request
GET /people/(person)/transcript
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| program_id | Yes | int |
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
This is a heavy call. For performance reasons, only one heavy call may be made at a time.
transcript_notes
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/transcriptnotes" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/transcriptnotes',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/transcriptnotes',
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/people/(person)/transcriptnotes"), 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/people/(person)/transcriptnotes');
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": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "transcript_note",
"id": 1,
"student_id": 12,
"program_id": 2,
"academic_term_id": null,
"note": "Special accomodations for tests.",
"added_at": "2022-10-10T00:00:00+00:00",
"added_by_id": 16,
"updated_at": null,
"updated_by_id": null
}
],
"sandbox": true
}
HTTP Request
GET /people/(person)/transcriptnotes
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
balances (index)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/personbalances" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"as_of_date": "2026-07-15",
"filter": {"0":{"logic":"ALL","fields":[{"name":"balance","value":{"type":"RANGE","start":"10.5","end":"900.15"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/personbalances',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/personbalances',
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/personbalances"), 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/personbalances');
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": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"person_id": 12,
"display_name": "Taylor Forest",
"first_name": "Taylor",
"last_name": "Forest",
"balance": "3400.00"
}
]
}
HTTP Request
GET /personbalances
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| as_of_date | No | date | |
| filter | No | mixed | See available filter conditions |
| page | No | int | The page of results to return if more than 200 records are found. |
Filter Condition Parameters
These conditions can be used to narrow the results returned.
| Name | Type |
|---|---|
| balance | decimal |
| uncollectible_invoices | invoiceuncollectible |
| program | object id |
| has_active_student_role | enum (yes, no) |
| on_active_payment_plan | bool |
| has_active_recurring_payment | bool |
| student_campus | object id |
| tag | tag |
| lock_type | locktype |
| custom_field | custom |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Student Billing