NAV
shell ruby python csharp php

Introduction

Welcome to the documentation site for the Populi API version 2.0.

This is a modern REST API, allowing you to integrate most of the data in your school's Populi instance with other outside services and your own custom software. The data object format shown here is also used by webhooks coming from Populi.

If you are looking for our old API, it is deprecated and will receive no further development (except for security updates), however you can still look up the legacy API reference.

If you need help, first check your API logs in Populi and look at the provided examples. The API channel on our Discord server is also a good place to ask help or see what other developers are doing. For specific questions, please email support@populi.co.

Authentication

Every request must contain an API Key token in the header.

# With shell, you can just pass the correct header with each request
curl "https://yourschool.populiweb.com/api2/object/method" \
  -H "Authorization: Bearer YOUR_POPULI_API_KEY"
require 'httparty'
response = HTTParty.get(
  'https://yourschool.populiweb.com/api2/object/method', 
  headers: {
    'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
  }.to_json
)
puts response.body
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/object/method"), 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/object/method');
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);

Make sure to replace YOUR_POPULI_API_KEY with your API key token.

Populi uses API Keys to control access to the API. Populi Account Administrators can create API Keys and give them to developers to use. API Keys are given roles just like users are, which determines what exactly they have access to. You can also specify which users are Log Viewers of a particular key. You should make your developers log viewers of the keys they use so they can debug their own calls. To manage your API Keys, go to Account & Settings; under the Account heading, click API and go to the Keys view.

API Keys can have up to two active tokens associated with them. Tokens will look something like: sk_j4U265CpkDEIXSAYwAVV1ryf2hiYo

Populi expects for an API Key token to be included in all API requests to the server in a header that looks like the following:

Authorization: Bearer sk_j4U265CpkDEIXSAYwAVV1ryf2hiYo

Request and Response Format

All API calls will be to your school's Populi instance URL + /api2/ + the route.

Example

GET https://yourschool.populiweb.com/api2/people

Some API calls include parameters (integers) in the URL path.

Example

POST https://yourschool.populiweb.com/api2/people/55782/phonenumbers/223950/update

Some calls require additional parameters. These will need to be included as JSON in the body of the request.

Example

POST https://yourschool.populiweb.com/api2/people/55782/phonenumbers/create
{
  "number": "555-893-0032",
  "type": "home"
}

All API calls will contain JSON in the body of the HTTP response. This response will always be either:

There are a tiny handful of exceptions to this convention.

Alternate Example, JSON in a URL parameter

POST https://yourschool.populiweb.com/api2/courseofferings?parameters={"academic_term_id":5557}

JSON in the request must be valid. Trailing commas are not permitted. The documentation provides example requests and responses for every call.

All responses include the "sandbox" property. This will be set to true for responses or webhooks originating from a validation or demo instance. It will be false for data or events from your live production instance.

Objects

Most API calls return a data object. A data object will always include its type name (e.g. "object": "person") and its unique numeric id (e.g. "id": "88932" ). The data object will also contain many other fields, some of which may contain additional nested objects.

Expandable Objects

Some calls are expandable. That means, in the request, you can specify that you want additional information included in the response. For example calling /people/123 will give you back basic information about the person with ID 123. However, calling /people/123 with "expand": ["addresses", "phone_numbers", "tags"] in the JSON request body will cause that person's addresses, phone numbers, and tags to be included in the response.

Lists and Paging

Some API calls return a list of many data objects. For example, a call to find everyone with the last name smith may return several hundred results. Most lists contain a maximum of 200 records per response. You can use the page parameter in your request to request additional results.

Errors

Example

{
  "object": "error",
  "code": 400,
  "type": "missing_parameter",
  "message": "Missing required parameter: academic_term_id",
  "sandbox": true
}

Some API calls will return an error object. The error object will contain additional details about what happened to assist with your debugging. Errors can result from many things such as requesting an object that doesn't exist, or supplying an invalid parameter, or trying to call a route your API key does not have permission to use.

Rate Limits

Populi enforces API rate-limits in order to stay responsive for all users. The rate limits are as follows:

If you pass your limit, Populi will return HTTP response code 429 (Too Many Requests).

Handling 429 response codes by exponentially backing off

If your app exceeds its rate limit, you should pause for just over a minute before sending additional requests (that way you'll be guaranteed that the timer has been re-set). However, it's much more efficient to design your app to stay below the limit and avoid 429 responses altogether! You could do this by placing a small delay between calls.

If your app is making API requests from multiple threads, you'll need to make sure all threads are backing off when receiving 429 responses.

Best practices to avoid rate limits

We recommend the following practices to reduce interruptions:

Example Code

Example code for each call is provided below for each route in shell (curl), Ruby, Python, C#.Net, and PHP. Some of the examples depend on popular libraries you may need to include in your project. Feel free to use whatever libraries or methods you want.

If you are just getting started, we recommend making a few of your first calls using the Postman tool. Postman is a cross-platform API experimentation tool that provides an easy interface to see what is going on. We also have a Postman collection of example calls to get you started! After downloading it, go to the variable settings and replace the school_url with the URL of your own school's Populi instance. Under the Authorization settings you'll need to paste in a working API key of your own.

--- API Routes ---

timezone

Example code to call this method:

Example response:

{
    "object": "timezone",
    "timezone": "America\/Los_Angeles",
    "now": "2024-06-14T08:53:04+00:00"
}

Get the timezone of your school. All dates and times returned by the API will be in this timezone. Includes a representation of the current time.

HTTP Request

GET /timezone

Parameters

None

Permissions

Any role may call this method.

AcademicTerm

The AcademicTerm object

The AcademicTerm object looks like this in JSON:

{
    "object": "academic_term",
    "id": 8,
    "academic_year_id": 4,
    "name": "Spring 2010",
    "display_name": "Spring 2010 2009-2010",
    "start_date": "2010-02-01",
    "end_date": "2010-05-15",
    "grades_date": "2010-05-10",
    "add_drop_time": "2010-02-15T00:00:00+00:00",
    "enrollment_start_time": "2010-01-01T00:00:00+00:00",
    "non_standard": false,
    "type": "standard",
    "max_enrolled_credits": null,
    "max_enrolled_hours": null,
    "max_audit_credits": null,
    "max_audit_hours": null,
    "evaluations_available_from": null,
    "evaluations_available_to": null,
    "evaluations_lock_grades_at": null,
    "online_registration_delay_until": null,
    "online_registration_randomization_seconds": 0,
    "evaluations_lock_grades_until": null,
    "evaluations_available_to_faculty": null,
    "lms_sync": null,
    "external_id": null,
    "start_year": 2009,
    "end_year": 2010,
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
academic_year_id Yes int
name Yes text (255)
display_name Yes text (200)
start_date Yes date
end_date Yes date
grades_date Yes date
add_drop_time Yes datetime
enrollment_start_time No datetime
non_standard Yes bool
type Yes enum (standard, non_standard, super)
max_enrolled_credits No decimal
max_enrolled_hours No decimal
max_audit_credits No decimal
max_audit_hours No decimal
evaluations_available_from No datetime
evaluations_available_to No datetime
evaluations_lock_grades_at No datetime
online_registration_delay_until No datetime
online_registration_randomization_seconds Yes int
evaluations_lock_grades_until No datetime
evaluations_available_to_faculty No enum (not_available, available_after_60_percent_completion, available_after_60_percent_completion_and_course_finalized)
lms_sync No enum (none, canvas)
external_id No text (100)
start_year No int
end_year No int
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/academicterms" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/academicterms',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/academicterms',
 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/academicterms"), 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/academicterms');
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": 8,
    "results": 8,
    "results_per_page": null,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "academic_term",
            "id": 8,
            "academic_year_id": 4,
            "name": "Spring 2010",
            "display_name": "Spring 2010 2009-2010",
            "start_date": "2010-02-01",
            "end_date": "2010-05-15",
            "grades_date": "2010-05-10",
            "add_drop_time": "2010-02-15T00:00:00+00:00",
            "enrollment_start_time": "2010-01-01T00:00:00+00:00",
            "non_standard": false,
            "type": "standard",
            "max_enrolled_credits": null,
            "max_enrolled_hours": null,
            "max_audit_credits": null,
            "max_audit_hours": null,
            "evaluations_available_from": null,
            "evaluations_available_to": null,
            "evaluations_lock_grades_at": null,
            "online_registration_delay_until": null,
            "online_registration_randomization_seconds": 0,
            "evaluations_lock_grades_until": null,
            "evaluations_available_to_faculty": null,
            "lms_sync": null,
            "external_id": null,
            "start_year": 2009,
            "end_year": 2010,
            "added_at": null,
            "added_by_id": null
        }
    ],
    "sandbox": true
}

Retrieves all AcademicTerm objects.

HTTP Request

GET /academicterms

Parameters

None

Expandable Properties

Permissions

One of the following roles is required to call this method:

show

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/academicterms/(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/academicterms/(academicterm)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/academicterms/(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/academicterms/(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/academicterms/(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:

{
    "object": "academic_term",
    "id": 8,
    "academic_year_id": 4,
    "name": "Spring 2010",
    "display_name": "Spring 2010 2009-2010",
    "start_date": "2010-02-01",
    "end_date": "2010-05-15",
    "grades_date": "2010-05-10",
    "add_drop_time": "2010-02-15T00:00:00+00:00",
    "enrollment_start_time": "2010-01-01T00:00:00+00:00",
    "non_standard": false,
    "type": "standard",
    "max_enrolled_credits": null,
    "max_enrolled_hours": null,
    "max_audit_credits": null,
    "max_audit_hours": null,
    "evaluations_available_from": null,
    "evaluations_available_to": null,
    "evaluations_lock_grades_at": null,
    "online_registration_delay_until": null,
    "online_registration_randomization_seconds": 0,
    "evaluations_lock_grades_until": null,
    "evaluations_available_to_faculty": null,
    "lms_sync": null,
    "external_id": null,
    "start_year": 2009,
    "end_year": 2010,
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}

Retrieves a specific AcademicTerm object.

HTTP Request

GET /academicterms/(academicterm)

Parameters

No additional parameters are needed beyond the ID of the object being requested that appears in the URL.

Expandable Properties

Permissions

One of the following roles is required to call this method:

billing

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/academicterms/(academicterm)/billing" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "filter": {"0":{"logic":"ALL","fields":[{"name":"total_charges","value":{"type":"RANGE","start":"10.5","end":"900.15"},"positive":1}]}}
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/academicterms/(academicterm)/billing',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/academicterms/(academicterm)/billing',
 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/academicterms/(academicterm)/billing"), 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/academicterms/(academicterm)/billing');
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": 0,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "person",
            "id": 16,
            "first_name": "Academic",
            "last_name": "Admin",
            "middle_name": "",
            "prefix": null,
            "suffix": null,
            "preferred_name": null,
            "display_name": "Academic 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,
            "added_at": null,
            "added_by_id": null,
            "updated_at": null,
            "report_data": {
                "studentid": 16,
                "dummyid": "20220xx001",
                "enrollment_agreements_signed": "0",
                "enrollment_agreements_unsigned": "0",
                "tuition": "0.00",
                "fees": "0.00",
                "room_plan": "0.00",
                "meal_plan": "0.00",
                "bookstore": "0.00",
                "pending_and_invoices_total_charges": "0.00",
                "grants": "3644.90",
                "loans": "0.00",
                "total_aid": "3644.90",
                "schedule_names": null,
                "schedule_ids": null,
                "row_id": 16
            },
            "private_profile": false,
            "is_user": true
        }
    ],
    "sandbox": true
}

Returns a variety of collected individual student billing information for a specified term.

HTTP Request

GET /academicterms/(academicterm)/billing

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

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
tuition_schedule object id
tuition decimal
fees_and_bookstore decimal
room_and_board decimal
total_charges decimal
expected_aid decimal
charges_less_expected_aid decimal
student_campus campus
invoice_posted_date date
term_amount_due decimal
enrollment_agreement_status enrollmentagreementstatus
tag tag
custom_field custom

Permissions

One of the following roles is required to call this method:

courseofferings

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/academicterms/(academicterm)/courseofferings" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "filter": {"0":{"logic":"ALL","fields":[{"name":"enrolled","value":{"type":"RANGE","start":"1","end":"9"},"positive":1}]}}
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/academicterms/(academicterm)/courseofferings',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/academicterms/(academicterm)/courseofferings',
 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/academicterms/(academicterm)/courseofferings"), 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/academicterms/(academicterm)/courseofferings');
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": 200,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "course_offering",
            "id": 21910,
            "academic_term_id": 8,
            "campus_id": 0,
            "finalized": false,
            "finalized_at": null,
            "max_enrolled": null,
            "max_auditors": null,
            "roster_visibility": true,
            "start_date": "2022-05-20",
            "end_date": "2022-10-08",
            "add_drop_time": null,
            "published": true,
            "open_to_students_date": "2022-05-20",
            "closed_to_students_date": "2022-10-08",
            "course_evaluation_id": null,
            "evaluation_available_from": null,
            "evaluation_available_to": null,
            "evaluation_lock_grades_at": null,
            "evaluation_lock_grades_until": null,
            "evaluation_available_to_faculty": null,
            "faculty_can_manage_roster": false,
            "faculty_can_override_enrollment": false,
            "students_can_add_discussions": true,
            "disable_student_bulletin_board_posts": false,
            "allow_auditor_assignments": false,
            "allow_auditor_attendance": false,
            "waiting_list_management": "automatic",
            "report_data": {
                "course_offering_catalog_course_id": 40,
                "name": "Beginning Latin I",
                "description": "",
                "catalog_course_id": 688,
                "section": "1",
                "credits": "2.00",
                "hours": "2.00",
                "pass_fail": 0,
                "attendance_hours": "0.00",
                "enable_clinical_hours": 0,
                "clinical_hours": "0.00",
                "fulfills_program_requirements": 1,
                "affects_standing": 1,
                "affects_full_time_status": 1,
                "pass_affects_gpa": 1,
                "fail_affects_gpa": 1,
                "pass_fail_pass_affects_gpa": 1,
                "pass_fail_fail_affects_gpa": 1,
                "course_abbrv": "LAT101",
                "department_name": "Undergraduate",
                "campus_name": null,
                "num_finalized_students": "0",
                "num_students": "2",
                "num_auditors": "0",
                "num_incomplete": "0",
                "num_withdrawn": "0",
                "num_waiting": 1,
                "primary_faculty_id": null,
                "primary_faculty_display_name": null,
                "primary_faculty_first_name": null,
                "primary_faculty_last_name": null,
                "other_faculty_ids": null,
                "other_faculty": null,
                "teaching_assistants": null,
                "primary_faculty_email_address": null,
                "other_faculty_email_addresses": null,
                "teaching_assistant_email_addresses": null,
                "add_drop_time_local": "2010-02-14 16:00:00",
                "department_id": 1,
                "program_name_ids": null,
                "hide_self_register": 0,
                "self_enroll": "YES",
                "self_audit": 1,
                "course_books": null,
                "course_links": null,
                "delivery_method_ids": null,
                "delivery_method_names": null,
                "primary_delivery_method_id": null,
                "primary_delivery_method_name": null,
                "has_course_evaluation": 0,
                "num_course_evaluation_completions": "0",
                "row_id": 40
            },
            "show_progress_to_students": false,
            "catalog_courses": [
                {
                    "object": "catalog_course",
                    "id": 40,
                    "course_offering_id": 21910,
                    "catalog_course_id": 688,
                    "primary": true,
                    "abbrv": "LAT101",
                    "name": "Beginning Latin I",
                    "description": null,
                    "section": "1",
                    "credits": 2,
                    "hours": 2,
                    "attendance_hours": 0,
                    "clinical_hours": 0,
                    "affects_standing": true,
                    "affects_full_time_status": true,
                    "pass_fail": false,
                    "pass_affects_gpa": true,
                    "fail_affects_gpa": true,
                    "pass_fail_pass_affects_gpa": true,
                    "pass_fail_fail_affects_gpa": true,
                    "fulfills_program_requirements": true,
                    "minimum_attendance": null,
                    "hide_self_register": false,
                    "self_enroll": "yes",
                    "self_audit": true,
                    "delivery_methods": [],
                    "added_at": null,
                    "added_by_id": null
                }
            ]
        }
    ],
    "sandbox": true
}

HTTP Request

GET /academicterms/(academicterm)/courseofferings

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

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
finalized bool
campus campus
section alphanumeric
instructor search
department object id
enrolled integer
auditors integer
incomplete integer
withdrawn integer
waiting integer
pass_fail bool
max_enrolled enrollment
max_auditors enrollment
delivery_method object id
published bool
program program
show_self_register bool
self_enroll choice
self_audit bool

Permissions

One of the following roles is required to call this method:

enrollments

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/academicterms/(academicterm)/enrollments" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "filter": {"0":{"logic":"ALL","fields":[{"name":"finalized","value":"YES","positive":1}]}}
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/academicterms/(academicterm)/enrollments',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/academicterms/(academicterm)/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/academicterms/(academicterm)/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/academicterms/(academicterm)/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": 2,
    "results": 2,
    "results_per_page": 200,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "person",
            "id": 16,
            "first_name": "Academic",
            "last_name": "Admin",
            "middle_name": "",
            "prefix": null,
            "suffix": null,
            "preferred_name": null,
            "display_name": "Academic 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,
            "added_at": null,
            "added_by_id": null,
            "updated_at": null,
            "report_data": {
                "student_person_id": 16,
                "student_name": "Academic Admin",
                "academic_term_id": 8,
                "academic_term_name": "Spring 2010 2009-2010",
                "catalog_course_abbrv": "LAT101",
                "course_offering_id": 21910,
                "full_course_offering_name": "LAT101-1: Beginning Latin I",
                "course_student_status": "ENROLLED",
                "status_mapid": null,
                "status_map_abbrv": null,
                "programid": 0,
                "program_name": null,
                "grade_abbrv": null,
                "grade": "91.50",
                "enrollment_id": 6000002,
                "course_offering_student_program_id": null,
                "pass_fail": 0,
                "student_middle_name": "",
                "student_preferred_name": "",
                "academic_term_start_date": "2010-02-01",
                "course_campus_id": null,
                "academic_term_end_date": "2010-05-15",
                "student_first_name": "Academic",
                "student_last_name": "Admin",
                "course_offering_section": "1",
                "course_offering_name": "Beginning Latin I",
                "credits": "2.00",
                "hours": "2.00",
                "retake": null,
                "course_campus_name": null,
                "finalized": 0,
                "program_units": "CREDITS",
                "catalog_course_id": 688,
                "row_id": "16_0_21910"
            },
            "private_profile": false,
            "is_user": true
        }
    ],
    "sandbox": true
}

HTTP Request

GET /academicterms/(academicterm)/enrollments

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

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
student search
program program
academic_term academic_term
transcript_term academic_term
billing_term academic_term
course search
status course_student_status
include_dropped_students bool
include_deleted_students bool
include_waitlisted_students bool
grade decimal
letter text
academic_year academic_year
catalog_course search
course_department object id
course_section alphanumeric
course_delivery_method object id
course_affects_standing bool
course_faculty faculty
course_campus campus
has_active_student_role has_active_student_role
students_campus campus
standing academicstanding
degree_seeking bool
degree_level choice
degree degree
specialization specialization
first_time bool
full_time bool
finalized bool
finalized_at datetime
enrolled_by search
enrollment_date date
status_date date
term_start_date date
term_end_date date
course_start_date date
course_end_date date
credits decimal
hours decimal
pass_fail bool
final_attendance decimal
last_attendance datetime
course_has_been_retaken bool
advisor advisor
automatically_removed_at datetime
automatically_removed_from enum
age integer
gender gender
race_ethnicity base_object id
tag tag
custom_field custom
pay_period_start_date date
pay_period_end_date date

Permissions

One of the following roles is required to call this method:

students

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/academicterms/(academicterm)/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/academicterms/(academicterm)/students',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/academicterms/(academicterm)/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/academicterms/(academicterm)/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/academicterms/(academicterm)/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": "Academic",
            "last_name": "Admin",
            "middle_name": "",
            "prefix": null,
            "suffix": null,
            "preferred_name": null,
            "display_name": "Academic 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,
            "added_at": null,
            "added_by_id": null,
            "updated_at": null,
            "report_data": {
                "degree_list": null,
                "specialization_list": null,
                "standing_name": null,
                "term_gpa": null,
                "cum_gpa": null,
                "term_units_attempted": null,
                "program_id": null,
                "program_name": null,
                "full_time": null,
                "cum_units_granted": null,
                "courses_mapped_elsewhere": 0,
                "row_id": "16_0"
            },
            "private_profile": false,
            "is_user": true
        }
    ],
    "sandbox": true
}

HTTP Request

GET /academicterms/(academicterm)/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

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
program program
standing academicstanding
degree_seeking bool
degree_level choice
degree degree
specialization specialization
first_time bool
full_time bool
term_units decimal
term_units_granted decimal
term_gpa decimal
cum_units decimal
resident_cum_gpa decimal
total_cum_gpa decimal
total_transfer_credits decimal
region choice
race_ethnicity base_object id
gender gender
campus campus
tag tag
custom_field custom
lock_type locktype

Permissions

One of the following roles is required to call this method:

waitinglist

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/academicterms/(academicterm)/waitinglist" \
-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/academicterms/(academicterm)/waitinglist',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/academicterms/(academicterm)/waitinglist',
 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/academicterms/(academicterm)/waitinglist"), 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/academicterms/(academicterm)/waitinglist');
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": 200,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "person",
            "id": 16,
            "first_name": "Academic",
            "last_name": "Admin",
            "middle_name": "",
            "prefix": null,
            "suffix": null,
            "preferred_name": null,
            "display_name": "Academic 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,
            "added_at": null,
            "added_by_id": null,
            "updated_at": null,
            "report_data": {
                "waiting_list_added_at": "2022-10-11 17:08:57",
                "waiting_list_position": 2,
                "course_offering_id": 21910,
                "full_course_offering_name": "LAT101-1: Beginning Latin I",
                "max_enrolled": null,
                "num_enrolled_incomplete": 2,
                "openings": null,
                "row_id": "40_16"
            },
            "private_profile": false,
            "is_user": true
        }
    ],
    "sandbox": true
}

HTTP Request

GET /academicterms/(academicterm)/waitinglist

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

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
course search
student search
position integer
added_at datetime
max_enrolled integer
enrolled integer
openings integer
catalog_course search
course_delivery_method object id
course_faculty faculty
finalized bool
credits decimal
hours decimal
pass_fail bool
course_campus campus
has_active_student_role has_active_student_role
students_campus campus
program program
standing academicstanding
degree_seeking bool
degree_level choice
degree degree
first_time bool
full_time bool
age integer
gender gender
race_ethnicity base_object id

Permissions

One of the following roles is required to call this method:

current

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/academicterms/current" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/academicterms/current',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/academicterms/current',
 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/academicterms/current"), 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/academicterms/current');
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": "academic_term",
    "id": 8,
    "academic_year_id": 4,
    "name": "Spring 2010",
    "display_name": "Spring 2010 2009-2010",
    "start_date": "2010-02-01",
    "end_date": "2010-05-15",
    "grades_date": "2010-05-10",
    "add_drop_time": "2010-02-15T00:00:00+00:00",
    "enrollment_start_time": "2010-01-01T00:00:00+00:00",
    "non_standard": false,
    "type": "standard",
    "max_enrolled_credits": null,
    "max_enrolled_hours": null,
    "max_audit_credits": null,
    "max_audit_hours": null,
    "evaluations_available_from": null,
    "evaluations_available_to": null,
    "evaluations_lock_grades_at": null,
    "online_registration_delay_until": null,
    "online_registration_randomization_seconds": 0,
    "evaluations_lock_grades_until": null,
    "evaluations_available_to_faculty": null,
    "lms_sync": null,
    "external_id": null,
    "start_year": 2009,
    "end_year": 2010,
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}

Returns the current default term.

HTTP Request

GET /academicterms/current

Parameters

None

Expandable Properties

Permissions

One of the following roles is required to call this method:

AcademicTermPersonSettings

The AcademicTermPersonSettings object

The AcademicTermPersonSettings object looks like this in JSON:

{
    "object": "academic_term_person_settings",
    "id": 6,
    "academic_term_id": 75,
    "person_id": 13,
    "refund_policy_id": 2,
    "payment_plan_id": null,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
academic_term_id No int
person_id No int
refund_policy_id No int
payment_plan_id No int
sandbox No --

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/termsettings" \
-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)/termsettings',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/termsettings',
 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)/termsettings"), 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)/termsettings');
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": null,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "academic_term_person_settings",
            "id": 480,
            "academic_term_id": 4,
            "person_id": 12,
            "refund_policy_id": null,
            "payment_plan_id": null
        }
    ],
    "sandbox": true
}

Retrieves all AcademicTermPersonSettings objects tied to a specific Person.

HTTP Request

GET /people/(person)/termsettings

Parameters

None

Permissions

One of the following roles is required to call this method:

show

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/termsettings/(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)/termsettings/(academicterm)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/termsettings/(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)/termsettings/(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)/termsettings/(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:

{
    "object": "academic_term_person_settings",
    "id": 481,
    "academic_term_id": 8,
    "person_id": 12,
    "refund_policy_id": null,
    "payment_plan_id": null,
    "sandbox": true
}

Retrieves a specific AcademicTermPersonSettings object.

HTTP Request

GET /people/(person)/termsettings/(academicterm)

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:

AcademicYear

The AcademicYear object

The AcademicYear object looks like this in JSON:

{
    "object": "academic_year",
    "id": 4,
    "start_year": 2009,
    "end_year": 2010,
    "num_academic_terms": 2,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
start_year Yes int
end_year Yes int
num_academic_terms No int
sandbox No --

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/academicyears" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/academicyears',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/academicyears',
 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/academicyears"), 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/academicyears');
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": 4,
    "results": 4,
    "results_per_page": null,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "academic_year",
            "id": 4,
            "start_year": 2009,
            "end_year": 2010,
            "num_academic_terms": 2
        }
    ],
    "sandbox": true
}

Retrieves all AcademicYear objects.

HTTP Request

GET /academicyears

Parameters

None

Permissions

One of the following roles is required to call this method:

show

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/academicyears/(academicyear)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/academicyears/(academicyear)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/academicyears/(academicyear)',
 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/academicyears/(academicyear)"), 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/academicyears/(academicyear)');
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": "academic_year",
    "id": 4,
    "start_year": 2009,
    "end_year": 2010,
    "sandbox": true
}

Retrieves a specific AcademicYear object.

HTTP Request

GET /academicyears/(academicyear)

Parameters

No additional parameters are needed beyond the ID of the object being requested that appears in the URL.

Expandable Properties

Permissions

One of the following roles is required to call this method:

current

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/academicyears/current" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/academicyears/current',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/academicyears/current',
 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/academicyears/current"), 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/academicyears/current');
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": "academic_year",
    "id": 4,
    "start_year": 2009,
    "end_year": 2010,
    "sandbox": true
}

HTTP Request

GET /academicyears/current

Parameters

None

Permissions

One of the following roles is required to call this method:

Account

The Account object

The Account object looks like this in JSON:

{
    "object": "account",
    "id": 3,
    "name": "Accounts Receivable",
    "account_number": "12345-8",
    "description": "Money you do not have, but might later.",
    "type": "asset",
    "currency": "USD",
    "sandbox": true
}
Attribute Required Data Type
id Yes int
name Yes text (300)
account_number Yes text (50)
description Yes text (500)
type No enum (income, asset, expense, liability, equity)
currency No text (3)
sandbox No --

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/accounts" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/accounts',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/accounts',
 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/accounts"), 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/accounts');
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": 5,
    "results": 5,
    "results_per_page": null,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "account",
            "id": 3,
            "name": "Accounts Receivable",
            "account_number": "12345-8",
            "description": "Money you do not have, but might later.",
            "type": "asset",
            "currency": "USD"
        }
    ],
    "sandbox": true
}

Retrieves all Account objects.

HTTP Request

GET /accounts

Parameters

None

Permissions

One of the following roles is required to call this method:

show

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/accounts/(account)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/accounts/(account)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/accounts/(account)',
 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/accounts/(account)"), 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/accounts/(account)');
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": "account",
    "id": 3,
    "name": "Accounts Receivable",
    "account_number": "12345-8",
    "description": "Money you do not have, but might later.",
    "type": "asset",
    "currency": "USD",
    "sandbox": true
}

Retrieves a specific Account object.

HTTP Request

GET /accounts/(account)

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:

Address

The Address object

The Address object looks like this in JSON:

{
    "object": "address",
    "id": 777,
    "owner_id": 1,
    "owner_type": "person",
    "street": "6600 Park Crest Court",
    "city": "Lincoln",
    "state": "NE",
    "postal": "68506",
    "country": "US",
    "type": "home",
    "primary": true,
    "old": false,
    "public": true,
    "synced_from": null,
    "import_id": null,
    "added_at": null,
    "added_by_id": 1,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
owner_id Yes int
owner_type Yes enum (person, organization, inquiry, application)
street Yes text (255)
city Yes text (50)
state Yes text (50)
postal Yes text (50)
country Yes text (50)
type Yes enum (home, work, other, main, billing, shipping, school)
primary Yes bool
old Yes bool
public Yes bool
synced_from Yes int
import_id No int
added_at No datetime
added_by_id No int
sandbox No --

index (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/addresses" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/addresses',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/addresses',
 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/organizations/(organization)/addresses"), 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/organizations/(organization)/addresses');
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": "address",
            "id": 800,
            "owner_id": 1,
            "owner_type": "organization",
            "street": "123 Street",
            "city": "Seattle",
            "state": "WA",
            "postal": "89000",
            "country": "US",
            "type": "other",
            "primary": false,
            "old": false,
            "public": true,
            "synced_from": null,
            "import_id": null,
            "added_at": null,
            "added_by_id": 20
        }
    ],
    "sandbox": true
}

Retrieves all Address objects tied to a specific Organization.

HTTP Request

GET /organizations/(organization)/addresses

Parameters

None

Permissions

One of the following roles is required to call this method:

create (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/addresses" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "street": "444 Oak Ave",
    "city": "Cityburg",
    "type": "main"
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/addresses',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :street => '444 Oak Ave',
  :city => 'Cityburg',
  :type => 'main'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/addresses',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 }
 json={
  'street': '444 Oak Ave',
  'city': 'Cityburg',
  'type': 'main'
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/organizations/(organization)/addresses"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  street = "444 Oak Ave",
  city = "Cityburg",
  type = "main"
});
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/organizations/(organization)/addresses');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'street' => '444 Oak Ave',
  'city' => 'Cityburg',
  'type' => 'main'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "address",
    "id": 804,
    "owner_id": 1,
    "owner_type": "organization",
    "street": "444 Oak Ave",
    "city": "Cityburg",
    "state": null,
    "postal": null,
    "country": null,
    "type": "main",
    "primary": false,
    "old": false,
    "public": false,
    "synced_from": null,
    "import_id": null,
    "added_at": "2024-06-14T15:53:02+00:00",
    "added_by_id": 22,
    "sandbox": true
}

Creates a new Address object.

HTTP Request

POST /organizations/(organization)/addresses

Parameters

Name Required Data Type Description
street Yes text (255)
city Yes text (50)
state No text (50)
postal No text (50)
country No text (50)
type Yes enum (home, work, other, main, billing, shipping, school)

Permissions

One of the following roles is required to call this method:

show (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/addresses/(address)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/addresses/(address)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/addresses/(address)',
 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/organizations/(organization)/addresses/(address)"), 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/organizations/(organization)/addresses/(address)');
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": "address",
    "id": 777,
    "owner_id": 1,
    "owner_type": "person",
    "street": "6600 Park Crest Court",
    "city": "Lincoln",
    "state": "NE",
    "postal": "68506",
    "country": "US",
    "type": "home",
    "primary": true,
    "old": false,
    "public": true,
    "synced_from": null,
    "import_id": null,
    "added_at": null,
    "added_by_id": 1,
    "sandbox": true
}

Retrieves a specific Address object.

HTTP Request

GET /organizations/(organization)/addresses/(address)

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:

update (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/addresses/(address)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "street": "555 Maple Street",
    "city": "Townville",
    "type": "main"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/addresses/(address)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/addresses/(address)',
 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/organizations/(organization)/addresses/(address)"), 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/organizations/(organization)/addresses/(address)');
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": "address",
    "id": 800,
    "owner_id": 1,
    "owner_type": "organization",
    "street": "555 Maple Street",
    "city": "Townville",
    "state": "WA",
    "postal": "89000",
    "country": "US",
    "type": "main",
    "primary": true,
    "old": false,
    "public": true,
    "synced_from": null,
    "import_id": null,
    "added_at": null,
    "added_by_id": 20,
    "sandbox": true
}

Updates an existing Address object.

HTTP Request

PUT /organizations/(organization)/addresses/(address)

Parameters

Name Required Data Type Description
street No text (255)
city No text (50)
state No text (50)
postal No text (50)
country No text (50)
type No enum (home, work, other, main, billing, shipping, school)
is_primary No bool
old No bool
public No bool

Permissions

One of the following roles is required to call this method:

delete (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/addresses/(address)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/addresses/(address)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/addresses/(address)',
 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/organizations/(organization)/addresses/(address)"), Method.Delete);
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/organizations/(organization)/addresses/(address)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "address",
    "id": 800,
    "deleted": true
}

Deletes an existing Address object.

HTTP Request

DELETE /organizations/(organization)/addresses/(address)

Parameters

No additional parameters are needed beyond the ID of the object to delete that appears in the URL.

Permissions

One of the following roles is required to call this method:

index (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/addresses" \
-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)/addresses',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/addresses',
 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)/addresses"), 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)/addresses');
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": "address",
            "id": 801,
            "owner_id": 12,
            "owner_type": "person",
            "street": "123 Street",
            "city": "Seattle",
            "state": "WA",
            "postal": "89000",
            "country": "US",
            "type": "other",
            "primary": false,
            "old": false,
            "public": true,
            "synced_from": null,
            "import_id": null,
            "added_at": null,
            "added_by_id": 20
        }
    ],
    "sandbox": true
}

Retrieves all Address objects tied to a specific Person.

HTTP Request

GET /people/(person)/addresses

Parameters

None

Permissions

One of the following roles is required to call this method:

create (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/addresses" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "street": "222 Ash Court",
    "city": "Prairie City",
    "type": "home"
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/people/(person)/addresses',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :street => '222 Ash Court',
  :city => 'Prairie City',
  :type => 'home'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/people/(person)/addresses',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 }
 json={
  'street': '222 Ash Court',
  'city': 'Prairie City',
  'type': 'home'
 }
)
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)/addresses"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  street = "222 Ash Court",
  city = "Prairie City",
  type = "home"
});
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)/addresses');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'street' => '222 Ash Court',
  'city' => 'Prairie City',
  'type' => 'home'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "address",
    "id": 805,
    "owner_id": 12,
    "owner_type": "person",
    "street": "222 Ash Court",
    "city": "Prairie City",
    "state": null,
    "postal": null,
    "country": null,
    "type": "home",
    "primary": false,
    "old": false,
    "public": false,
    "synced_from": null,
    "import_id": null,
    "added_at": "2024-06-14T15:53:02+00:00",
    "added_by_id": 22,
    "sandbox": true
}

Creates a new Address object.

HTTP Request

POST /people/(person)/addresses

Parameters

Name Required Data Type Description
street Yes text (255)
city Yes text (50)
state No text (50)
postal No text (50)
country No text (50)
type Yes enum (home, work, other, main, billing, shipping, school)

Permissions

One of the following roles is required to call this method:

show (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/addresses/(address)" \
-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)/addresses/(address)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/addresses/(address)',
 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)/addresses/(address)"), 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)/addresses/(address)');
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": "address",
    "id": 801,
    "owner_id": 12,
    "owner_type": "person",
    "street": "123 Street",
    "city": "Seattle",
    "state": "WA",
    "postal": "89000",
    "country": "US",
    "type": "other",
    "primary": false,
    "old": false,
    "public": true,
    "synced_from": null,
    "import_id": null,
    "added_at": null,
    "added_by_id": 20,
    "sandbox": true
}

Retrieves a specific Address object.

HTTP Request

GET /people/(person)/addresses/(address)

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:

update (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/addresses/(address)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "street": "333 Fir Street",
    "city": "Placeville",
    "type": "home"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/people/(person)/addresses/(address)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/people/(person)/addresses/(address)',
 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)/addresses/(address)"), 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)/addresses/(address)');
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": "address",
    "id": 801,
    "owner_id": 12,
    "owner_type": "person",
    "street": "333 Fir Street",
    "city": "Placeville",
    "state": "WA",
    "postal": "89000",
    "country": "US",
    "type": "home",
    "primary": true,
    "old": false,
    "public": true,
    "synced_from": null,
    "import_id": null,
    "added_at": null,
    "added_by_id": 20,
    "sandbox": true
}

Updates an existing Address object.

HTTP Request

PUT /people/(person)/addresses/(address)

Parameters

Name Required Data Type Description
street No text (255)
city No text (50)
state No text (50)
postal No text (50)
country No text (50)
type No enum (home, work, other, main, billing, shipping, school)
is_primary No bool
old No bool
public No bool

Permissions

One of the following roles is required to call this method:

delete (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/addresses/(address)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/people/(person)/addresses/(address)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/people/(person)/addresses/(address)',
 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)/addresses/(address)"), Method.Delete);
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)/addresses/(address)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "address",
    "id": 801,
    "deleted": true
}

Deletes an existing Address object.

HTTP Request

DELETE /people/(person)/addresses/(address)

Parameters

No additional parameters are needed beyond the ID of the object to delete that appears in the URL.

Permissions

One of the following roles is required to call this method:

Advisee

The Advisee object

The Advisee object looks like this in JSON:

{
    "object": "student",
    "id": 1,
    "entrance_term_id": 8,
    "exit_date": null,
    "exit_reason": null,
    "grades_withheld": false,
    "meal_plan_id": 0,
    "room_plan_id": 0,
    "receives_1098t": true,
    "loa_start_date": null,
    "loa_end_date": null,
    "proctored": false,
    "first_time": 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,
    "advisor_ids": null,
    "visible_student_id": "20020xx000",
    "sandbox": true
}
Attribute Required Data Type
id No int
entrance_term_id Yes int
exit_date Yes date
exit_reason Yes int
grades_withheld Yes bool
meal_plan_id No int
room_plan_id No int
receives_1098t Yes bool
loa_start_date No date
loa_end_date No date
proctored No bool
first_time Yes 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)
advisor_ids No Array of Person IDs
visible_student_id No int
sandbox No --

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/advisees" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "filter": {"0":{"logic":"ALL","fields":[{"name":"last_name","value":{"type":"CONTAINS","text":"blah"},"positive":1}]}}
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/advisees',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/advisees',
 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/advisees"), 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/advisees');
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": [
        {
            "object": "student",
            "id": 12,
            "entrance_term_id": 0,
            "exit_date": null,
            "exit_reason": null,
            "grades_withheld": false,
            "meal_plan_id": 0,
            "room_plan_id": 0,
            "receives_1098t": true,
            "loa_start_date": null,
            "loa_end_date": null,
            "proctored": false,
            "first_time": 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,
            "advisor_ids": "17,16",
            "raw_advisor_names": "Financial Admin (Advisor), Academic Admin (Hidden Advisor)",
            "current_user_is_advisor": null,
            "firstname": "Taylor",
            "preferred_name": "",
            "lastname": "Forest",
            "image_file_id": null,
            "last_attendance_date": null,
            "registration_locked": 1,
            "registration_locks": [
                {
                    "lock_type_id": "3",
                    "lock_type_name": "Financial",
                    "lock_student_id": "4",
                    "lock_student_reason": ""
                },
                {
                    "lock_type_id": "2",
                    "lock_type_name": "Registration",
                    "lock_student_id": "3",
                    "lock_student_reason": "Needs academic counseling"
                }
            ],
            "discipline": null,
            "color": null,
            "entrance_term_name": null,
            "visible_student_id": "20220xx002"
        }
    ],
    "sandbox": true
}

Retrieves all Advisee objects that match given filter conditions.

HTTP Request

GET /advisees

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.

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
first_name text
preferred_name text
last_name text
program program
degree degree
specialization specialization
course_term academic_term
entrance_term object id
flag choice
last_attendance DATE
discipline object id
registration_lock bool
student_campus campus
tag tag
custom_field custom

Permissions

One of the following roles is required to call this method:

AidApplication

The AidApplication object

The AidApplication object looks like this in JSON:

{
    "object": "aid_application",
    "id": 6,
    "student_id": 35,
    "aid_year_id": 3,
    "aid_classification_id": 6,
    "auto_expand_award_dates": false,
    "parental_data_missing": false,
    "dependency": "independent",
    "enrollment": "full_time",
    "enrollment_intensity": false,
    "program_months": 9,
    "year_coa": 10000,
    "program_coa": 10000,
    "year_efc": 10000,
    "program_efc": 10000,
    "verification": "selected_by_college",
    "verification_status": "in_progress",
    "verification_group": null,
    "verification_exempt_reason": null,
    "status": "in_progress",
    "assigned_to": 2921,
    "student_agi": 0,
    "parents_agi": 0,
    "auto_zero_efc": false,
    "fisap_total_income": null,
    "legal_residence_state": null,
    "housing": null,
    "award_letter_layout_id": null,
    "last_isir_id": null,
    "last_isir_transaction_date": null,
    "cod_student_level_code": null,
    "cod_academic_year_start_date": null,
    "cod_academic_year_end_date": null,
    "cod_degree_id": null,
    "cod_program_length": null,
    "cod_program_length_units": null,
    "cod_program_credential_level": null,
    "cod_special_program": null,
    "cod_weeks_programs_academic_year": null,
    "cod_default_overpay_code": null,
    "cod_student_eligibility_code": null,
    "cod_ability_to_benefit_administrator_code": null,
    "cod_ability_to_benefit_test_code": null,
    "cod_ability_to_benefit_state_code": null,
    "cod_ability_to_benefit_date": null,
    "cod_program_cip_code": null,
    "cod_additional_unsubsidized_eligibility": false,
    "cod_additional_pell_eligibility": false,
    "cod_campus_id": null,
    "updated_on": null,
    "added_at": "2011-05-04T23:15:23+00:00",
    "added_by_id": 2921,
    "updated_at": null,
    "updated_by_id": 2011,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
student_id No int
aid_year_id No int
aid_classification_id No int
auto_expand_award_dates No bool
parental_data_missing No bool
dependency No enum (dependent, independent)
enrollment Yes enum (full_time, three_quarter_time, half_time, less_than_half_time)
enrollment_intensity No bool
program_months No int
year_coa Yes decimal
program_coa Yes decimal
year_efc Yes decimal
program_efc Yes decimal
verification No enum (selected_by_college, selected_by_government)
verification_status No enum (in_progress, completed, rejected, exempted)
verification_group No text (200)
verification_exempt_reason No text (1000)
status Yes enum (setup, in_progress, completed, needs_attention, canceled, deleted)
assigned_to No int
student_agi Yes decimal
parents_agi Yes decimal
auto_zero_efc No bool
fisap_total_income No decimal
legal_residence_state No text (3)
housing No enum (on_campus, with_parent, off_campus, on_campus_with_dependents)
award_letter_layout_id No int
last_isir_id No int
last_isir_transaction_date No date
cod_student_level_code No int
cod_academic_year_start_date No date
cod_academic_year_end_date No date
cod_degree_id No int
cod_program_length No decimal
cod_program_length_units No enum (years, months, weeks)
cod_program_credential_level No int
cod_special_program No char
cod_weeks_programs_academic_year No decimal
cod_default_overpay_code No char
cod_student_eligibility_code No char
cod_ability_to_benefit_administrator_code No char
cod_ability_to_benefit_test_code No char
cod_ability_to_benefit_state_code No char
cod_ability_to_benefit_date No date
cod_program_cip_code No text (20)
cod_additional_unsubsidized_eligibility No bool
cod_additional_pell_eligibility No bool
cod_campus_id No int
updated_on No date
added_at No datetime
added_by_id No int
updated_at No datetime
updated_by_id No int
sandbox No --

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/aidapplications" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "filter": {"0":{"logic":"ALL","fields":[{"name":"assigned_to","value":1,"positive":1}]}}
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/aidapplications',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/aidapplications',
 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/aidapplications"), 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/aidapplications');
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": 0,
    "results": 0,
    "results_per_page": 200,
    "pages": 0,
    "page": 0,
    "offset": 0,
    "has_more": false,
    "data": [],
    "sandbox": true
}

Retrieves all AidApplication objects that match given filter conditions.

HTTP Request

GET /aidapplications

Parameters

Name Required Data Type Description
aid_year_id No int
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

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
student search
status enum
verification_status choice
dependency enum
assigned_to aidofficer
updated datetime
classification object id
coa decimal
efc decimal
need decimal
completion integer
campus campus
aid_authorization aidauthorization
has_not_set_aid_authorization aidauthorizationunset
tag tag
custom_field custom
has_active_student_role has_active_student_role

Permissions

One of the following roles is required to call this method:

index (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidapplications" \
-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)/aidapplications',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/aidapplications',
 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)/aidapplications"), 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)/aidapplications');
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": "aid_application",
            "id": 6,
            "student_id": 35,
            "aid_year_id": 3,
            "aid_classification_id": 6,
            "auto_expand_award_dates": false,
            "parental_data_missing": false,
            "dependency": "independent",
            "enrollment": "full_time",
            "enrollment_intensity": false,
            "program_months": 9,
            "year_coa": 10000,
            "program_coa": 10000,
            "year_efc": 10000,
            "program_efc": 10000,
            "verification": "selected_by_college",
            "verification_status": "in_progress",
            "verification_group": null,
            "verification_exempt_reason": null,
            "status": "in_progress",
            "assigned_to": 2921,
            "student_agi": 0,
            "parents_agi": 0,
            "auto_zero_efc": false,
            "fisap_total_income": null,
            "legal_residence_state": null,
            "housing": null,
            "award_letter_layout_id": null,
            "last_isir_id": null,
            "last_isir_transaction_date": null,
            "cod_student_level_code": null,
            "cod_academic_year_start_date": null,
            "cod_academic_year_end_date": null,
            "cod_degree_id": null,
            "cod_program_length": null,
            "cod_program_length_units": null,
            "cod_program_credential_level": null,
            "cod_special_program": null,
            "cod_weeks_programs_academic_year": null,
            "cod_default_overpay_code": null,
            "cod_student_eligibility_code": null,
            "cod_ability_to_benefit_administrator_code": null,
            "cod_ability_to_benefit_test_code": null,
            "cod_ability_to_benefit_state_code": null,
            "cod_ability_to_benefit_date": null,
            "cod_program_cip_code": null,
            "cod_additional_unsubsidized_eligibility": false,
            "cod_additional_pell_eligibility": false,
            "cod_campus_id": null,
            "updated_on": null,
            "added_at": "2011-05-04T23:15:23+00:00",
            "added_by_id": 2921,
            "updated_at": null,
            "updated_by_id": 2011
        }
    ],
    "sandbox": true
}

Retrieves all AidApplication objects tied to a specific Person.

HTTP Request

GET /people/(person)/aidapplications

Parameters

None

Expandable Properties

Permissions

One of the following roles is required to call this method:

create

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidapplications" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "aid_year_id": 3,
    "status": "setup",
    "enrollment": "full_time"
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/people/(person)/aidapplications',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :aid_year_id => 3,
  :status => 'setup',
  :enrollment => 'full_time'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/people/(person)/aidapplications',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 }
 json={
  'aid_year_id': 3,
  'status': 'setup',
  'enrollment': 'full_time'
 }
)
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)/aidapplications"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  aid_year_id = 3,
  status = "setup",
  enrollment = "full_time"
});
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)/aidapplications');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'aid_year_id' => 3,
  'status' => 'setup',
  'enrollment' => 'full_time'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "aid_application",
    "id": 7,
    "student_id": 12,
    "aid_year_id": 3,
    "aid_classification_id": null,
    "auto_expand_award_dates": false,
    "parental_data_missing": false,
    "dependency": null,
    "enrollment": "full_time",
    "enrollment_intensity": false,
    "program_months": null,
    "year_coa": 0,
    "program_coa": 0,
    "year_efc": 0,
    "program_efc": 0,
    "verification": null,
    "verification_status": null,
    "verification_group": null,
    "verification_exempt_reason": null,
    "status": "setup",
    "assigned_to": null,
    "student_agi": 0,
    "parents_agi": 0,
    "auto_zero_efc": false,
    "fisap_total_income": 0,
    "legal_residence_state": null,
    "housing": null,
    "award_letter_layout_id": null,
    "last_isir_id": null,
    "last_isir_transaction_date": null,
    "cod_student_level_code": null,
    "cod_academic_year_start_date": null,
    "cod_academic_year_end_date": null,
    "cod_degree_id": 2,
    "cod_program_length": null,
    "cod_program_length_units": null,
    "cod_program_credential_level": null,
    "cod_special_program": null,
    "cod_weeks_programs_academic_year": null,
    "cod_default_overpay_code": null,
    "cod_student_eligibility_code": null,
    "cod_ability_to_benefit_administrator_code": null,
    "cod_ability_to_benefit_test_code": null,
    "cod_ability_to_benefit_state_code": null,
    "cod_ability_to_benefit_date": null,
    "cod_program_cip_code": null,
    "cod_additional_unsubsidized_eligibility": false,
    "cod_additional_pell_eligibility": false,
    "cod_campus_id": null,
    "updated_on": null,
    "added_at": "2024-06-14T15:53:01+00:00",
    "added_by_id": 22,
    "updated_at": "2024-06-14T15:53:01+00:00",
    "updated_by_id": 22,
    "sandbox": true
}

Creates a new AidApplication object.

HTTP Request

POST /people/(person)/aidapplications

Parameters

Name Required Data Type Description
aid_year_id Yes int
status Yes enum (setup, in_progress, completed, needs_attention, canceled, deleted)
enrollment Yes enum (full_time, three_quarter_time, half_time, less_than_half_time)
assigned_to No int
dependency No enum (dependent, independent)
student_aid_class_id No int
program_months No int
year_coa No decimal
program_coa No decimal
year_efc No decimal
program_efc No decimal
student_agi No decimal
parents_agi No decimal
legal_residence_state No text (3)
verification No enum (selected_by_college, selected_by_government)
verification_status No enum (in_progress, completed, rejected, exempted)
verification_group No text (200)
auto_zero_efc No bool
fisap_total_income No decimal
housing No enum (on_campus, with_parent, off_campus, on_campus_with_dependents)
coa_breakout_field No array of CoaCateogry ids
award_letter_layout_id No int
cod_ability_to_benefit_date No date
cod_ability_to_benefit_administrator_code No char
cod_ability_to_benefit_test_code No char
cod_ability_to_benefit_state_code No char
cod_student_eligibility_code No char
cod_default_overpay_code No char
cod_special_program No char
cod_program_credential_level No int
cod_weeks_programs_academic_year No decimal
cod_program_length_units No enum (years, months, weeks)
cod_program_length No decimal
cod_academic_year_end_date No date
cod_academic_year_start_date No date
cod_student_level_code No int
cod_program_cip_code No text (20)

Permissions

One of the following roles is required to call this method:

show

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidapplications/(aidapplication)" \
-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)/aidapplications/(aidapplication)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/aidapplications/(aidapplication)',
 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)/aidapplications/(aidapplication)"), 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)/aidapplications/(aidapplication)');
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": "aid_application",
    "id": 6,
    "student_id": 35,
    "aid_year_id": 3,
    "aid_classification_id": 6,
    "auto_expand_award_dates": false,
    "parental_data_missing": false,
    "dependency": "independent",
    "enrollment": "full_time",
    "enrollment_intensity": false,
    "program_months": 9,
    "year_coa": 10000,
    "program_coa": 10000,
    "year_efc": 10000,
    "program_efc": 10000,
    "verification": "selected_by_college",
    "verification_status": "in_progress",
    "verification_group": null,
    "verification_exempt_reason": null,
    "status": "in_progress",
    "assigned_to": 2921,
    "student_agi": 0,
    "parents_agi": 0,
    "auto_zero_efc": false,
    "fisap_total_income": null,
    "legal_residence_state": null,
    "housing": null,
    "award_letter_layout_id": null,
    "last_isir_id": null,
    "last_isir_transaction_date": null,
    "cod_student_level_code": null,
    "cod_academic_year_start_date": null,
    "cod_academic_year_end_date": null,
    "cod_degree_id": null,
    "cod_program_length": null,
    "cod_program_length_units": null,
    "cod_program_credential_level": null,
    "cod_special_program": null,
    "cod_weeks_programs_academic_year": null,
    "cod_default_overpay_code": null,
    "cod_student_eligibility_code": null,
    "cod_ability_to_benefit_administrator_code": null,
    "cod_ability_to_benefit_test_code": null,
    "cod_ability_to_benefit_state_code": null,
    "cod_ability_to_benefit_date": null,
    "cod_program_cip_code": null,
    "cod_additional_unsubsidized_eligibility": false,
    "cod_additional_pell_eligibility": false,
    "cod_campus_id": null,
    "updated_on": null,
    "added_at": "2011-05-04T23:15:23+00:00",
    "added_by_id": 2921,
    "updated_at": null,
    "updated_by_id": 2011,
    "sandbox": true
}

Retrieves a specific AidApplication object.

HTTP Request

GET /people/(person)/aidapplications/(aidapplication)

Parameters

No additional parameters are needed beyond the ID of the object being requested that appears in the URL.

Expandable Properties

Permissions

One of the following roles is required to call this method:

update

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidapplications/(aidapplication)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "status": "completed",
    "enrollment": "half_time"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/people/(person)/aidapplications/(aidapplication)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :status => 'completed',
  :enrollment => 'half_time'
 }.to_json
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/people/(person)/aidapplications/(aidapplication)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 }
 json={
  'status': 'completed',
  'enrollment': 'half_time'
 }
)
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)/aidapplications/(aidapplication)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  status = "completed",
  enrollment = "half_time"
});
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)/aidapplications/(aidapplication)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'status' => 'completed',
  'enrollment' => 'half_time'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "aid_application",
    "id": 7,
    "student_id": 12,
    "aid_year_id": 3,
    "aid_classification_id": null,
    "auto_expand_award_dates": false,
    "parental_data_missing": false,
    "dependency": null,
    "enrollment": "half_time",
    "enrollment_intensity": false,
    "program_months": null,
    "year_coa": 0,
    "program_coa": 0,
    "year_efc": 0,
    "program_efc": 0,
    "verification": null,
    "verification_status": null,
    "verification_group": null,
    "verification_exempt_reason": null,
    "status": "completed",
    "assigned_to": null,
    "student_agi": 0,
    "parents_agi": 0,
    "auto_zero_efc": false,
    "fisap_total_income": 0,
    "legal_residence_state": null,
    "housing": null,
    "award_letter_layout_id": null,
    "last_isir_id": null,
    "last_isir_transaction_date": null,
    "cod_student_level_code": null,
    "cod_academic_year_start_date": null,
    "cod_academic_year_end_date": null,
    "cod_degree_id": 2,
    "cod_program_length": null,
    "cod_program_length_units": null,
    "cod_program_credential_level": null,
    "cod_special_program": null,
    "cod_weeks_programs_academic_year": null,
    "cod_default_overpay_code": null,
    "cod_student_eligibility_code": null,
    "cod_ability_to_benefit_administrator_code": null,
    "cod_ability_to_benefit_test_code": null,
    "cod_ability_to_benefit_state_code": null,
    "cod_ability_to_benefit_date": null,
    "cod_program_cip_code": null,
    "cod_additional_unsubsidized_eligibility": false,
    "cod_additional_pell_eligibility": false,
    "cod_campus_id": null,
    "updated_on": null,
    "added_at": "2024-06-14T08:53:01+00:00",
    "added_by_id": 22,
    "updated_at": "2024-06-14T08:53:01+00:00",
    "updated_by_id": 22,
    "sandbox": true
}

Updates an existing AidApplication object.

HTTP Request

PUT /people/(person)/aidapplications/(aidapplication)

Parameters

Name Required Data Type Description
status Yes enum (setup, in_progress, completed, needs_attention, canceled, deleted)
enrollment Yes enum (full_time, three_quarter_time, half_time, less_than_half_time)
assigned_to No int
dependency No enum (dependent, independent)
student_aid_class_id No int
program_months No int
year_coa No decimal
program_coa No decimal
year_efc No decimal
program_efc No decimal
student_agi No decimal
parents_agi No decimal
legal_residence_state No text (3)
verification No enum (selected_by_college, selected_by_government)
verification_status No enum (in_progress, completed, rejected, exempted)
verification_group No text (200)
auto_zero_efc No bool
fisap_total_income No decimal
housing No enum (on_campus, with_parent, off_campus, on_campus_with_dependents)
coa_breakout_field No array of CoaCateogry ids
award_letter_layout_id No int
cod_ability_to_benefit_date No date
cod_ability_to_benefit_administrator_code No char
cod_ability_to_benefit_test_code No char
cod_ability_to_benefit_state_code No char
cod_student_eligibility_code No char
cod_default_overpay_code No char
cod_special_program No char
cod_program_credential_level No int
cod_weeks_programs_academic_year No decimal
cod_program_length_units No enum (years, months, weeks)
cod_program_length No decimal
cod_academic_year_end_date No date
cod_academic_year_start_date No date
cod_student_level_code No int
cod_program_cip_code No text (20)

Permissions

One of the following roles is required to call this method:

delete

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidapplications/(aidapplication)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/people/(person)/aidapplications/(aidapplication)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/people/(person)/aidapplications/(aidapplication)',
 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)/aidapplications/(aidapplication)"), Method.Delete);
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)/aidapplications/(aidapplication)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "aid_application",
    "id": 7,
    "deleted": true
}

Deletes an existing AidApplication object.

HTTP Request

DELETE /people/(person)/aidapplications/(aidapplication)

Parameters

No additional parameters are needed beyond the ID of the object to delete that appears in the URL.

Permissions

One of the following roles is required to call this method:

AidAuthorization

The AidAuthorization object

The AidAuthorization object looks like this in JSON:

{
    "object": "aid_authorization",
    "id": 1,
    "name": "EXCESS_AID",
    "description": "Student gives permission to use federal aid to non-aid-applicable charges.",
    "sandbox": true
}
Attribute Required Data Type
id Yes int
name Yes text (255)
description Yes text (5000)
sandbox No --

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/aidauthorizations" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/aidauthorizations',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/aidauthorizations',
 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/aidauthorizations"), 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/aidauthorizations');
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": [
        {
            "object": "aid_authorization",
            "id": 1,
            "name": "EXCESS_AID",
            "description": "Student gives permission to use federal aid to non-aid-applicable charges."
        }
    ],
    "sandbox": true
}

Retrieves all AidAuthorization objects.

HTTP Request

GET /aidauthorizations

Parameters

None

Permissions

One of the following roles is required to call this method:

show

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/aidauthorizations/(aidauthorization)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/aidauthorizations/(aidauthorization)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/aidauthorizations/(aidauthorization)',
 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/aidauthorizations/(aidauthorization)"), 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/aidauthorizations/(aidauthorization)');
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": "aid_authorization",
    "id": 1,
    "name": "EXCESS_AID",
    "description": "Student gives permission to use federal aid to non-aid-applicable charges.",
    "sandbox": true
}

Retrieves a specific AidAuthorization object.

HTTP Request

GET /aidauthorizations/(aidauthorization)

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:

AidAward

The AidAward object

The AidAward object looks like this in JSON:

{
    "object": "aid_award",
    "id": 6,
    "student_id": 1,
    "aid_year_id": 1,
    "aid_type_id": 1,
    "sequence_number": 1,
    "original_accepted_amount": 1000,
    "award_limit": 1000,
    "max_amount": 1000,
    "net_amount": 1000,
    "multiplier": null,
    "auto_calc_percent_amount": false,
    "fee_percent": null,
    "status": "accepted",
    "loan_booked_on": null,
    "loan_payment_to_servicer_amount": 0,
    "loan_payment_to_servicer_date": null,
    "plus_loan_has_endorser": false,
    "plus_loan_endorser_amount": null,
    "plus_loan_credit_requirements_met": false,
    "loan_booked_cod_response_id": null,
    "year_coa": null,
    "cod_id": null,
    "cod_amount": 0,
    "cod_origination_fee_percent": null,
    "cod_start_date": null,
    "cod_end_date": null,
    "cod_student_level_code": null,
    "cod_academic_year_start_date": null,
    "cod_academic_year_end_date": null,
    "cod_program_length": null,
    "cod_program_length_units": null,
    "cod_program_credential_level": null,
    "cod_special_program": null,
    "cod_weeks_programs_academic_year": null,
    "cod_program_cip_code": null,
    "cod_plus_application_id": null,
    "cod_borrower_id": null,
    "refunds_go_to": "student",
    "cod_most_recent_response_id": null,
    "cod_status": null,
    "cod_sync_logic": "automatic",
    "cod_syncable": true,
    "cod_syncable_errors": null,
    "cod_needs_sync": true,
    "cod_originated": false,
    "external_id": null,
    "esign_by_student_at": null,
    "esign_by_student_ip": null,
    "work_study_hours_per_week": null,
    "added_at": "2015-09-08T07:53:22+00:00",
    "added_by_id": 11,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
student_id No int
aid_year_id Yes int
aid_type_id Yes int
sequence_number Yes int
original_accepted_amount Yes decimal
award_limit Yes decimal
max_amount Yes decimal
net_amount Yes decimal
multiplier No decimal
auto_calc_percent_amount Yes bool
fee_percent No decimal
status Yes enum (setup, offered, accepted, declined, canceled, deleted)
loan_booked_on No date
loan_payment_to_servicer_amount Yes decimal
loan_payment_to_servicer_date No date
plus_loan_has_endorser No bool
plus_loan_endorser_amount No decimal
plus_loan_credit_requirements_met Yes bool
loan_booked_cod_response_id No int
year_coa No decimal
cod_id No text (200)
cod_amount Yes decimal
cod_origination_fee_percent No decimal
cod_start_date No date
cod_end_date No date
cod_student_level_code No int
cod_academic_year_start_date No date
cod_academic_year_end_date No date
cod_program_length No decimal
cod_program_length_units No enum (years, months, weeks)
cod_program_credential_level No int
cod_special_program No char
cod_weeks_programs_academic_year No decimal
cod_program_cip_code No text (20)
cod_plus_application_id No int
cod_borrower_id No int
refunds_go_to Yes enum (student, borrower)
cod_most_recent_response_id No int
cod_status No enum (pending, accepted, rejected, corrected)
cod_sync_logic Yes enum (manual, automatic)
cod_syncable Yes bool
cod_syncable_errors No text
cod_needs_sync Yes bool
cod_originated Yes bool
external_id No text (50)
esign_by_student_at No datetime
esign_by_student_ip No text (60)
work_study_hours_per_week No decimal
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/aidawards" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "filter": {"0":{"logic":"ALL","fields":[{"name":"net_amount","value":{"type":"RANGE","start":"10.5","end":"900.15"},"positive":1}]}}
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/aidawards',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/aidawards',
 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/aidawards"), 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/aidawards');
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": 5,
    "results": 5,
    "results_per_page": 200,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "aid_award",
            "id": 8,
            "student_id": 16,
            "aid_year_id": 1,
            "aid_type_id": 9,
            "sequence_number": 1,
            "original_accepted_amount": 4000,
            "award_limit": 4000,
            "max_amount": 4000,
            "net_amount": 4000,
            "multiplier": null,
            "auto_calc_percent_amount": false,
            "fee_percent": null,
            "status": "accepted",
            "loan_booked_on": null,
            "loan_payment_to_servicer_amount": 0,
            "loan_payment_to_servicer_date": null,
            "plus_loan_has_endorser": false,
            "plus_loan_endorser_amount": null,
            "plus_loan_credit_requirements_met": false,
            "loan_booked_cod_response_id": null,
            "year_coa": null,
            "cod_id": null,
            "cod_amount": 0,
            "cod_origination_fee_percent": null,
            "cod_start_date": null,
            "cod_end_date": null,
            "cod_student_level_code": null,
            "cod_academic_year_start_date": null,
            "cod_academic_year_end_date": null,
            "cod_program_length": null,
            "cod_program_length_units": null,
            "cod_program_credential_level": null,
            "cod_special_program": null,
            "cod_weeks_programs_academic_year": null,
            "cod_program_cip_code": null,
            "cod_plus_application_id": null,
            "cod_borrower_id": null,
            "refunds_go_to": "student",
            "cod_most_recent_response_id": null,
            "cod_status": null,
            "cod_sync_logic": "automatic",
            "cod_syncable": true,
            "cod_syncable_errors": null,
            "cod_needs_sync": true,
            "cod_originated": false,
            "external_id": null,
            "esign_by_student_at": null,
            "esign_by_student_ip": null,
            "work_study_hours_per_week": null,
            "added_at": "2015-09-09T07:53:22+00:00",
            "added_by_id": 11,
            "report_data": {
                "person_id": 16,
                "aid_name": "Institutional Grant",
                "aid_abbrv": "INST",
                "financial_aid_type": "GRANT",
                "is_scholarship": 0,
                "aid_source": "INSTITUTION",
                "firstname": "Academic",
                "lastname": "Admin",
                "amount_scheduled": "440.70",
                "amount_disbursed": "0.00",
                "row_id": 8
            }
        }
    ],
    "sandbox": true
}

Retrieves all AidAward objects that match given filter conditions.

HTTP Request

GET /aidawards

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

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
aid_accepted_by_student bool
aid_amount decimal
aid_authorization aidauthorization
aid_year baseobject id
award object id
award_percent percent
campus campus
classification object id
custom_field custom
disbursed decimal
has_active_student_role has_active_student_role
net_amount decimal
setup_scheduled decimal
source choice
status enum
student search
student_decision date
tag tag
type awardtype
unapplied_scheduled_aid bool

Permissions

One of the following roles is required to call this method:

index_by_student

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/" \
-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)/aidawards/',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/',
 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)/aidawards/"), 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)/aidawards/');
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": "aid_award",
            "id": 10,
            "student_id": 12,
            "aid_year_id": 1,
            "aid_type_id": 9,
            "sequence_number": 2,
            "original_accepted_amount": 4000,
            "award_limit": 4000,
            "max_amount": 4000,
            "net_amount": 4000,
            "multiplier": null,
            "auto_calc_percent_amount": false,
            "fee_percent": null,
            "status": "accepted",
            "loan_booked_on": null,
            "loan_payment_to_servicer_amount": 0,
            "loan_payment_to_servicer_date": null,
            "plus_loan_has_endorser": false,
            "plus_loan_endorser_amount": null,
            "plus_loan_credit_requirements_met": false,
            "loan_booked_cod_response_id": null,
            "year_coa": null,
            "cod_id": null,
            "cod_amount": 0,
            "cod_origination_fee_percent": null,
            "cod_start_date": null,
            "cod_end_date": null,
            "cod_student_level_code": null,
            "cod_academic_year_start_date": null,
            "cod_academic_year_end_date": null,
            "cod_program_length": null,
            "cod_program_length_units": null,
            "cod_program_credential_level": null,
            "cod_special_program": null,
            "cod_weeks_programs_academic_year": null,
            "cod_program_cip_code": null,
            "cod_plus_application_id": null,
            "cod_borrower_id": null,
            "refunds_go_to": "student",
            "cod_most_recent_response_id": null,
            "cod_status": null,
            "cod_sync_logic": "automatic",
            "cod_syncable": true,
            "cod_syncable_errors": null,
            "cod_needs_sync": true,
            "cod_originated": false,
            "external_id": null,
            "esign_by_student_at": null,
            "esign_by_student_ip": null,
            "work_study_hours_per_week": null,
            "added_at": "2015-09-09T07:53:22+00:00",
            "added_by_id": 11
        }
    ],
    "sandbox": true
}

HTTP Request

GET /people/(person)/aidawards/

Parameters

None

Permissions

One of the following roles is required to call this method:

create

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "aid_year_id": 3,
    "aid_type_id": 1,
    "status": "offered",
    "amount": 2000,
    "net_amount": 1950.45
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :aid_year_id => 3,
  :aid_type_id => 1,
  :status => 'offered',
  :amount => 2000,
  :net_amount => 1950.45
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 }
 json={
  'aid_year_id': 3,
  'aid_type_id': 1,
  'status': 'offered',
  'amount': 2000,
  'net_amount': 1950.45
 }
)
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)/aidawards"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  aid_year_id = 3,
  aid_type_id = 1,
  status = "offered",
  amount = 2000,
  net_amount = 1950.45
});
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)/aidawards');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'aid_year_id' => 3,
  'aid_type_id' => 1,
  'status' => 'offered',
  'amount' => 2000,
  'net_amount' => 1950.45
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "aid_award",
    "id": 11,
    "student_id": 12,
    "aid_year_id": 3,
    "aid_type_id": 1,
    "sequence_number": 1,
    "original_accepted_amount": 1950.45,
    "award_limit": 2000,
    "max_amount": 2000,
    "net_amount": 1950.45,
    "multiplier": null,
    "auto_calc_percent_amount": false,
    "fee_percent": null,
    "status": "offered",
    "loan_booked_on": null,
    "loan_payment_to_servicer_amount": 0,
    "loan_payment_to_servicer_date": null,
    "plus_loan_has_endorser": false,
    "plus_loan_endorser_amount": null,
    "plus_loan_credit_requirements_met": false,
    "loan_booked_cod_response_id": null,
    "year_coa": null,
    "cod_id": null,
    "cod_amount": 2000,
    "cod_origination_fee_percent": null,
    "cod_start_date": null,
    "cod_end_date": null,
    "cod_student_level_code": null,
    "cod_academic_year_start_date": null,
    "cod_academic_year_end_date": null,
    "cod_program_length": null,
    "cod_program_length_units": null,
    "cod_program_credential_level": null,
    "cod_special_program": null,
    "cod_weeks_programs_academic_year": null,
    "cod_program_cip_code": null,
    "cod_plus_application_id": null,
    "cod_borrower_id": null,
    "refunds_go_to": "student",
    "cod_most_recent_response_id": null,
    "cod_status": null,
    "cod_sync_logic": "automatic",
    "cod_syncable": false,
    "cod_syncable_errors": "[\"Award must be Accepted or Canceled in order to sync to COD.\",\"Student does not have a valid SSN (9 numeric digits).\",\"Your institution doesn't have an OPE ID entered in financial aid settings.\",\"No ISIR for this student for this aid year.\",\"No birth date for this student.\",\"No COD student eligibility code for this student (High School Diploma, etc).\",\"Dependency status must be set to Dependent or Independent on this student's aid application.\",\"No COD program length set for this student.\",\"No COD program credential level for this student.\",\"No CIP code.\"]",
    "cod_needs_sync": true,
    "cod_originated": false,
    "external_id": null,
    "esign_by_student_at": null,
    "esign_by_student_ip": null,
    "work_study_hours_per_week": null,
    "added_at": "2024-06-14T15:53:03+00:00",
    "added_by_id": 22,
    "sandbox": true
}

Creates a new AidAward object.

HTTP Request

POST /people/(person)/aidawards

Parameters

Name Required Data Type Description
aid_year_id Yes int
aid_type_id Yes int
status Yes enum (setup, offered, accepted, declined, canceled, deleted)
amount Yes decimal
net_amount Yes decimal
max_amount No decimal

Permissions

One of the following roles is required to call this method:

show

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)" \
-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)/aidawards/(aidaward)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)',
 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)/aidawards/(aidaward)"), 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)/aidawards/(aidaward)');
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": "aid_award",
    "id": 8,
    "student_id": 16,
    "aid_year_id": 1,
    "aid_type_id": 9,
    "sequence_number": 1,
    "original_accepted_amount": 4000,
    "award_limit": 4000,
    "max_amount": 4000,
    "net_amount": 4000,
    "multiplier": null,
    "auto_calc_percent_amount": false,
    "fee_percent": null,
    "status": "accepted",
    "loan_booked_on": null,
    "loan_payment_to_servicer_amount": 0,
    "loan_payment_to_servicer_date": null,
    "plus_loan_has_endorser": false,
    "plus_loan_endorser_amount": null,
    "plus_loan_credit_requirements_met": false,
    "loan_booked_cod_response_id": null,
    "year_coa": null,
    "cod_id": null,
    "cod_amount": 0,
    "cod_origination_fee_percent": null,
    "cod_start_date": null,
    "cod_end_date": null,
    "cod_student_level_code": null,
    "cod_academic_year_start_date": null,
    "cod_academic_year_end_date": null,
    "cod_program_length": null,
    "cod_program_length_units": null,
    "cod_program_credential_level": null,
    "cod_special_program": null,
    "cod_weeks_programs_academic_year": null,
    "cod_program_cip_code": null,
    "cod_plus_application_id": null,
    "cod_borrower_id": null,
    "refunds_go_to": "student",
    "cod_most_recent_response_id": null,
    "cod_status": null,
    "cod_sync_logic": "automatic",
    "cod_syncable": true,
    "cod_syncable_errors": null,
    "cod_needs_sync": true,
    "cod_originated": false,
    "external_id": null,
    "esign_by_student_at": null,
    "esign_by_student_ip": null,
    "work_study_hours_per_week": null,
    "aid_year": {
        "object": "aid_year",
        "id": 1,
        "name": "2010-2011",
        "start_date": "2010-07-01",
        "end_date": "2011-06-30"
    },
    "aid_type": {
        "object": "aid_type",
        "id": 9,
        "startyear": 1,
        "endyear": 0,
        "name": "Institutional Grant",
        "abbrv": "INST",
        "cod_abbrv": "NULL",
        "title_iv": false,
        "type": "grant",
        "is_scholarship": false,
        "source": "institution",
        "multiplier": null,
        "federal_aid_id": null,
        "need_based": true,
        "count_against_need": true,
        "report_on_1098t": true,
        "non_eligible_fee_aid": false,
        "count_as_tuition_discount": false,
        "counts_as_efa": true,
        "only_allow_whole_dollar_amounts": false,
        "allow_partial_acceptance": false,
        "require_enrollment_verification": false,
        "status": "active",
        "veterans_benefits": false,
        "external_id": null
    },
    "aid_disbursements": [
        {
            "object": "aid_disbursement",
            "id": 15,
            "academic_term_id": 8,
            "student_id": 16,
            "aid_id": 9,
            "aid_award_id": 8,
            "type": "disbursement",
            "status": "scheduled",
            "amount": 440.7,
            "gross_amount": 440.7,
            "max_amount": 0,
            "multiplier": null,
            "scheduled_date": "2023-02-16",
            "posted_date": null,
            "status_date": "2023-02-16",
            "payment_id": null,
            "refund_id": null,
            "transaction_id": null,
            "disbursement_number": true,
            "sequence_number": false,
            "enrollment_status": null,
            "enrollment_intensity": false,
            "enrollment_verified": false,
            "enrollment_verified_by_id": null,
            "enrollment_verified_at": null,
            "cod_status": null,
            "cod_amount": 0,
            "cod_originated": false,
            "cod_net_amount": 0,
            "cod_released": false,
            "cod_needs_sync": true,
            "cod_program_cip_code": null,
            "cod_payment_period_start_date": null,
            "external_id": null,
            "email_message_id": null,
            "added_at": null,
            "added_by_id": null
        }
    ],
    "added_at": "2015-09-09T07:53:22+00:00",
    "added_by_id": 11,
    "sandbox": true
}

Retrieves a specific AidAward object.

HTTP Request

GET /people/(person)/aidawards/(aidaward)

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:

update

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)" \
-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)/aidawards/(aidaward)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)',
 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)/aidawards/(aidaward)"), 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)/aidawards/(aidaward)');
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": "aid_award",
    "id": 8,
    "student_id": 16,
    "aid_year_id": 1,
    "aid_type_id": 9,
    "sequence_number": 1,
    "original_accepted_amount": 0,
    "award_limit": 4000,
    "max_amount": 4000,
    "net_amount": 4000,
    "multiplier": null,
    "auto_calc_percent_amount": false,
    "fee_percent": null,
    "status": "accepted",
    "loan_booked_on": null,
    "loan_payment_to_servicer_amount": 0,
    "loan_payment_to_servicer_date": null,
    "plus_loan_has_endorser": false,
    "plus_loan_endorser_amount": null,
    "plus_loan_credit_requirements_met": false,
    "loan_booked_cod_response_id": null,
    "year_coa": null,
    "cod_id": null,
    "cod_amount": 0,
    "cod_origination_fee_percent": null,
    "cod_start_date": null,
    "cod_end_date": null,
    "cod_student_level_code": null,
    "cod_academic_year_start_date": null,
    "cod_academic_year_end_date": null,
    "cod_program_length": null,
    "cod_program_length_units": null,
    "cod_program_credential_level": null,
    "cod_special_program": null,
    "cod_weeks_programs_academic_year": null,
    "cod_program_cip_code": null,
    "cod_plus_application_id": null,
    "cod_borrower_id": null,
    "refunds_go_to": "student",
    "cod_most_recent_response_id": null,
    "cod_status": null,
    "cod_sync_logic": "automatic",
    "cod_syncable": false,
    "cod_syncable_errors": "[\"Student does not have a valid SSN (9 numeric digits).\",\"No address found for this student.\",\"Your institution doesn't have an OPE ID entered in financial aid settings.\",\"No aid application for this student for this aid year.\",\"No birth date for this student.\",\"Dependency status must be set to Dependent or Independent on this student's aid application.\",\"No COD program length set for this student.\",\"No COD program credential level for this student.\",\"Feb 16, 2023 disbursement in \\\"Spring 2010 2009-2010\\\" has an invalid sequence number.\",\"No CIP code.\"]",
    "cod_needs_sync": true,
    "cod_originated": false,
    "external_id": null,
    "esign_by_student_at": null,
    "esign_by_student_ip": null,
    "work_study_hours_per_week": null,
    "added_at": "2015-09-09T00:53:22+00:00",
    "added_by_id": 11,
    "sandbox": true
}

Updates an existing AidAward object.

HTTP Request

PUT /people/(person)/aidawards/(aidaward)

Parameters

Name Required Data Type Description
status No enum (setup, offered, accepted, declined, canceled, deleted)
amount No decimal
net_amount No decimal
max_amount No decimal

Permissions

One of the following roles is required to call this method:

delete

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)',
 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)/aidawards/(aidaward)"), Method.Delete);
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)/aidawards/(aidaward)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "aid_award",
    "id": 9,
    "deleted": true
}

Deletes an existing AidAward object.

HTTP Request

DELETE /people/(person)/aidawards/(aidaward)

Parameters

No additional parameters are needed beyond the ID of the object to delete that appears in the URL.

Permissions

One of the following roles is required to call this method:

AidClassification

The AidClassification object

The AidClassification object looks like this in JSON:

{
    "object": "aid_classification",
    "id": 6,
    "name": "Arc Welding",
    "year_coa_on_campus": 900,
    "year_coa_off_campus": null,
    "year_coa_off_campus_with_parents": 900,
    "program_coa_on_campus": 900,
    "program_coa_off_campus": null,
    "program_coa_off_campus_with_parents": null,
    "enrollment": "full_time",
    "months": 9,
    "auto_expand_award_dates": false,
    "status": "active",
    "sandbox": true
}
Attribute Required Data Type
id Yes int
name Yes text (100)
year_coa_on_campus No decimal
year_coa_off_campus No decimal
year_coa_off_campus_with_parents No decimal
program_coa_on_campus No decimal
program_coa_off_campus No decimal
program_coa_off_campus_with_parents No decimal
enrollment No enum (full_time, three_quarter_time, half_time, less_than_half_time)
months No int
auto_expand_award_dates No bool
status Yes enum (active, retired)
sandbox No --

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/aidclassifications" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/aidclassifications',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/aidclassifications',
 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/aidclassifications"), 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/aidclassifications');
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": "aid_classification",
            "id": 6,
            "name": "Arc Welding",
            "year_coa_on_campus": 900,
            "year_coa_off_campus": null,
            "year_coa_off_campus_with_parents": 900,
            "program_coa_on_campus": 900,
            "program_coa_off_campus": null,
            "program_coa_off_campus_with_parents": null,
            "enrollment": "full_time",
            "months": 9,
            "auto_expand_award_dates": false,
            "status": "active"
        }
    ],
    "sandbox": true
}

Retrieves all AidClassification objects.

HTTP Request

GET /aidclassifications

Parameters

None

Permissions

One of the following roles is required to call this method:

show

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/aidclassifications/(aidclassification)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/aidclassifications/(aidclassification)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/aidclassifications/(aidclassification)',
 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/aidclassifications/(aidclassification)"), 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/aidclassifications/(aidclassification)');
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": "aid_classification",
    "id": 6,
    "name": "Arc Welding",
    "year_coa_on_campus": 900,
    "year_coa_off_campus": null,
    "year_coa_off_campus_with_parents": 900,
    "program_coa_on_campus": 900,
    "program_coa_off_campus": null,
    "program_coa_off_campus_with_parents": null,
    "enrollment": "full_time",
    "months": 9,
    "auto_expand_award_dates": false,
    "status": "active",
    "sandbox": true
}

Retrieves a specific AidClassification object.

HTTP Request

GET /aidclassifications/(aidclassification)

Parameters

No additional parameters are needed beyond the ID of the object being requested that appears in the URL.

Expandable Properties

Permissions

One of the following roles is required to call this method:

AidDisbursement

The AidDisbursement object

The AidDisbursement object looks like this in JSON:

{
    "object": "aid_disbursement",
    "id": 6,
    "academic_term_id": 8,
    "student_id": 1,
    "aid_id": 9,
    "aid_award_id": 7,
    "type": "disbursement",
    "status": "scheduled",
    "amount": 430.7,
    "gross_amount": 430.7,
    "max_amount": 0,
    "multiplier": null,
    "scheduled_date": "2023-02-14",
    "posted_date": null,
    "status_date": "2023-02-14",
    "payment_id": null,
    "refund_id": null,
    "transaction_id": null,
    "disbursement_number": true,
    "sequence_number": false,
    "enrollment_status": null,
    "enrollment_intensity": false,
    "enrollment_verified": false,
    "enrollment_verified_by_id": null,
    "enrollment_verified_at": null,
    "cod_status": null,
    "cod_amount": 0,
    "cod_originated": false,
    "cod_net_amount": 0,
    "cod_released": false,
    "cod_needs_sync": true,
    "cod_program_cip_code": null,
    "cod_payment_period_start_date": null,
    "external_id": null,
    "email_message_id": null,
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
academic_term_id No int
student_id Yes int
aid_id Yes int
aid_award_id No int
type Yes enum (disbursement, refund_to_student, refund_to_source)
status Yes enum (setup, scheduled, posted, deleted, void)
amount Yes decimal
gross_amount Yes decimal
max_amount Yes decimal
multiplier No decimal
scheduled_date No date
posted_date No date
status_date No date
payment_id No int
refund_id No int
transaction_id No int
disbursement_number Yes bool
sequence_number No bool
enrollment_status No enum (full_time, three_quarter_time, half_time, less_than_half_time)
enrollment_intensity No bool
enrollment_verified Yes bool
enrollment_verified_by_id No int
enrollment_verified_at No datetime
cod_status No enum (pending, accepted, rejected, corrected)
cod_amount Yes decimal
cod_originated Yes bool
cod_net_amount Yes decimal
cod_released Yes bool
cod_needs_sync Yes bool
cod_program_cip_code No text (20)
cod_payment_period_start_date No date
external_id No text (50)
email_message_id No int
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/aiddisbursements" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "filter": {"0":{"logic":"ALL","fields":[{"name":"date","value":{"type":"RANGE","start":"2021-01-01","end":"2022-03-17"},"positive":1}]}}
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/aiddisbursements',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/aiddisbursements',
 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/aiddisbursements"), 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/aiddisbursements');
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": 9,
    "results": 9,
    "results_per_page": 200,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "aid_disbursement",
            "id": 8,
            "academic_term_id": 8,
            "student_id": 16,
            "aid_id": 9,
            "aid_award_id": 7,
            "type": "disbursement",
            "status": "scheduled",
            "amount": 430.7,
            "gross_amount": 430.7,
            "max_amount": 0,
            "multiplier": null,
            "scheduled_date": "2023-02-14",
            "posted_date": null,
            "status_date": "2023-02-14",
            "payment_id": null,
            "refund_id": null,
            "transaction_id": null,
            "disbursement_number": true,
            "sequence_number": false,
            "enrollment_status": null,
            "enrollment_intensity": false,
            "enrollment_verified": false,
            "enrollment_verified_by_id": null,
            "enrollment_verified_at": null,
            "cod_status": null,
            "cod_amount": 0,
            "cod_originated": false,
            "cod_net_amount": 0,
            "cod_released": false,
            "cod_needs_sync": true,
            "cod_program_cip_code": null,
            "cod_payment_period_start_date": null,
            "external_id": null,
            "email_message_id": null,
            "added_at": null,
            "added_by_id": null,
            "report_data": {
                "firstname": "Academic",
                "lastname": "Admin",
                "display_name": "Academic Admin",
                "aid_name": "Institutional Grant",
                "aid_type": "GRANT",
                "is_scholarship": 0,
                "aid_source": "INSTITUTION",
                "aid_abbrv": "INST",
                "require_enrollment_verification": 0,
                "term_name": "Spring 2010 2009-2010",
                "aid_year_id": 1,
                "aid_year_name": "2010-2011",
                "row_id": 8
            }
        }
    ],
    "sandbox": true
}

Retrieves all AidDisbursement objects that match given filter conditions.

HTTP Request

GET /aiddisbursements

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

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
date date
student search
type awardtype
disbursement_type enum
award object id
percent_award bool
status enum
aid_year baseobject id
academic_term academic_term
amount decimal
source choice
campus campus
classification object id
enrollment_verified bool
cod_status enum
tag tag
disbursement_batch_number integer
student_has_courses bool
unapplied_scheduled_aid bool
custom_field custom
added_at datetime

Permissions

One of the following roles is required to call this method:

index_by_award

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/disbursements" \
-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)/aidawards/(aidaward)/disbursements',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/disbursements',
 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)/aidawards/(aidaward)/disbursements"), 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)/aidawards/(aidaward)/disbursements');
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": "aid_disbursement",
            "id": 15,
            "academic_term_id": 8,
            "student_id": 16,
            "aid_id": 9,
            "aid_award_id": 8,
            "type": "disbursement",
            "status": "scheduled",
            "amount": 440.7,
            "gross_amount": 440.7,
            "max_amount": 0,
            "multiplier": null,
            "scheduled_date": "2023-02-16",
            "posted_date": null,
            "status_date": "2023-02-16",
            "payment_id": null,
            "refund_id": null,
            "transaction_id": null,
            "disbursement_number": true,
            "sequence_number": false,
            "enrollment_status": null,
            "enrollment_intensity": false,
            "enrollment_verified": false,
            "enrollment_verified_by_id": null,
            "enrollment_verified_at": null,
            "cod_status": null,
            "cod_amount": 0,
            "cod_originated": false,
            "cod_net_amount": 0,
            "cod_released": false,
            "cod_needs_sync": true,
            "cod_program_cip_code": null,
            "cod_payment_period_start_date": null,
            "external_id": null,
            "email_message_id": null,
            "added_at": null,
            "added_by_id": null
        }
    ],
    "sandbox": true
}

HTTP Request

GET /people/(person)/aidawards/(aidaward)/disbursements

Parameters

None

Permissions

One of the following roles is required to call this method:

create (disbursement)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/disbursements" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "scheduled_date": "2022-10-20",
    "academic_term_id": 8,
    "amount": 650
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/disbursements',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :scheduled_date => '2022-10-20',
  :academic_term_id => 8,
  :amount => 650
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/disbursements',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 }
 json={
  'scheduled_date': '2022-10-20',
  'academic_term_id': 8,
  'amount': 650
 }
)
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)/aidawards/(aidaward)/disbursements"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  scheduled_date = "2022-10-20",
  academic_term_id = 8,
  amount = 650
});
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)/aidawards/(aidaward)/disbursements');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'scheduled_date' => '2022-10-20',
  'academic_term_id' => 8,
  'amount' => 650
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "aid_disbursement",
    "id": 16,
    "academic_term_id": 8,
    "student_id": 16,
    "aid_id": 9,
    "aid_award_id": 8,
    "type": "disbursement",
    "status": "scheduled",
    "amount": 650,
    "gross_amount": 650,
    "max_amount": 0,
    "multiplier": null,
    "scheduled_date": "2022-10-20",
    "posted_date": null,
    "status_date": "2022-10-20",
    "payment_id": null,
    "refund_id": null,
    "transaction_id": null,
    "disbursement_number": true,
    "sequence_number": true,
    "enrollment_status": null,
    "enrollment_intensity": false,
    "enrollment_verified": false,
    "enrollment_verified_by_id": null,
    "enrollment_verified_at": null,
    "cod_status": null,
    "cod_amount": 650,
    "cod_originated": false,
    "cod_net_amount": 650,
    "cod_released": false,
    "cod_needs_sync": true,
    "cod_program_cip_code": null,
    "cod_payment_period_start_date": null,
    "external_id": null,
    "email_message_id": null,
    "added_at": "2024-06-14T15:53:03+00:00",
    "added_by_id": 22,
    "sandbox": true
}

Creates a new AidDisbursement object.

HTTP Request

POST /people/(person)/aidawards/(aidaward)/disbursements

Parameters

Name Required Data Type Description
scheduled_date Yes date
academic_term_id Yes int
amount Yes decimal
gross_amount No decimal

Permissions

One of the following roles is required to call this method:

show (disbursement)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/disbursements/(aiddisbursement)" \
-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)/aidawards/(aidaward)/disbursements/(aiddisbursement)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/disbursements/(aiddisbursement)',
 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)/aidawards/(aidaward)/disbursements/(aiddisbursement)"), 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)/aidawards/(aidaward)/disbursements/(aiddisbursement)');
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": "aid_disbursement",
    "id": 8,
    "academic_term_id": 8,
    "student_id": 16,
    "aid_id": 9,
    "aid_award_id": 7,
    "type": "disbursement",
    "status": "scheduled",
    "amount": 430.7,
    "gross_amount": 430.7,
    "max_amount": 0,
    "multiplier": null,
    "scheduled_date": "2023-02-14",
    "posted_date": null,
    "status_date": "2023-02-14",
    "payment_id": null,
    "refund_id": null,
    "transaction_id": null,
    "disbursement_number": true,
    "sequence_number": false,
    "enrollment_status": null,
    "enrollment_intensity": false,
    "enrollment_verified": false,
    "enrollment_verified_by_id": null,
    "enrollment_verified_at": null,
    "cod_status": null,
    "cod_amount": 0,
    "cod_originated": false,
    "cod_net_amount": 0,
    "cod_released": false,
    "cod_needs_sync": true,
    "cod_program_cip_code": null,
    "cod_payment_period_start_date": null,
    "external_id": null,
    "email_message_id": null,
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}

Retrieves a specific AidDisbursement object.

HTTP Request

GET /people/(person)/aidawards/(aidaward)/disbursements/(aiddisbursement)

Parameters

No additional parameters are needed beyond the ID of the object being requested that appears in the URL.

Expandable Properties

Permissions

One of the following roles is required to call this method:

update (disbursement)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/disbursements/(aiddisbursement)" \
-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)/aidawards/(aidaward)/disbursements/(aiddisbursement)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/disbursements/(aiddisbursement)',
 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)/aidawards/(aidaward)/disbursements/(aiddisbursement)"), 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)/aidawards/(aidaward)/disbursements/(aiddisbursement)');
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": "aid_disbursement",
    "id": 8,
    "academic_term_id": 8,
    "student_id": 16,
    "aid_id": 9,
    "aid_award_id": 7,
    "type": "disbursement",
    "status": "scheduled",
    "amount": 430.7,
    "gross_amount": 430.7,
    "max_amount": 0,
    "multiplier": null,
    "scheduled_date": "2023-02-14",
    "posted_date": null,
    "status_date": "2023-02-14",
    "payment_id": null,
    "refund_id": null,
    "transaction_id": null,
    "disbursement_number": true,
    "sequence_number": false,
    "enrollment_status": null,
    "enrollment_intensity": false,
    "enrollment_verified": false,
    "enrollment_verified_by_id": null,
    "enrollment_verified_at": null,
    "cod_status": null,
    "cod_amount": 0,
    "cod_originated": false,
    "cod_net_amount": 0,
    "cod_released": false,
    "cod_needs_sync": true,
    "cod_program_cip_code": null,
    "cod_payment_period_start_date": null,
    "external_id": null,
    "email_message_id": null,
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}

Updates an existing AidDisbursement object.

HTTP Request

PUT /people/(person)/aidawards/(aidaward)/disbursements/(aiddisbursement)

Parameters

Name Required Data Type Description
scheduled_date No date
amount No decimal
gross_amount No decimal
academic_term_id No int

Permissions

One of the following roles is required to call this method:

delete (disbursement)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/disbursements/(aiddisbursement)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/disbursements/(aiddisbursement)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/disbursements/(aiddisbursement)',
 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)/aidawards/(aidaward)/disbursements/(aiddisbursement)"), Method.Delete);
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)/aidawards/(aidaward)/disbursements/(aiddisbursement)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "aid_disbursement",
    "id": 11,
    "deleted": true
}

Deletes an existing AidDisbursement object.

HTTP Request

DELETE /people/(person)/aidawards/(aidaward)/disbursements/(aiddisbursement)

Parameters

No additional parameters are needed beyond the ID of the object to delete that appears in the URL.

Permissions

One of the following roles is required to call this method:

post

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/disbursements/(aiddisbursement)/post" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "transaction_description": "Manual 3rd PELL grant disbusement."
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/disbursements/(aiddisbursement)/post',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/disbursements/(aiddisbursement)/post',
 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)/aidawards/(aidaward)/disbursements/(aiddisbursement)/post"), 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)/aidawards/(aidaward)/disbursements/(aiddisbursement)/post');
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": "aid_disbursement",
    "id": 8,
    "academic_term_id": 8,
    "student_id": 16,
    "aid_id": 9,
    "aid_award_id": 7,
    "type": "disbursement",
    "status": "posted",
    "amount": 430.7,
    "gross_amount": 430.7,
    "max_amount": 0,
    "multiplier": null,
    "scheduled_date": "2023-02-14",
    "posted_date": "2024-06-14",
    "status_date": "2024-06-14",
    "payment_id": 101,
    "refund_id": null,
    "transaction_id": 103,
    "disbursement_number": true,
    "sequence_number": false,
    "enrollment_status": null,
    "enrollment_intensity": false,
    "enrollment_verified": false,
    "enrollment_verified_by_id": null,
    "enrollment_verified_at": null,
    "cod_status": null,
    "cod_amount": 0,
    "cod_originated": false,
    "cod_net_amount": 0,
    "cod_released": false,
    "cod_needs_sync": true,
    "cod_program_cip_code": null,
    "cod_payment_period_start_date": null,
    "external_id": null,
    "email_message_id": null,
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}

HTTP Request

GET /people/(person)/aidawards/(aidaward)/disbursements/(aiddisbursement)/post

Parameters

Name Required Data Type Description
posted_date No date Default is today
transaction_description No text

Action Parameters

Name Data Type Description
notify_student

Permissions

One of the following roles is required to call this method:

create (refund)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/refunds" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "scheduled_date": "2022-11-02",
    "amount": 720,
    "type": "refund_to_student",
    "refund_asset_account_id": 1
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/refunds',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :scheduled_date => '2022-11-02',
  :amount => 720,
  :type => 'refund_to_student'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/refunds',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 }
 json={
  'scheduled_date': '2022-11-02',
  'amount': 720,
  'type': 'refund_to_student'
 }
)
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)/aidawards/(aidaward)/refunds"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  scheduled_date = "2022-11-02",
  amount = 720,
  type = "refund_to_student"
});
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)/aidawards/(aidaward)/refunds');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'scheduled_date' => '2022-11-02',
  'amount' => 720,
  'type' => 'refund_to_student'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "aid_disbursement",
    "id": 17,
    "academic_term_id": null,
    "student_id": 16,
    "aid_id": 9,
    "aid_award_id": 8,
    "type": "refund_to_student",
    "status": "scheduled",
    "amount": -720,
    "gross_amount": -720,
    "max_amount": 0,
    "multiplier": null,
    "scheduled_date": "2022-11-02",
    "posted_date": null,
    "status_date": "2022-11-02",
    "payment_id": null,
    "refund_id": null,
    "transaction_id": null,
    "disbursement_number": true,
    "sequence_number": false,
    "enrollment_status": null,
    "enrollment_intensity": false,
    "enrollment_verified": false,
    "enrollment_verified_by_id": null,
    "enrollment_verified_at": null,
    "cod_status": null,
    "cod_amount": 0,
    "cod_originated": false,
    "cod_net_amount": 0,
    "cod_released": false,
    "cod_needs_sync": true,
    "cod_program_cip_code": null,
    "cod_payment_period_start_date": null,
    "external_id": null,
    "email_message_id": null,
    "added_at": "2024-06-14T15:53:03+00:00",
    "added_by_id": 22,
    "sandbox": true
}

Creates a new AidDisbursement object.

HTTP Request

POST /people/(person)/aidawards/(aidaward)/refunds

Parameters

Name Required Data Type Description
scheduled_date Yes date
amount Yes decimal
type Yes enum (disbursement, refund_to_student, refund_to_source)
refund_asset_account_id No int

Permissions

One of the following roles is required to call this method:

show (refund)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/refunds/(aiddisbursement)" \
-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)/aidawards/(aidaward)/refunds/(aiddisbursement)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/refunds/(aiddisbursement)',
 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)/aidawards/(aidaward)/refunds/(aiddisbursement)"), 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)/aidawards/(aidaward)/refunds/(aiddisbursement)');
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": "aid_disbursement",
    "id": 9,
    "academic_term_id": 8,
    "student_id": 16,
    "aid_id": 9,
    "aid_award_id": 7,
    "type": "refund_to_source",
    "status": "scheduled",
    "amount": 430.7,
    "gross_amount": 430.7,
    "max_amount": 0,
    "multiplier": null,
    "scheduled_date": "2023-02-14",
    "posted_date": null,
    "status_date": "2023-02-14",
    "payment_id": null,
    "refund_id": null,
    "transaction_id": null,
    "disbursement_number": true,
    "sequence_number": false,
    "enrollment_status": null,
    "enrollment_intensity": false,
    "enrollment_verified": false,
    "enrollment_verified_by_id": null,
    "enrollment_verified_at": null,
    "cod_status": null,
    "cod_amount": 0,
    "cod_originated": false,
    "cod_net_amount": 0,
    "cod_released": false,
    "cod_needs_sync": true,
    "cod_program_cip_code": null,
    "cod_payment_period_start_date": null,
    "external_id": null,
    "email_message_id": null,
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}

Retrieves a specific AidDisbursement object.

HTTP Request

GET /people/(person)/aidawards/(aidaward)/refunds/(aiddisbursement)

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:

update (refund)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/refunds/(aiddisbursement)" \
-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)/aidawards/(aidaward)/refunds/(aiddisbursement)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/refunds/(aiddisbursement)',
 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)/aidawards/(aidaward)/refunds/(aiddisbursement)"), 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)/aidawards/(aidaward)/refunds/(aiddisbursement)');
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": "aid_disbursement",
    "id": 9,
    "academic_term_id": 8,
    "student_id": 16,
    "aid_id": 9,
    "aid_award_id": 7,
    "type": "refund_to_source",
    "status": "scheduled",
    "amount": -430.7,
    "gross_amount": 430.7,
    "max_amount": 0,
    "multiplier": null,
    "scheduled_date": "2023-02-14",
    "posted_date": null,
    "status_date": "2023-02-14",
    "payment_id": null,
    "refund_id": null,
    "transaction_id": null,
    "disbursement_number": true,
    "sequence_number": false,
    "enrollment_status": null,
    "enrollment_intensity": false,
    "enrollment_verified": false,
    "enrollment_verified_by_id": null,
    "enrollment_verified_at": null,
    "cod_status": null,
    "cod_amount": 0,
    "cod_originated": false,
    "cod_net_amount": 0,
    "cod_released": false,
    "cod_needs_sync": true,
    "cod_program_cip_code": null,
    "cod_payment_period_start_date": null,
    "external_id": null,
    "email_message_id": null,
    "added_at": null,
    "added_by_id": null,
    "sandbox": true
}

Updates an existing AidDisbursement object.

HTTP Request

PUT /people/(person)/aidawards/(aidaward)/refunds/(aiddisbursement)

Parameters

Name Required Data Type Description
scheduled_date No date
amount No decimal
type No enum (disbursement, refund_to_student, refund_to_source)
refund_asset_account_id No int

Permissions

One of the following roles is required to call this method:

delete (refund)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/refunds/(aiddisbursement)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/refunds/(aiddisbursement)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)/refunds/(aiddisbursement)',
 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)/aidawards/(aidaward)/refunds/(aiddisbursement)"), Method.Delete);
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)/aidawards/(aidaward)/refunds/(aiddisbursement)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "aid_disbursement",
    "id": 12,
    "deleted": true
}

Deletes an existing AidDisbursement object.

HTTP Request

DELETE /people/(person)/aidawards/(aidaward)/refunds/(aiddisbursement)

Parameters

No additional parameters are needed beyond the ID of the object to delete that appears in the URL.

Permissions

One of the following roles is required to call this method:

AidDisbursementBatch

The AidDisbursementBatch object

The AidDisbursementBatch object looks like this in JSON:

{
    "object": "aid_disbursement_batch",
    "id": 1,
    "aid_type_ids": "[7]",
    "campus_id": null,
    "number": 1,
    "type": "disbursement",
    "status": "open",
    "stage_id": 7,
    "import_id": null,
    "transaction_id": null,
    "notify_students": false,
    "added_at": "2023-05-23T21:10:45+00:00",
    "added_by_id": 2923,
    "updated_at": "2023-05-23T21:37:38+00:00",
    "updated_by_id": 2923,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
aid_type_ids No --
campus_id No int
number No int
type No enum (disbursement, refund_to_student, refund_to_source)
status Yes enum (open, closed, canceled)
stage_id No int
import_id No int
transaction_id No int
notify_students No bool
added_at No datetime
added_by_id No int
updated_at No datetime
updated_by_id No int
sandbox No --

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/aiddisbursementbatches" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "filter": {"0":{"logic":"ALL","fields":[{"name":"award","value":1,"positive":1}]}}
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/aiddisbursementbatches',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/aiddisbursementbatches',
 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/aiddisbursementbatches"), 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/aiddisbursementbatches');
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": 200,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "aid_disbursement_batch",
            "id": 1,
            "aid_type_ids": "[7]",
            "campus_id": null,
            "number": 1,
            "type": "disbursement",
            "status": "open",
            "stage_id": 7,
            "import_id": null,
            "transaction_id": null,
            "notify_students": false,
            "added_at": "2023-05-23T21:10:45+00:00",
            "added_by_id": 2923,
            "updated_at": "2023-05-23T21:37:38+00:00",
            "updated_by_id": 2923,
            "report_data": {
                "stage_name": "Posted to Student Accounts",
                "num_disbursements": "0",
                "amount": "0.00",
                "financial_aid_ids": null,
                "student_ids": null,
                "campus_name": null
            }
        }
    ],
    "sandbox": true
}

Retrieves all AidDisbursementBatch objects that match given filter conditions.

HTTP Request

GET /aiddisbursementbatches

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.

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
batch_number integer
type enum
campus campus
status enum
stage object id
added datetime
updated datetime
disbursements integer
amount decimal
award object id
student search

Permissions

One of the following roles is required to call this method:

create

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/aiddisbursementbatches" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "type": "disbursement",
    "aid_disbursement_ids": "[13,14]"
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/aiddisbursementbatches',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :type => 'disbursement',
  :aid_disbursement_ids => [13,14]
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/aiddisbursementbatches',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 }
 json={
  'type': 'disbursement',
  'aid_disbursement_ids': [13,14]
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/aiddisbursementbatches"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  type = "disbursement",
  aid_disbursement_ids = [13,14]
});
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/aiddisbursementbatches');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'type' => 'disbursement',
  'aid_disbursement_ids' => [13,14]
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "aid_disbursement_batch",
    "id": 2,
    "aid_type_ids": "[9]",
    "campus_id": null,
    "number": 2,
    "type": "disbursement",
    "status": "open",
    "stage_id": 1,
    "import_id": null,
    "transaction_id": null,
    "notify_students": false,
    "added_at": "2024-06-14T15:53:01+00:00",
    "added_by_id": 22,
    "updated_at": null,
    "updated_by_id": null,
    "sandbox": true
}

Creates a new AidDisbursementBatch object.

HTTP Request

POST /aiddisbursementbatches

Parameters

Name Required Data Type Description
type Yes enum (disbursement, refund_to_student, refund_to_source)
aid_disbursement_ids Yes array of AidDisbursement ids

Permissions

One of the following roles is required to call this method:

show

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/aiddisbursementbatches/(aiddisbursementbatch)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/aiddisbursementbatches/(aiddisbursementbatch)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/aiddisbursementbatches/(aiddisbursementbatch)',
 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/aiddisbursementbatches/(aiddisbursementbatch)"), 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/aiddisbursementbatches/(aiddisbursementbatch)');
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": "aid_disbursement_batch",
    "id": 1,
    "aid_type_ids": "[7]",
    "campus_id": null,
    "number": 1,
    "type": "disbursement",
    "status": "open",
    "stage_id": 7,
    "import_id": null,
    "transaction_id": null,
    "notify_students": false,
    "added_at": "2023-05-23T21:10:45+00:00",
    "added_by_id": 2923,
    "updated_at": "2023-05-23T21:37:38+00:00",
    "updated_by_id": 2923,
    "sandbox": true
}

Retrieves a specific AidDisbursementBatch object.

HTTP Request

GET /aiddisbursementbatches/(aiddisbursementbatch)

Parameters

No additional parameters are needed beyond the ID of the object being requested that appears in the URL.

Expandable Properties

Permissions

One of the following roles is required to call this method:

AidStudentAuthorization

The AidStudentAuthorization object

The AidStudentAuthorization object looks like this in JSON:

{
    "object": "aid_student_authorization",
    "id": 12,
    "student_id": 18499,
    "borrower_id": null,
    "aid_authorization_id": 2,
    "aid_year_id": 50,
    "added_at": "2021-12-23T17:33:30+00:00",
    "added_by_id": 24469716,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
student_id No int
borrower_id No int
aid_authorization_id Yes int
aid_year_id No int
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/aidauthorizations/" \
-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)/aidauthorizations/',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/aidauthorizations/',
 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)/aidauthorizations/"), 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)/aidauthorizations/');
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": "aid_student_authorization",
            "id": 13,
            "student_id": 12,
            "borrower_id": null,
            "aid_authorization_id": 2,
            "aid_year_id": 5,
            "added_at": "2021-12-23T17:33:30+00:00",
            "added_by_id": 16
        }
    ],
    "sandbox": true
}

Retrieves all AidStudentAuthorization objects tied to a specific Person.

HTTP Request

GET /people/(person)/aidauthorizations/

Parameters

None

Permissions

One of the following roles is required to call this method:

AidType

The AidType object

The AidType object looks like this in JSON:

{
    "object": "aid_type",
    "id": 1,
    "startyear": 1,
    "endyear": 0,
    "name": "Pell Grant",
    "abbrv": "PELL",
    "cod_abbrv": "PELL",
    "title_iv": true,
    "type": "grant",
    "is_scholarship": false,
    "source": "federal",
    "multiplier": null,
    "federal_aid_id": null,
    "need_based": true,
    "count_against_need": true,
    "report_on_1098t": true,
    "non_eligible_fee_aid": false,
    "count_as_tuition_discount": false,
    "counts_as_efa": true,
    "only_allow_whole_dollar_amounts": false,
    "allow_partial_acceptance": false,
    "require_enrollment_verification": false,
    "status": "active",
    "veterans_benefits": false,
    "external_id": null,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
startyear Yes int
endyear Yes int
name Yes text (100)
abbrv Yes text (25)
cod_abbrv No text (100)
title_iv No bool
type Yes enum (grant, loan, work_study)
is_scholarship Yes bool
source Yes enum (federal, state, institution, private, employer, other)
multiplier No decimal
federal_aid_id No int
need_based Yes bool
count_against_need Yes bool
report_on_1098t Yes bool
non_eligible_fee_aid Yes bool
count_as_tuition_discount Yes bool
counts_as_efa Yes bool
only_allow_whole_dollar_amounts Yes bool
allow_partial_acceptance No bool
require_enrollment_verification Yes bool
status Yes enum (active, retired)
veterans_benefits Yes bool
external_id No text (100)
sandbox No --

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/aidtypes" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/aidtypes',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/aidtypes',
 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/aidtypes"), 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/aidtypes');
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": 12,
    "results": 12,
    "results_per_page": null,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "aid_type",
            "id": 1,
            "startyear": 1,
            "endyear": 0,
            "name": "Pell Grant",
            "abbrv": "PELL",
            "cod_abbrv": "PELL",
            "title_iv": true,
            "type": "grant",
            "is_scholarship": false,
            "source": "federal",
            "multiplier": null,
            "federal_aid_id": null,
            "need_based": true,
            "count_against_need": true,
            "report_on_1098t": true,
            "non_eligible_fee_aid": false,
            "count_as_tuition_discount": false,
            "counts_as_efa": true,
            "only_allow_whole_dollar_amounts": false,
            "allow_partial_acceptance": false,
            "require_enrollment_verification": false,
            "status": "active",
            "veterans_benefits": false,
            "external_id": null
        }
    ],
    "sandbox": true
}

Retrieves all AidType objects.

HTTP Request

GET /aidtypes

Parameters

None

Permissions

One of the following roles is required to call this method:

show

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/aidtypes/(aidtype)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/aidtypes/(aidtype)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/aidtypes/(aidtype)',
 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/aidtypes/(aidtype)"), 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/aidtypes/(aidtype)');
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": "aid_type",
    "id": 1,
    "startyear": 1,
    "endyear": 0,
    "name": "Pell Grant",
    "abbrv": "PELL",
    "cod_abbrv": "PELL",
    "title_iv": true,
    "type": "grant",
    "is_scholarship": false,
    "source": "federal",
    "multiplier": null,
    "federal_aid_id": null,
    "need_based": true,
    "count_against_need": true,
    "report_on_1098t": true,
    "non_eligible_fee_aid": false,
    "count_as_tuition_discount": false,
    "counts_as_efa": true,
    "only_allow_whole_dollar_amounts": false,
    "allow_partial_acceptance": false,
    "require_enrollment_verification": false,
    "status": "active",
    "veterans_benefits": false,
    "external_id": null,
    "sandbox": true
}

Retrieves a specific AidType object.

HTTP Request

GET /aidtypes/(aidtype)

Parameters

No additional parameters are needed beyond the ID of the object being requested that appears in the URL.

Expandable Properties

Permissions

One of the following roles is required to call this method:

AidYear

The AidYear object

The AidYear object looks like this in JSON:

{
    "object": "aid_year",
    "id": 60,
    "name": "2025-2026",
    "start_date": "2025-07-01",
    "end_date": "2026-06-30",
    "sandbox": true
}
Attribute Required Data Type
id Yes int
name No text (50)
start_date No date
end_date No date
sandbox No --

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/aidyears" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/aidyears',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/aidyears',
 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/aidyears"), 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/aidyears');
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": 19,
    "results": 19,
    "results_per_page": null,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "aid_year",
            "id": 60,
            "name": "2025-2026",
            "start_date": "2025-07-01",
            "end_date": "2026-06-30"
        }
    ],
    "sandbox": true
}

Retrieves all AidYear objects.

HTTP Request

GET /aidyears

Parameters

None

Permissions

One of the following roles is required to call this method:

show

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/aidyears/(aidyear)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/aidyears/(aidyear)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/aidyears/(aidyear)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 }
)
print(response.json())