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"
}
Most parameters correspond to properties of the data object in question and should be at the top level of your JSON request. However, some calls also have "action parameters", that should be nested under a key named actions
.
Example
POST https://yourschool.populiweb.com/api2/users/55782
{
"username": "jimmy57",
"actions": {
"send_welcome_email": true
}
}
All API calls will contain JSON in the body of the HTTP response. This response will always be either:
- A single data object
- A list object containing an array of data objects
- An error object containing information on what went wrong or why the request was invalid
There are a tiny handful of exceptions to this convention.
- API calls that contain a file upload will contain the file data in the body of the request and any additional parameters must be included as POST variables instead of JSON in the body.
- API calls that return a file to download (such as a XLS, CSV, or PDF), will contain the file in the response instead of JSON.
- If you are using a strict software library that does not allow GET calls to have any data in the request body, then you may alternately include parameters as JSON in the URL string. Use a single parameter in the url called
parameters
for this purpose.
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:
- 3AM - 7PM (Pacific Standard Time): 50 requests per minute per API key.
- 7PM - 3AM (Pacific Standard Time): 100 requests per minute per API key.
- Certain "heavy" API calls, cannot be called concurrently. That is, you can only make one heavy call at a time (e.g. pulling a Data Slicer report).
- There are additional per-IP and per-school limits.
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:
- Avoid constant polling. Listen for automation webhooks where possible.
- Add a small delay between rapid API calls (e.g.
sleep(1)
or equivalent) - Cache your own data when you need to store specialized values or rapidly query large data sets.
- Only pull the data you need by adding filter condition parameters to reports
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 provided 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 a power user, but lacking in development skills, parts of this API can be accessed via the Zapier service for building third party integrations. If you are a Zapier user, you may email support@populi.co and ask for a feature invite link.
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": "2025-04-14T16:32:20+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.
show example webhook payload
Example response:
{}
This method returns an example JSON payload of a Webhook coming from Populi triggered by a specified type of Automation. Replace :trigger_abbrv in the URL with the trigger type abbreviation (e.g. person_created).
HTTP Request
GET /webhooks/examples/:trigger_abbrv
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:
- Staff
- Development
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
- academic_year
- enrollment_periods
- subterms
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Auditor
- Academic Admin
- Registrar
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
- academic_year
- enrollment_periods
- subterms
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Auditor
- Academic Admin
- Registrar
academicprogress
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/academicterms/(academicterm)/academicprogress" \
-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)/academicprogress',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/academicterms/(academicterm)/academicprogress',
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)/academicprogress"), 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)/academicprogress');
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
}
Returns the equivalent of the Financial Aid Academic Progress Report.
HTTP Request
GET /academicterms/(academicterm)/academicprogress
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
- academic_year
- enrollment_periods
- subterms
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
student | search |
has_aid | bool |
sap | choice |
can_appeal | bool |
under_academic_discipline | bool |
program | program |
attendance | choice |
last_attendance | date |
term_gpa | decimal |
term_gpa_including_transfer | decimal |
cum_gpa | decimal |
cum_gpa_including_transfer | decimal |
cum_units_attempted_including_transfer | decimal |
cum_units_earned_including_transfer | decimal |
completion_percent | integer |
campus | campus |
classification | object id |
tag | tag |
custom_field | custom |
Permissions
One of the following roles is required to call this method:
- Financial Aid
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": "Abby",
"last_name": "Admin",
"middle_name": "",
"prefix": null,
"suffix": null,
"preferred_name": null,
"display_name": "Abby Admin",
"gender": "female",
"other_gender": null,
"image_file_id": null,
"birth_date": null,
"status": "active",
"social_security_number": null,
"alien_registration_number": null,
"social_insurance_number": null,
"home_city": null,
"home_state": null,
"home_country": null,
"former_name": null,
"license_plate": null,
"bio": null,
"hispanic_latino": false,
"resident_alien": false,
"localization_id": null,
"notification_email_id": null,
"deceased_date": null,
"import_id": null,
"staff_id": null,
"faculty_id": null,
"degree_level_id": null,
"added_at": null,
"added_by_id": null,
"updated_at": 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
- academic_year
- enrollment_periods
- subterms
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:
- Financial Admin
- Student Billing
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
- academic_year
- enrollment_periods
- subterms
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:
- Academic Auditor
- Academic Admin
- Registrar
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": "Abby",
"last_name": "Admin",
"middle_name": "",
"prefix": null,
"suffix": null,
"preferred_name": null,
"display_name": "Abby Admin",
"gender": "female",
"other_gender": null,
"image_file_id": null,
"birth_date": null,
"status": "active",
"social_security_number": null,
"alien_registration_number": null,
"social_insurance_number": null,
"home_city": null,
"home_state": null,
"home_country": null,
"former_name": null,
"license_plate": null,
"bio": null,
"hispanic_latino": false,
"resident_alien": false,
"localization_id": null,
"notification_email_id": null,
"deceased_date": null,
"import_id": null,
"staff_id": null,
"faculty_id": null,
"degree_level_id": null,
"added_at": null,
"added_by_id": null,
"updated_at": null,
"report_data": {
"student_person_id": 16,
"student_name": "Abby 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",
"visible_student_id": "20220xx001",
"course_campus_id": null,
"academic_term_end_date": "2010-05-15",
"student_first_name": "Abby",
"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
- academic_year
- enrollment_periods
- subterms
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 |
added_at | datetime |
updated_at | datetime |
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:
- Academic Admin
- Registrar
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": "Abby",
"last_name": "Admin",
"middle_name": "",
"prefix": null,
"suffix": null,
"preferred_name": null,
"display_name": "Abby Admin",
"gender": "female",
"other_gender": null,
"image_file_id": null,
"birth_date": null,
"status": "active",
"social_security_number": null,
"alien_registration_number": null,
"social_insurance_number": null,
"home_city": null,
"home_state": null,
"home_country": null,
"former_name": null,
"license_plate": null,
"bio": null,
"hispanic_latino": false,
"resident_alien": false,
"localization_id": null,
"notification_email_id": null,
"deceased_date": null,
"import_id": null,
"staff_id": null,
"faculty_id": null,
"degree_level_id": null,
"added_at": null,
"added_by_id": null,
"updated_at": 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
- academic_year
- enrollment_periods
- subterms
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:
- Academic Auditor
- Academic Admin
- Registrar
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": "Abby",
"last_name": "Admin",
"middle_name": "",
"prefix": null,
"suffix": null,
"preferred_name": null,
"display_name": "Abby Admin",
"gender": "female",
"other_gender": null,
"image_file_id": null,
"birth_date": null,
"status": "active",
"social_security_number": null,
"alien_registration_number": null,
"social_insurance_number": null,
"home_city": null,
"home_state": null,
"home_country": null,
"former_name": null,
"license_plate": null,
"bio": null,
"hispanic_latino": false,
"resident_alien": false,
"localization_id": null,
"notification_email_id": null,
"deceased_date": null,
"import_id": null,
"staff_id": null,
"faculty_id": null,
"degree_level_id": null,
"added_at": null,
"added_by_id": null,
"updated_at": 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
- academic_year
- enrollment_periods
- subterms
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:
- Academic Auditor
- Academic Admin
- Registrar
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
- academic_year
- enrollment_periods
- subterms
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
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:
- Financial Aid
- Financial Admin
- Student Billing
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:
- Financial Aid
- Financial Admin
- Student Billing
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:
- Academic Admin
- Registrar
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
- academic_terms
- academic_super_terms
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
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:
- Academic Admin
- Registrar
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:
- Financial Auditor
- Financial Admin
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:
- Financial Auditor
- Financial Admin
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:
- Academic Auditor
- Financial Auditor
- Staff
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": "2025-04-14T23:32:15+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:
- Staff
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:
- Staff
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:
- Staff
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:
- Staff
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:
- Staff
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": "2025-04-14T23:32:17+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:
- Staff
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:
- Staff
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:
- Staff
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:
- Staff
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,
"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 |
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": 3,
"results": 3,
"results_per_page": 200,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "student",
"id": 16,
"entrance_term_id": 8,
"exit_date": null,
"exit_reason": null,
"grades_withheld": false,
"meal_plan_id": 0,
"room_plan_id": 0,
"receives_1098t": true,
"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,
"visible_student_id": "20220xx001",
"report_data": {
"advisor_names": "Financial Admin",
"advisor_types": "NOT_PRIMARY",
"advisor_ids": "17",
"raw_advisor_names": "Financial Admin (Advisor)",
"current_user_is_advisor": null,
"firstname": "Abby",
"preferred_name": "",
"lastname": "Admin",
"image_id": 0,
"last_attendance_date": null,
"registration_locked": 0,
"registration_locks": null,
"discipline": null,
"color": "YELLOW",
"entrance_term_name": "Spring 2010 2009-2010",
"row_id": 16
}
}
],
"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 |
cum_gpa | academic_progress_cache |
cum_units | academic_progress_cache |
custom_field | custom |
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
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,
"institutional_sai": 9000,
"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 |
institutional_sai | No | 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
- components
- monthly_efcs
- questions
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 |
program | program |
aid_authorization | aidauthorization |
has_not_set_aid_authorization | aidauthorizationunset |
tag | tag |
custom_field | custom |
has_active_student_role | has_active_student_role |
isir_imported_at | datetime |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Student Billing
- Financial Auditor
- Financial Aid
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,
"institutional_sai": 9000,
"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
- components
- monthly_efcs
- questions
Permissions
One of the following roles is required to call this method:
- Staff
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,
"institutional_sai": null,
"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": "2025-04-14T23:32:13+00:00",
"added_by_id": 22,
"updated_at": "2025-04-14T23:32:13+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 amounts indexed to CoaCateogry ids | |
component_ids | No | array of AidApplicationComponent 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:
- Financial Aid
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,
"institutional_sai": 9000,
"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
- components
- monthly_efcs
- questions
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Aid
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,
"institutional_sai": null,
"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": "2025-04-14T16:32:13+00:00",
"added_by_id": 22,
"updated_at": "2025-04-14T16:32:13+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 amounts indexed to CoaCateogry ids | |
component_ids | No | array of AidApplicationComponent 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_start_date | No | date | |
cod_academic_year_end_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:
- Financial Aid
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:
- Financial Aid
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:
- Financial Aid
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:
- Financial Aid
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": "Abby",
"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
- aid_year
- aid_type
- aid_disbursements
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:
- Financial Aid
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:
- Financial Aid
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": "2025-04-14T23:32:17+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:
- Financial Aid
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:
- Financial Aid
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:
- Financial Aid
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:
- Financial Aid
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:
- Student Billing
- Financial Admin
- Financial Auditor
- Financial Aid
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
- coa_categories
Permissions
One of the following roles is required to call this method:
- Financial Aid
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": "Abby",
"lastname": "Admin",
"display_name": "Abby 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
- allocated
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:
- Financial Admin
- Financial Auditor
- Student Billing
- Financial Aid
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:
- Financial Aid
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": "2025-04-14T23:32:17+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:
- Financial Aid
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
- allocated
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Financial Auditor
- Student Billing
- Financial Aid
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:
- Financial Aid
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:
- Financial Aid
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": "2025-04-14",
"status_date": "2025-04-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:
- Financial Aid
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": "2025-04-14T23:32:17+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:
- Financial Aid
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:
- Financial Admin
- Financial Auditor
- Student Billing
- Financial Aid
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:
- Financial Aid
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:
- Financial Aid
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:
- Financial Admin
- Financial Auditor
- Student Billing
- Financial Aid
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": "2025-04-14T23:32:14+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:
- Financial Aid
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
- disbursements
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Financial Auditor
- Student Billing
- Financial Aid
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:
- Financial Aid
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:
- Student Billing
- Financial Admin
- Financial Auditor
- Financial Aid
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
- account
- origination_fees
- percent_bases
Permissions
One of the following roles is required to call this method:
- Financial Aid
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:
- Financial Aid
- Financial Auditor
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())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/aidyears/(aidyear)"), 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/(aidyear)');
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_year",
"id": 60,
"name": "2025-2026",
"start_date": "2025-07-01",
"end_date": "2026-06-30",
"sandbox": true
}
Retrieves a specific AidYear object.
HTTP Request
GET /aidyears/(aidyear)
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:
- Financial Aid
- Financial Auditor
AidYearSchedule
The AidYearSchedule object
The AidYearSchedule object looks like this in JSON:
{
"object": "aid_year_schedule",
"id": 9,
"name": "Undergraduate Standard Schedule",
"aid_year_id": 3,
"equal_disbursement_amounts": true,
"status": "active",
"aid_year_name": "2012-2013",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (100) |
aid_year_id | No | int |
equal_disbursement_amounts | Yes | bool |
status | Yes | enum (active, retired) |
aid_year_name | No | -- |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/aidyears/(aidyear)/schedules" \
-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)/schedules',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/aidyears/(aidyear)/schedules',
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/(aidyear)/schedules"), 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/(aidyear)/schedules');
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": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [],
"sandbox": true
}
Retrieves all AidYearSchedule objects tied to a specific Aidyear.
HTTP Request
GET /aidyears/(aidyear)/schedules
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Aid
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/aidyears/(aidyear)/schedules/(aidyearschedule)" \
-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)/schedules/(aidyearschedule)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/aidyears/(aidyear)/schedules/(aidyearschedule)',
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/(aidyear)/schedules/(aidyearschedule)"), 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/(aidyear)/schedules/(aidyearschedule)');
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_year_schedule",
"id": 8,
"name": "Undergraduate Standard Schedule",
"aid_year_id": 2,
"equal_disbursement_amounts": true,
"status": "active",
"aid_year_name": "2011-2012",
"sandbox": true
}
Retrieves a specific AidYearSchedule object.
HTTP Request
GET /aidyears/(aidyear)/schedules/(aidyearschedule)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- disbursements
- aid_types
- student_classifications
Permissions
One of the following roles is required to call this method:
- Financial Aid
Appeal
The Appeal object
The Appeal object looks like this in JSON:
{
"object": "appeal",
"id": 6,
"campaign_id": 3,
"name": "Email blast #21",
"appeal_medium_id": 6,
"made_on": "2018-04-07",
"cost": 10.1,
"status": "active",
"added_at": "2018-04-07T22:21:45+00:00",
"added_by_id": 1257,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
campaign_id | Yes | int |
name | Yes | text (200) |
appeal_medium_id | No | int |
made_on | Yes | date |
cost | No | decimal |
status | Yes | enum (active, inactive, deleted) |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/appeals" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/appeals',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/appeals',
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/appeals"), 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/appeals');
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": "appeal",
"id": 6,
"campaign_id": 3,
"name": "Email blast #21",
"appeal_medium_id": 6,
"made_on": "2018-04-07",
"cost": 10.1,
"status": "active",
"added_at": "2018-04-07T22:21:45+00:00",
"added_by_id": 1257
}
],
"sandbox": true
}
Retrieves all Appeal objects.
HTTP Request
GET /appeals
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Donations
- Financial Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/appeals/(appeal)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/appeals/(appeal)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/appeals/(appeal)',
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/appeals/(appeal)"), 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/appeals/(appeal)');
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": "appeal",
"id": 6,
"campaign_id": 3,
"name": "Email blast #21",
"appeal_medium_id": 6,
"made_on": "2018-04-07",
"cost": 10.1,
"status": "active",
"added_at": "2018-04-07T22:21:45+00:00",
"added_by_id": 1257,
"sandbox": true
}
Retrieves a specific Appeal object.
HTTP Request
GET /appeals/(appeal)
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:
- Financial Admin
AppealMedium
The AppealMedium object
The AppealMedium object looks like this in JSON:
{
"object": "appeal_medium",
"id": 6,
"name": "Postcard",
"status": "active",
"added_at": "2014-04-07T19:18:30+00:00",
"added_by_id": 1,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | No | text (500) |
status | Yes | enum (active, inactive, deleted) |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/appealmedia" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/appealmedia',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/appealmedia',
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/appealmedia"), 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/appealmedia');
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": "appeal_medium",
"id": 6,
"name": "Postcard",
"status": "active",
"added_at": "2014-04-07T19:18:30+00:00",
"added_by_id": 1
}
],
"sandbox": true
}
Retrieves all AppealMedium objects.
HTTP Request
GET /appealmedia
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/appealmedia/(appealmedium)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/appealmedia/(appealmedium)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/appealmedia/(appealmedium)',
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/appealmedia/(appealmedium)"), 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/appealmedia/(appealmedium)');
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": "appeal_medium",
"id": 6,
"name": "Postcard",
"status": "active",
"added_at": "2014-04-07T19:18:30+00:00",
"added_by_id": 1,
"sandbox": true
}
Retrieves a specific AppealMedium object.
HTTP Request
GET /appealmedia/(appealmedium)
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:
- Financial Admin
Application
The Application object
The Application object looks like this in JSON:
{
"object": "application",
"id": 1,
"cloned_from_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": null,
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "in_progress",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"prospect_activity_at": null,
"staff_activity_at": null,
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
cloned_from_id | No | int |
person_id | No | int |
lead_id | No | int |
first_name | No | text (50) |
middle_name | No | text (50) |
last_name | No | text (50) |
No | text (100) | |
phone | No | text (45) |
address_id | No | int |
application_template_id | No | int |
form_version_id | No | int |
counselor_id | No | int |
program_id | No | int |
degree_seeking | Yes | bool |
degree_id | No | int |
specialization_id | No | int |
academic_term_id | No | int |
campus_id | No | int |
lead_source_id | No | int |
started_on | No | date |
submitted_at | No | datetime |
pending_decision_on | No | date |
decision_on | No | date |
confirmed_on | No | date |
withdrawn_on | No | date |
expected_enrollment | Yes | enum (full_time, half_time, less_than_half_time) |
status | Yes | enum (in_progress, submitted, pending_decision, accepted, declined, withdrawn, deferred, waitlisted, deleted) |
provisional | Yes | bool |
provisional_note | No | text |
hs_grad_date | No | date |
fee_status | Yes | enum (unpaid, paid, waived) |
fee_id | No | int |
fee_amount | No | decimal |
fee_discount | No | decimal |
fee_payment | Yes | enum (before_start, before_submit) |
sales_receipt_id | No | int |
prospect_activity_at | No | datetime |
staff_activity_at | No | datetime |
percent_complete | Yes | int |
active_questions | No | int |
localization_id | No | int |
added_at | No | datetime |
added_by_id | No | int |
applicant_url | No | text |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"program","value":"NONE","positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/applications',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/applications',
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/applications"), 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/applications');
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": "application",
"id": 1,
"cloned_from_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": null,
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "in_progress",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"prospect_activity_at": null,
"staff_activity_at": null,
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"person_first_name": "Homestar",
"person_preferred_name": null,
"person_last_name": "Runner",
"application_template_name": "Test v3",
"program_name": "Undergraduate",
"academic_term_display_name": "2006-2007: Fall 2006",
"lead_source_full_name": null,
"counselor_name": null,
"counselor_first_name": null,
"counselor_last_name": null,
"owner_type": "application",
"has_aid_application": 0,
"campus_name": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9"
}
],
"sandbox": true
}
Retrieves all Application objects that match given filter conditions.
HTTP Request
GET /applications
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
- application_form
- form_version
- answers
- person
- program
- degree
- specialization
- academic_term
- campus
- representative
- email_address
- address
- lead_source
- lead
- notes
- questions
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
first_name | text |
last_name | text |
gender | gender |
application_form | object id |
discount_code | object id |
source | leadsource |
lead_source | leadsource |
program | program |
degree | degree |
specialization | specialization |
academic_term | academic_term |
campus | campus |
counselor | admissions_counselor |
status | enum |
provisional | bool |
active_questions | integer |
applicant_activity | date_time |
percent_completed | integer |
linked_to_person | bool |
has_aid_application | bool |
expected_enrollment | choice |
fee_status | enum |
started_on | date |
submitted_at | date_time |
staff_activity | date_time |
pending_decision_on | date |
decision_date | date |
withdrawn_date | date |
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:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"application_template_id": 2,
"first_name": "Darrin",
"last_name": "Walker",
"email": "dwalker88@somewhere.net",
"phone": "208-555-4321",
"started_on": "2022-08-25",
"address": "{\"street\":\"555 Maple Street\",\"city\":\"Dallas\",\"state\":\"TX\",\"postal\":\"55123\",\"country\":\"US\"}"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/applications',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:application_template_id => 2,
:started_on => '2022-08-25'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/applications',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'application_template_id': 2,
'started_on': '2022-08-25'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/applications"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
application_template_id = 2,
started_on = "2022-08-25"
});
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/applications');
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([
'application_template_id' => 2,
'started_on' => '2022-08-25'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "application",
"id": 6,
"cloned_from_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Darrin",
"middle_name": null,
"last_name": "Walker",
"email": "dwalker88@somewhere.net",
"phone": "(208) 555-4321",
"address_id": 803,
"application_template_id": 2,
"form_version_id": 4,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2022-08-25",
"submitted_at": null,
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "in_progress",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": 75,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"prospect_activity_at": null,
"staff_activity_at": null,
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"address": {
"object": "address",
"id": 803,
"owner_id": 6,
"owner_type": "application",
"street": "555 Maple Street",
"city": "Dallas",
"state": "TX",
"postal": "55123",
"country": "US",
"type": "home",
"primary": true,
"old": false,
"public": false,
"synced_from": null,
"import_id": null,
"added_at": "2025-04-14T23:32:15+00:00",
"added_by_id": 22
},
"added_at": "2025-04-14T23:32:15+00:00",
"added_by_id": 22,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"sandbox": true
}
Creates a new Application object.
HTTP Request
POST /applications
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
application_template_id | Yes | int | |
first_name | No | text (50) | |
middle_name | No | text (50) | |
last_name | No | text (50) | |
No | text (100) | ||
phone | No | text (45) | |
started_on | Yes | date | |
person_id | No | int | |
lead_id | No | int | |
representative_id | No | int | |
degree_seeking | No | bool | |
program_id | No | int | |
degree_id | No | int | |
specialization_id | No | int | |
academic_term_id | No | int | |
expected_enrollment | No | enum (full_time, half_time, less_than_half_time) | |
fee_status | No | enum (unpaid, paid, waived) | |
address | No | address |
Action Parameters
Name | Data Type | Description |
---|---|---|
email_applicant | bool | Send the applicant an email link to the newly created application. |
update_lead_status | bool | If the application is tied to a Lead, update it's status and program information. |
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications/(application)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/applications/(application)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/applications/(application)',
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/applications/(application)"), 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/applications/(application)');
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": "application",
"id": 1,
"cloned_from_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": null,
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "in_progress",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"prospect_activity_at": null,
"staff_activity_at": null,
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"sandbox": true
}
Retrieves a specific Application object. To include field definitions, use the expandable property form_version. To include the values of submitted answers to fields, use the expandable property answers.
HTTP Request
GET /applications/(application)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- application_form
- form_version
- answers
- person
- program
- degree
- specialization
- academic_term
- campus
- representative
- email_address
- address
- lead_source
- lead
- notes
- questions
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications/(application)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"status": "in_progress"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/applications/(application)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:status => 'in_progress'
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/applications/(application)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'status': 'in_progress'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/applications/(application)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
status = "in_progress"
});
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/applications/(application)');
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' => 'in_progress'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "application",
"id": 1,
"cloned_from_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": null,
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "in_progress",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"prospect_activity_at": null,
"staff_activity_at": "2025-04-14T23:32:15+00:00",
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"address": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"sandbox": true
}
Updates an existing Application object.
HTTP Request
PUT /applications/(application)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
status | Yes | enum (in_progress, submitted, pending_decision, accepted, declined, withdrawn, deferred, waitlisted, deleted) | |
fee_status | No | enum (unpaid, paid, waived) | |
provisional | No | bool | |
provisional_note | No | text |
Action Parameters
Name | Data Type | Description |
---|---|---|
import_course_of_study | ||
add_student_role |
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
delete
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications/(application)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X DELETE
require 'httparty'
response = HTTParty.delete(
'https://yourschool.populiweb.com/api2/applications/(application)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/applications/(application)',
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/applications/(application)"), 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/applications/(application)');
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": "application",
"id": 1,
"deleted": true
}
Deletes an existing Application object.
HTTP Request
DELETE /applications/(application)
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:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
fields
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications/(application)/fields" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/applications/(application)/fields',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/applications/(application)/fields',
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/applications/(application)/fields"), 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/applications/(application)/fields');
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": 47,
"results": 47,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": {
"object": "application",
"id": 1,
"cloned_from_id": null,
"person_id": 2,
"lead_id": 7,
"first_name": "Charles",
"middle_name": "",
"last_name": "Fulton",
"email": "charlesf@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": "2025-04-14T23:32:15+00:00",
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "submitted",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"prospect_activity_at": null,
"staff_activity_at": "2025-04-14T23:32:15+00:00",
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"pages": [
{
"object": "form_version_page",
"id": 1,
"form_version_id": 2,
"derived_from_id": null,
"name": null,
"order_id": 1,
"added_at": null,
"added_by_id": null,
"fields": [
{
"object": "form_field",
"id": 1,
"reporting_id": 1,
"name": "Short Answer",
"description": null,
"input_type": "short_answer",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null
},
{
"object": "form_field",
"id": 2,
"reporting_id": 2,
"name": "Long Answer",
"description": null,
"input_type": "long_answer",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null
},
{
"object": "form_field",
"id": 3,
"reporting_id": 3,
"name": "Boolean",
"description": null,
"input_type": "boolean",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null
},
{
"object": "form_field",
"id": 7,
"reporting_id": 7,
"name": "Ref",
"description": null,
"input_type": "model",
"model_type": "online_reference_template",
"model_id": 4,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null
}
]
}
]
}
}
HTTP Request
GET /applications/(application)/fields
Parameters
None
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
link_to_person
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications/(application)/link_to_person" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"person_id": 2
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/applications/(application)/link_to_person',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:person_id => 2
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/applications/(application)/link_to_person',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'person_id': 2
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/applications/(application)/link_to_person"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
person_id = 2
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/applications/(application)/link_to_person');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'person_id' => 2
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "application",
"id": 1,
"cloned_from_id": null,
"person_id": 2,
"lead_id": 7,
"first_name": "Charles",
"middle_name": "",
"last_name": "Fulton",
"email": "charlesf@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": "2025-04-14T23:32:15+00:00",
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "submitted",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"prospect_activity_at": null,
"staff_activity_at": "2025-04-14T23:32:15+00:00",
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"sandbox": true
}
HTTP Request
GET /applications/(application)/link_to_person
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
person_id | Yes | int |
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
submit
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications/(application)/submit" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/applications/(application)/submit',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/applications/(application)/submit',
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/applications/(application)/submit"), 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/applications/(application)/submit');
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": "application",
"id": 1,
"cloned_from_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": "2025-04-14T23:32:15+00:00",
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "submitted",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"prospect_activity_at": null,
"staff_activity_at": "2025-04-14T23:32:15+00:00",
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"sandbox": true
}
HTTP Request
GET /applications/(application)/submit
Parameters
None
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
unlink_person
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications/(application)/unlink_person" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/applications/(application)/unlink_person',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/applications/(application)/unlink_person',
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/applications/(application)/unlink_person"), 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/applications/(application)/unlink_person');
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": "application",
"id": 1,
"cloned_from_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": "2025-04-14T23:32:15+00:00",
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "submitted",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"prospect_activity_at": null,
"staff_activity_at": "2025-04-14T23:32:15+00:00",
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"sandbox": true
}
HTTP Request
GET /applications/(application)/unlink_person
Parameters
None
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
show_online_reference
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/onlinereferences/(onlinereference)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"expand": [
"form_version",
"answers"
]
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/onlinereferences/(onlinereference)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:expand => ['form_version', 'answers']
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/onlinereferences/(onlinereference)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'expand': ['form_version', 'answers']
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/onlinereferences/(onlinereference)"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
expand = new List<string> {"form_version", "answers"}
});
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/onlinereferences/(onlinereference)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'expand' => ['form_version', 'answers']
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "online_reference",
"id": 5,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": "(555) 555-8585",
"online_reference_form_id": 1,
"form_version_id": 5,
"submitted_at": "2013-04-19T00:00:00+00:00",
"status": "submitted",
"form_version": {
"object": "form_version",
"id": 5,
"owner_type": "online_reference_template",
"owner_id": 4,
"added_at": null,
"added_by_id": null,
"sections": [
{
"object": "form_field",
"id": 16,
"reporting_id": 16,
"name": "Your name",
"description": null,
"input_type": "name",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null,
"is_required": true,
"page_order_id": 1,
"order_id": 1,
"hidden": false
},
{
"object": "form_field",
"id": 17,
"reporting_id": 17,
"name": "Your phone number",
"description": null,
"input_type": "phone",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null,
"is_required": true,
"page_order_id": 1,
"order_id": 2,
"hidden": false
},
{
"object": "form_field",
"id": 18,
"reporting_id": 18,
"name": "Reference",
"description": null,
"input_type": "long_answer",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null,
"is_required": true,
"page_order_id": 1,
"order_id": 3,
"hidden": false
}
]
},
"answers": [
{
"object": "form_field_answer",
"id": 5,
"owner_type": "online_reference",
"owner_id": 5,
"form_field_id": 16,
"subfield": "first_name",
"text_value": "Homestar",
"integer_value": null,
"decimal_value": null,
"date_value": null,
"datetime_value": null,
"email_value": null,
"ip": null,
"added_at": null
},
{
"object": "form_field_answer",
"id": 6,
"owner_type": "online_reference",
"owner_id": 5,
"form_field_id": 16,
"subfield": "last_name",
"text_value": "Runner",
"integer_value": null,
"decimal_value": null,
"date_value": null,
"datetime_value": null,
"email_value": null,
"ip": null,
"added_at": null
},
{
"object": "form_field_answer",
"id": 7,
"owner_type": "online_reference",
"owner_id": 5,
"form_field_id": 17,
"subfield": "phone",
"text_value": "(555) 555-8585",
"integer_value": null,
"decimal_value": null,
"date_value": null,
"datetime_value": null,
"email_value": null,
"ip": null,
"added_at": null
},
{
"object": "form_field_answer",
"id": 8,
"owner_type": "online_reference",
"owner_id": 5,
"form_field_id": 18,
"subfield": null,
"text_value": "Answer text...",
"integer_value": null,
"decimal_value": null,
"date_value": null,
"datetime_value": null,
"email_value": null,
"ip": null,
"added_at": null
}
],
"added_at": null,
"added_by_id": null,
"sandbox": true
}
HTTP Request
GET /onlinereferences/(onlinereference)
Parameters
None
Expandable Properties
- online_reference_form
- form_version
- answers
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
index by person
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/applications" \
-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)/applications',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/applications',
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)/applications"), 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)/applications');
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": "application",
"id": 4,
"cloned_from_id": null,
"person_id": 12,
"lead_id": null,
"first_name": "Taylor",
"middle_name": "",
"last_name": "Forest",
"email": "icecream@nowhere.co",
"phone": "333-555-6666",
"address_id": "801",
"application_template_id": 1,
"form_version_id": null,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": 1,
"specialization_id": 1,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": "2013-04-19T00:00:00+00:00",
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "submitted",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"prospect_activity_at": "2013-05-19T21:22:19+00:00",
"staff_activity_at": null,
"percent_complete": 100,
"active_questions": 1,
"localization_id": null,
"added_at": null,
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9"
}
],
"sandbox": true
}
Retrieves all Application objects tied to a specific Person.
HTTP Request
GET /people/(person)/applications
Parameters
None
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
- Academic Auditor
ApplicationTemplate
The ApplicationTemplate object
The ApplicationTemplate object looks like this in JSON:
{
"object": "application_template",
"id": 3,
"current_version_id": 2,
"name": "Test v3",
"type": "application",
"published": true,
"custom_css": null,
"show_online": true,
"require_address": false,
"fee_id": null,
"fee_amount": 75,
"fee_payment": "before_start",
"allow_undecided": true,
"enable_sms_verification": true,
"redirect_url": null,
"thank_you_message": null,
"initial_email_template_id": null,
"enable_initial_email": true,
"retired_by_id": null,
"retired_at": null,
"default_localization_id": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
current_version_id | No | int |
name | Yes | text (300) |
type | Yes | enum (application, online_reference) |
published | Yes | bool |
custom_css | No | text |
show_online | Yes | bool |
require_address | Yes | bool |
fee_id | No | int |
fee_amount | No | decimal |
fee_payment | Yes | enum (before_start, before_submit) |
allow_undecided | Yes | bool |
enable_sms_verification | Yes | bool |
redirect_url | No | text (2000) |
thank_you_message | No | text |
initial_email_template_id | No | int |
enable_initial_email | Yes | bool |
retired_by_id | No | int |
retired_at | No | datetime |
default_localization_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/applicationtemplates" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/applicationtemplates',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/applicationtemplates',
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/applicationtemplates"), 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/applicationtemplates');
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": "application_template",
"id": 3,
"current_version_id": 2,
"name": "Test v3",
"type": "application",
"published": true,
"custom_css": null,
"show_online": true,
"require_address": false,
"fee_id": null,
"fee_amount": 75,
"fee_payment": "before_start",
"allow_undecided": true,
"enable_sms_verification": true,
"redirect_url": null,
"thank_you_message": null,
"initial_email_template_id": null,
"enable_initial_email": true,
"retired_by_id": null,
"retired_at": null,
"default_localization_id": null,
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all ApplicationTemplate objects.
HTTP Request
GET /applicationtemplates
Parameters
None
Permissions
One of the following roles is required to call this method:
- Admissions Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applicationtemplates/(applicationtemplate)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/applicationtemplates/(applicationtemplate)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/applicationtemplates/(applicationtemplate)',
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/applicationtemplates/(applicationtemplate)"), 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/applicationtemplates/(applicationtemplate)');
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": "application_template",
"id": 3,
"current_version_id": 2,
"name": "Test v3",
"type": "application",
"published": true,
"custom_css": null,
"show_online": true,
"require_address": false,
"fee_id": null,
"fee_amount": 75,
"fee_payment": "before_start",
"allow_undecided": true,
"enable_sms_verification": true,
"redirect_url": null,
"thank_you_message": null,
"initial_email_template_id": null,
"enable_initial_email": true,
"retired_by_id": null,
"retired_at": null,
"default_localization_id": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific ApplicationTemplate object.
HTTP Request
GET /applicationtemplates/(applicationtemplate)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- current_version
- academic_terms
- programs
- enrollment_options
- initial_email_template
Permissions
One of the following roles is required to call this method:
- Admissions Admin
Assignment
The Assignment object
The Assignment object looks like this in JSON:
{
"object": "assignment",
"id": 29656,
"course_offering_id": 21908,
"name": "Testy",
"points": 100,
"due_at": null,
"available_from": null,
"available_until": null,
"published": true,
"description": "This is a test",
"assignment_group_id": 0,
"lesson_id": 0,
"type": "test",
"visible_to_students_before_available": true,
"extra_credit": false,
"pass_fail": false,
"mandatory_pass": false,
"peer_review": false,
"anonymous_reviews": true,
"submission_visibility": "always",
"randomize_submissions": false,
"review_visibility": "never",
"allow_review_comments": false,
"peer_grade": false,
"grade_submissions": null,
"grade_reviews": null,
"reviews_due_at": null,
"reviews_closed_at": null,
"auto_check_submissions_for_plagiarism": false,
"plagiarism_checks_visible_to_students": false,
"plagiarism_check_provider": null,
"release_grades": "yes",
"release_grades_at": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
course_offering_id | Yes | int |
name | Yes | text (255) |
points | Yes | int |
due_at | No | datetime |
available_from | No | datetime |
available_until | No | datetime |
published | Yes | bool |
description | Yes | text |
assignment_group_id | No | int |
lesson_id | Yes | int |
type | Yes | enum (test, file_upload, neither, attendance, discussion, essay, lti_tool) |
visible_to_students_before_available | Yes | bool |
extra_credit | Yes | bool |
pass_fail | Yes | bool |
mandatory_pass | Yes | bool |
peer_review | Yes | bool |
anonymous_reviews | Yes | bool |
submission_visibility | Yes | enum (after_submission, always) |
randomize_submissions | Yes | bool |
review_visibility | Yes | enum (never, after_review, always) |
allow_review_comments | Yes | bool |
peer_grade | Yes | bool |
grade_submissions | No | int |
grade_reviews | No | int |
reviews_due_at | No | datetime |
reviews_closed_at | No | datetime |
auto_check_submissions_for_plagiarism | Yes | bool |
plagiarism_checks_visible_to_students | No | bool |
plagiarism_check_provider | No | enum (unicheck, turnitin, plagiarism_check) |
release_grades | Yes | enum (yes, no, date) |
release_grades_at | No | datetime |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments',
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/courseofferings/(courseoffering)/assignments"), 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/courseofferings/(courseoffering)/assignments');
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": "assignment",
"id": 30070,
"course_offering_id": 21908,
"name": "Homework #1",
"points": 100,
"due_at": null,
"available_from": null,
"available_until": null,
"published": true,
"description": null,
"assignment_group_id": 9,
"lesson_id": 0,
"type": "neither",
"visible_to_students_before_available": true,
"extra_credit": false,
"pass_fail": false,
"mandatory_pass": false,
"peer_review": false,
"anonymous_reviews": true,
"submission_visibility": "always",
"randomize_submissions": false,
"review_visibility": "never",
"allow_review_comments": false,
"peer_grade": false,
"grade_submissions": null,
"grade_reviews": null,
"reviews_due_at": null,
"reviews_closed_at": null,
"auto_check_submissions_for_plagiarism": false,
"plagiarism_checks_visible_to_students": false,
"plagiarism_check_provider": null,
"release_grades": "yes",
"release_grades_at": null
}
],
"sandbox": true
}
Retrieves all Assignment objects tied to a specific Courseoffering.
HTTP Request
GET /courseofferings/(courseoffering)/assignments
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
- Faculty
- Advisor
- Academic Auditor
- Academic Admin
- Registrar
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"name": "Reading Homework #1",
"type": "discussion"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:name => 'Reading Homework #1',
:type => 'discussion'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'name': 'Reading Homework #1',
'type': 'discussion'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
name = "Reading Homework #1",
type = "discussion"
});
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/courseofferings/(courseoffering)/assignments');
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([
'name' => 'Reading Homework #1',
'type' => 'discussion'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "assignment",
"id": 40001,
"course_offering_id": 21908,
"name": "Reading Homework #1",
"points": 0,
"due_at": null,
"available_from": null,
"available_until": null,
"published": false,
"description": null,
"assignment_group_id": 0,
"lesson_id": 0,
"type": "discussion",
"visible_to_students_before_available": false,
"extra_credit": false,
"pass_fail": false,
"mandatory_pass": false,
"peer_review": false,
"anonymous_reviews": false,
"submission_visibility": "after_submission",
"randomize_submissions": false,
"review_visibility": "never",
"allow_review_comments": false,
"peer_grade": false,
"grade_submissions": null,
"grade_reviews": null,
"reviews_due_at": null,
"reviews_closed_at": null,
"auto_check_submissions_for_plagiarism": false,
"plagiarism_checks_visible_to_students": false,
"plagiarism_check_provider": null,
"release_grades": "yes",
"release_grades_at": "2025-04-14T23:32:13+00:00",
"sandbox": true
}
Creates a new Assignment object.
HTTP Request
POST /courseofferings/(courseoffering)/assignments
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
name | Yes | text (255) | |
type | Yes | enum (test, file_upload, neither, attendance, discussion, essay, lti_tool) | |
description | No | text | |
assignment_group_id | No | int | |
discussion_id | No | bool | Default is 0 |
catalog_course_ids | No | array of CatalogCourse ids | |
points | No | int | |
extra_credit | No | bool | |
published | No | bool | Default is false |
time_due | No | datetime | |
visible_to_students_before_available | No | bool | |
availability | No | enum (from, after, before, always) | |
start_window | No | datetime | |
end_window | No | datetime | |
time_limit | No | int | |
retake_policy | No | enum (keep_highest, keep_last, average) | |
retakes | No | int | |
proctored | No | bool | |
test_submit_feedback | No | enum (score, feedback, answers) | |
test_end_feedback | No | enum (score, feedback, answers) | |
course_end_feedback | No | enum (score, feedback, answers) | |
peer_grade | No | bool | |
grade_submission_points | No | int | |
grade_review_points | No | int | |
anonymous_reviews | No | bool | |
review_visibility | No | enum (never, after_review, always) | |
allow_review_comments | No | bool | |
reviews_time_due | No | datetime | |
reviews_closed_date_time | No | datetime |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)',
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/courseofferings/(courseoffering)/assignments/(assignment)"), 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/courseofferings/(courseoffering)/assignments/(assignment)');
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": "assignment",
"id": 29656,
"course_offering_id": 21908,
"name": "Testy",
"points": 100,
"due_at": null,
"available_from": null,
"available_until": null,
"published": true,
"description": "This is a test",
"assignment_group_id": 0,
"lesson_id": 0,
"type": "test",
"visible_to_students_before_available": true,
"extra_credit": false,
"pass_fail": false,
"mandatory_pass": false,
"peer_review": false,
"anonymous_reviews": true,
"submission_visibility": "always",
"randomize_submissions": false,
"review_visibility": "never",
"allow_review_comments": false,
"peer_grade": false,
"grade_submissions": null,
"grade_reviews": null,
"reviews_due_at": null,
"reviews_closed_at": null,
"auto_check_submissions_for_plagiarism": false,
"plagiarism_checks_visible_to_students": false,
"plagiarism_check_provider": null,
"release_grades": "yes",
"release_grades_at": null,
"sandbox": true
}
Retrieves a specific Assignment object.
HTTP Request
GET /courseofferings/(courseoffering)/assignments/(assignment)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- requirements
- catalog_courses
- student_exceptions
- rubrics
- test
- discussion
- lti_link
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)',
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/courseofferings/(courseoffering)/assignments/(assignment)"), 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/courseofferings/(courseoffering)/assignments/(assignment)');
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": "assignment",
"id": 29656,
"course_offering_id": 21908,
"name": "Testy",
"points": 100,
"due_at": null,
"available_from": null,
"available_until": null,
"published": true,
"description": "This is a test",
"assignment_group_id": 0,
"lesson_id": 0,
"type": "test",
"visible_to_students_before_available": false,
"extra_credit": false,
"pass_fail": false,
"mandatory_pass": false,
"peer_review": false,
"anonymous_reviews": false,
"submission_visibility": "after_submission",
"randomize_submissions": false,
"review_visibility": "never",
"allow_review_comments": false,
"peer_grade": false,
"grade_submissions": null,
"grade_reviews": null,
"reviews_due_at": null,
"reviews_closed_at": null,
"auto_check_submissions_for_plagiarism": false,
"plagiarism_checks_visible_to_students": false,
"plagiarism_check_provider": null,
"release_grades": "yes",
"release_grades_at": "2025-04-14T16:32:13+00:00",
"sandbox": true
}
Updates an existing Assignment object.
HTTP Request
PUT /courseofferings/(courseoffering)/assignments/(assignment)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
name | No | text (255) | |
description | No | text | |
assignment_group_id | No | int | |
discussion_id | No | bool | Default is 0 |
catalog_course_ids | No | array of CatalogCourse ids | |
points | No | int | |
extra_credit | No | bool | |
published | No | bool | Default is false |
time_due | No | datetime | |
visible_to_students_before_available | No | bool | |
availability | No | enum (from, after, before, always) | |
start_window | No | datetime | |
end_window | No | datetime | |
time_limit | No | int | |
retake_policy | No | enum (keep_highest, keep_last, average) | |
retakes | No | int | |
proctored | No | bool | |
test_submit_feedback | No | enum (score, feedback, answers) | |
test_end_feedback | No | enum (score, feedback, answers) | |
course_end_feedback | No | enum (score, feedback, answers) | |
peer_grade | No | bool | |
grade_submission_points | No | int | |
grade_review_points | No | int | |
anonymous_reviews | No | bool | |
review_visibility | No | enum (never, after_review, always) | |
allow_review_comments | No | bool | |
reviews_time_due | No | datetime | |
reviews_closed_date_time | No | datetime |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
delete
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X DELETE
require 'httparty'
response = HTTParty.delete(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)',
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/courseofferings/(courseoffering)/assignments/(assignment)"), 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/courseofferings/(courseoffering)/assignments/(assignment)');
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": "assignment",
"id": 40000,
"deleted": true
}
Deletes an existing Assignment object.
HTTP Request
DELETE /courseofferings/(courseoffering)/assignments/(assignment)
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:
- Academic Admin
- Registrar
AssignmentGrade
The AssignmentGrade object
The AssignmentGrade object looks like this in JSON:
{
"object": "assignment_grade",
"id": 216741,
"course_offering_id": 22776,
"assignment_id": 21998,
"student_id": 1,
"grade": 93,
"excused": false,
"added_at": null,
"added_by_id": null,
"updated_at": null,
"updated_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
course_offering_id | Yes | int |
assignment_id | Yes | int |
student_id | Yes | int |
grade | No | decimal |
excused | Yes | bool |
added_at | No | datetime |
added_by_id | No | int |
updated_at | No | datetime |
updated_by_id | No | int |
sandbox | No | -- |
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/grade" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/grade',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/grade',
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/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/grade"), 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/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/grade');
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": "assignment_grade",
"id": 280000,
"course_offering_id": 21908,
"assignment_id": 29656,
"student_id": 16,
"grade": 10,
"excused": false,
"added_at": null,
"added_by_id": null,
"updated_at": null,
"updated_by_id": null,
"sandbox": true
}
Retrieves a specific AssignmentGrade object.
HTTP Request
GET /courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/grade
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/grade/update" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"grade": 85
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/grade/update',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:grade => 85
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/grade/update',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'grade': 85
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/grade/update"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
grade = 85
});
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/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/grade/update');
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([
'grade' => 85
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "assignment_grade",
"id": 280000,
"course_offering_id": 21908,
"assignment_id": 29656,
"student_id": 16,
"grade": 85,
"excused": false,
"added_at": null,
"added_by_id": null,
"updated_at": "2025-04-14T23:32:14+00:00",
"updated_by_id": 22,
"sandbox": true
}
Updates an existing AssignmentGrade object.
HTTP Request
PUT /courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/grade/update
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
grade | Yes | decimal |
Action Parameters
Name | Data Type | Description |
---|---|---|
recalculate_final_grade | bool |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
AssignmentGroup
The AssignmentGroup object
The AssignmentGroup object looks like this in JSON:
{
"object": "assignment_group",
"id": 1,
"course_offering_id": 23370,
"name": "Tests",
"weight": 40,
"extra_credit": false,
"drop_lowest": 0,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
course_offering_id | Yes | int |
name | Yes | text (255) |
weight | Yes | int |
extra_credit | Yes | bool |
drop_lowest | Yes | 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/courseofferings/(courseoffering)/assignmentgroups" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups',
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/courseofferings/(courseoffering)/assignmentgroups"), 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/courseofferings/(courseoffering)/assignmentgroups');
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": "assignment_group",
"id": 11,
"course_offering_id": 21908,
"name": "Homework",
"weight": 25,
"extra_credit": false,
"drop_lowest": 0,
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all AssignmentGroup objects tied to a specific Courseoffering.
HTTP Request
GET /courseofferings/(courseoffering)/assignmentgroups
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"name": "Weekly Quizes"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:name => 'Weekly Quizes'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'name': 'Weekly Quizes'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
name = "Weekly Quizes"
});
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/courseofferings/(courseoffering)/assignmentgroups');
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([
'name' => 'Weekly Quizes'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "assignment_group",
"id": 12,
"course_offering_id": 21908,
"name": "Weekly Quizes",
"weight": 0,
"extra_credit": false,
"drop_lowest": 0,
"added_at": "2025-04-14T23:32:13+00:00",
"added_by_id": 22,
"sandbox": true
}
Creates a new AssignmentGroup object.
HTTP Request
POST /courseofferings/(courseoffering)/assignmentgroups
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
name | Yes | text (255) | |
weight | No | int | Default is 0 |
extra_credit | No | bool | Default is false |
drop_lowest | No | int | Default is 0 |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)',
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/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)"), 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/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)');
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": "assignment_group",
"id": 1,
"course_offering_id": 23370,
"name": "Tests",
"weight": 40,
"extra_credit": false,
"drop_lowest": 0,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific AssignmentGroup object.
HTTP Request
GET /courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)',
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/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)"), 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/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)');
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": "assignment_group",
"id": 11,
"course_offering_id": 21908,
"name": "Homework",
"weight": 25,
"extra_credit": false,
"drop_lowest": 0,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Updates an existing AssignmentGroup object.
HTTP Request
PUT /courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
name | No | text (255) | |
weight | No | int | |
extra_credit | No | bool | |
drop_lowest | No | int |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
delete
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X DELETE
require 'httparty'
response = HTTParty.delete(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)',
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/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)"), 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/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)');
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": "assignment_group",
"id": 11,
"deleted": true
}
Deletes an existing AssignmentGroup object.
HTTP Request
DELETE /courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)
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:
- Academic Admin
- Registrar
AssignmentSubmission
The AssignmentSubmission object
The AssignmentSubmission object looks like this in JSON:
{
"object": "assignment_submission",
"id": 6,
"assignment_id": 24668,
"student_id": 2921,
"comment": "comment #5",
"content": "blah blah",
"file_id": null,
"student_visibility": "visible",
"draft": false,
"student_submission": false,
"assignment_time_due": null,
"plagiarism_checks_visible_to_student": false,
"added_at": "2011-07-21T21:45:16+00:00",
"added_by_id": 2921,
"updated_at": null,
"updated_by_id": null,
"deleted_at": null,
"deleted_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
assignment_id | Yes | int |
student_id | Yes | int |
comment | No | text |
content | No | text |
file_id | No | int |
student_visibility | Yes | enum (visible, visible_after_grade_release, not_visible) |
draft | Yes | bool |
student_submission | Yes | bool |
assignment_time_due | Yes | datetime |
plagiarism_checks_visible_to_student | Yes | bool |
added_at | Yes | datetime |
added_by_id | No | int |
updated_at | No | datetime |
updated_by_id | No | int |
deleted_at | No | datetime |
deleted_by_id | No | int |
sandbox | No | -- |
comments
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/comments" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/comments',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/comments',
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/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/comments"), 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/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/comments');
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": "assignment_submission",
"id": 8,
"assignment_id": 29656,
"student_id": 12,
"comment": "comment #55",
"content": "blah blah",
"file_id": null,
"student_visibility": "visible",
"draft": false,
"student_submission": false,
"assignment_time_due": null,
"plagiarism_checks_visible_to_student": false,
"added_at": "2011-07-21T21:45:16+00:00",
"added_by_id": 16,
"updated_at": null,
"updated_by_id": null,
"deleted_at": null,
"deleted_by_id": null
}
],
"sandbox": true
}
HTTP Request
GET /courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/comments
Parameters
None
Permissions
One of the following roles is required to call this method:
- Registrar
- Academic Admin
create_comment
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/comments/create" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"comment": "I thought the introductory paragraph was too long."
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/comments/create',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:comment => 'I thought the introductory paragraph was too long.'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/comments/create',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'comment': 'I thought the introductory paragraph was too long.'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/comments/create"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
comment = "I thought the introductory paragraph was too long."
});
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/courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/comments/create');
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([
'comment' => 'I thought the introductory paragraph was too long.'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
"Example response not available."
HTTP Request
POST /courseofferings/(courseoffering)/assignments/(assignment)/students/(person)/comments/create
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
comment | Yes | text | |
internal | No |
You can optionally include a file upload with this route. Use a form post parameter called "file". Read about request and response format to see how parameters need to be specified differently when there is a file upload.
Permissions
One of the following roles is required to call this method:
- Registrar
- Academic Admin
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)',
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/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)"), 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/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)');
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": "assignment_submission",
"id": 8,
"assignment_id": 29656,
"student_id": 12,
"comment": "comment #55",
"content": "blah blah",
"file_id": null,
"student_visibility": "visible",
"draft": false,
"student_submission": false,
"assignment_time_due": null,
"plagiarism_checks_visible_to_student": false,
"added_at": "2011-07-21T21:45:16+00:00",
"added_by_id": 16,
"updated_at": null,
"updated_by_id": null,
"deleted_at": null,
"deleted_by_id": null
}
],
"sandbox": true
}
Retrieves all AssignmentSubmission objects tied to a specific Courseoffering.
HTTP Request
GET /courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Registrar
- Academic Admin
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"comment": "The third paragraph needs a footnote."
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)',
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/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)"), Method.Post);
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/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
"Example response not available."
Creates a new AssignmentSubmission object.
HTTP Request
POST /courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
content | No | text | |
draft | No | bool | |
comment | No | text |
You can optionally include a file upload with this route. Use a form post parameter called "file". Read about request and response format to see how parameters need to be specified differently when there is a file upload.
Permissions
One of the following roles is required to call this method:
- Registrar
- Academic Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)/(assignmentsubmission)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)/(assignmentsubmission)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)/(assignmentsubmission)',
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/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)/(assignmentsubmission)"), 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/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)/(assignmentsubmission)');
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": "assignment_submission",
"id": 9,
"assignment_id": 29656,
"student_id": 16,
"comment": "comment #57",
"content": "blah blah",
"file_id": null,
"student_visibility": "visible",
"draft": false,
"student_submission": false,
"assignment_time_due": null,
"plagiarism_checks_visible_to_student": false,
"added_at": "2011-07-21T21:45:16+00:00",
"added_by_id": 16,
"updated_at": null,
"updated_by_id": null,
"deleted_at": null,
"deleted_by_id": null,
"sandbox": true
}
Retrieves a specific AssignmentSubmission object.
HTTP Request
GET /courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)/(assignmentsubmission)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- file
- discussion
- faculty_grade
- peer_grades
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Registrar
- Academic Admin
delete
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)/(assignmentsubmission)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X DELETE
require 'httparty'
response = HTTParty.delete(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)/(assignmentsubmission)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)/(assignmentsubmission)',
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/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)/(assignmentsubmission)"), 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/courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)/(assignmentsubmission)');
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": "assignment_submission",
"id": 9,
"deleted": true
}
Deletes an existing AssignmentSubmission object.
HTTP Request
DELETE /courseofferings/(courseoffering)/assignments/(assignment)/submissions/(person)/(assignmentsubmission)
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:
- Registrar
- Academic Admin
Automation
The Automation object
The Automation object looks like this in JSON:
{
"object": "automation",
"id": 1,
"abbrv": "PERSON_CREATED",
"name": "Person Added",
"description": "Whenever a new person is added.",
"module": "people",
"status": "active",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
abbrv | No | text (200) |
name | No | text (300) |
description | No | text (1000) |
module | No | enum (admissions, academics, donations, billing, library, bookstore, financial, campus_life, groups, people, users, students, contact_organizations, course_offerings, accounting, financial_aid, forms) |
status | No | enum (active, deleted) |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/automations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/automations',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/automations',
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/automations"), 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/automations');
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": 76,
"results": 76,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "automation",
"id": 224,
"abbrv": "ADVISOR_ASSIGNED_TO_STUDENT",
"name": "Advisor Assigned to Student",
"description": "Whenever an advisor is assigned to a student.",
"module": "students",
"status": "active"
}
],
"sandbox": true
}
Retrieves all Automation objects.
HTTP Request
GET /automations
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/automations/(automation)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/automations/(automation)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/automations/(automation)',
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/automations/(automation)"), 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/automations/(automation)');
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": "automation",
"id": 1,
"abbrv": "PERSON_CREATED",
"name": "Person Added",
"description": "Whenever a new person is added.",
"module": "people",
"status": "active",
"sandbox": true
}
Retrieves a specific Automation object.
HTTP Request
GET /automations/(automation)
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:
- Staff
AutomationHandler
The AutomationHandler object
The AutomationHandler object looks like this in JSON:
{
"object": "automation_handler",
"id": 1,
"automation_id": 61,
"owner_type": null,
"owner_id": null,
"name": "Notify me when my grades change",
"description": "Whenever a grade in a course changes for a student, notify them.",
"abbrv": "notify_me_when_my_grades_change",
"user_managed_subscriptions": true,
"status": "active",
"overrides_handler_id": null,
"cloned_from_id": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
automation_id | No | int |
owner_type | No | text (100) |
owner_id | No | int |
name | No | text (100) |
description | No | text (1000) |
abbrv | No | text (100) |
user_managed_subscriptions | Yes | bool |
status | Yes | enum (active, paused, deleted) |
overrides_handler_id | No | int |
cloned_from_id | No | int |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/automationhandler/(automationhandler)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/automationhandler/(automationhandler)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/automationhandler/(automationhandler)',
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/automationhandler/(automationhandler)"), 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/automationhandler/(automationhandler)');
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": "automation_handler",
"id": 1,
"automation_id": 61,
"owner_type": null,
"owner_id": null,
"name": "Notify me when my grades change",
"description": "Whenever a grade in a course changes for a student, notify them.",
"abbrv": "notify_me_when_my_grades_change",
"user_managed_subscriptions": true,
"status": "active",
"overrides_handler_id": null,
"cloned_from_id": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific AutomationHandler object.
HTTP Request
GET /automationhandler/(automationhandler)
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:
- Development
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/automationhandlers" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/automationhandlers',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/automationhandlers',
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/automationhandlers"), 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/automationhandlers');
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": "automation_handler",
"id": 2,
"automation_id": 49,
"owner_type": null,
"owner_id": null,
"name": "Notify me of instructor bulletin board posts",
"description": "Whenever an instructor posts to a bulletin board in one of my courses, let me know.",
"abbrv": "notify_me_of_instructor_bulletin_board_posts",
"user_managed_subscriptions": true,
"status": "active",
"overrides_handler_id": null,
"cloned_from_id": null,
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all AutomationHandler objects.
HTTP Request
GET /automationhandlers
Parameters
None
Permissions
One of the following roles is required to call this method:
- Development
Backup
The Backup object
The Backup object looks like this in JSON:
{
"object": "backup",
"id": 6,
"status": "in_progress",
"started_at": "2020-11-16T20:00:01+00:00",
"completed_at": null,
"on_complete_email": "0",
"on_complete_url": null,
"added_at": "2020-11-10T19:59:25+00:00",
"added_by_id": 1,
"deleted_at": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
status | Yes | enum (waiting, in_progress, completed, deleted, error) |
started_at | No | datetime |
completed_at | No | datetime |
on_complete_email | No | text (300) |
on_complete_url | No | text (1000) |
added_at | No | datetime |
added_by_id | No | int |
deleted_at | No | datetime |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/backups" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/backups',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/backups',
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/backups"), 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/backups');
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": "backup",
"id": 6,
"status": "in_progress",
"started_at": "2020-11-16T20:00:01+00:00",
"completed_at": null,
"on_complete_email": "0",
"on_complete_url": null,
"added_at": "2020-11-10T19:59:25+00:00",
"added_by_id": 1,
"deleted_at": null
}
],
"sandbox": true
}
Retrieves all Backup objects.
HTTP Request
GET /backups
Parameters
None
Permissions
Only keys that have been granted Populi Account Administrator permissions may call this method.
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/backups/(backup)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/backups/(backup)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/backups/(backup)',
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/backups/(backup)"), 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/backups/(backup)');
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": "backup",
"id": 6,
"status": "in_progress",
"started_at": "2020-11-16T20:00:01+00:00",
"completed_at": null,
"on_complete_email": "0",
"on_complete_url": null,
"added_at": "2020-11-10T19:59:25+00:00",
"added_by_id": 1,
"deleted_at": null,
"sandbox": true
}
Retrieves a specific Backup object.
HTTP Request
GET /backups/(backup)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
Only keys that have been granted Populi Account Administrator permissions may call this method.
download
curl "https://yourschool.populiweb.com/api2/backups/(backup)/download" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/backups/(backup)/download',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/backups/(backup)/download',
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/backups/(backup)/download"), 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/backups/(backup)/download');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{}
HTTP Request
GET /backups/(backup)/download
Parameters
None
Permissions
Only keys that have been granted Populi Account Administrator permissions may call this method.
most_recent_completed
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/backups/most_recent_completed" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/backups/most_recent_completed',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/backups/most_recent_completed',
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/backups/most_recent_completed"), 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/backups/most_recent_completed');
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": "backup",
"id": 7,
"status": "completed",
"started_at": "2020-11-16T20:00:01+00:00",
"completed_at": null,
"on_complete_email": "0",
"on_complete_url": null,
"added_at": "2020-11-10T19:59:25+00:00",
"added_by_id": 1,
"deleted_at": null,
"sandbox": true
}
HTTP Request
GET /backups/most_recent_completed
Parameters
None
Permissions
Only keys that have been granted Populi Account Administrator permissions may call this method.
request
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/backups/request" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/backups/request',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/backups/request',
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/backups/request"), Method.Post);
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/backups/request');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "backup",
"id": 8,
"status": "waiting",
"started_at": null,
"completed_at": null,
"on_complete_email": null,
"on_complete_url": null,
"added_at": "2025-04-14T23:32:16+00:00",
"added_by_id": 22,
"deleted_at": null,
"sandbox": true
}
HTTP Request
POST /backups/request
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
on_complete_email | No | text (300) | |
on_complete_url | No | text (1000) |
Permissions
Only keys that have been granted Populi Account Administrator permissions may call this method.
BookstoreBookstoreItemCategory
The BookstoreBookstoreItemCategory object
The BookstoreBookstoreItemCategory object looks like this in JSON:
{
"object": "bookstore_item_category",
"id": 9,
"parent_id": 0,
"name": "Science Fiction",
"status": "active",
"order_id": 3,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | No | int |
parent_id | Yes | int |
name | Yes | text (30) |
status | Yes | enum (active, deleted) |
order_id | Yes | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/itemcategories" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/itemcategories',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/itemcategories',
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/itemcategories"), 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/itemcategories');
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": "bookstore_item_category",
"id": 9,
"parent_id": 0,
"name": "Science Fiction",
"status": "active",
"order_id": 3
}
],
"sandbox": true
}
Retrieves all BookstoreBookstoreItemCategory objects.
HTTP Request
GET /itemcategories
Parameters
None
Permissions
One of the following roles is required to call this method:
- Bookstore Admin
- Financial Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/itemcategories/(bookstoreitemcategory)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/itemcategories/(bookstoreitemcategory)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/itemcategories/(bookstoreitemcategory)',
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/itemcategories/(bookstoreitemcategory)"), 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/itemcategories/(bookstoreitemcategory)');
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": 7,
"results": 7,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": {
"object": "bookstore_item_category",
"id": 9,
"parent_id": 0,
"name": "Science Fiction",
"status": "active",
"order_id": 3,
"items": []
}
}
Retrieves a specific BookstoreBookstoreItemCategory object. Includes all Items in the specified ItemCategory.
HTTP Request
GET /itemcategories/(bookstoreitemcategory)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
Any role may call this method.
BookstoreDiscountCode
The BookstoreDiscountCode object
The BookstoreDiscountCode object looks like this in JSON:
{
"object": "discount_code",
"id": 1,
"code": "SUPERSALE!",
"type": "bookstore",
"amount": 0,
"percent": 30,
"applies_to": "all",
"available_to": "all",
"min_total": null,
"max_uses": null,
"can_combine": false,
"pos_only": false,
"starts": null,
"expires": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
code | No | text (100) |
type | No | enum (bookstore, application, form) |
amount | No | decimal |
percent | No | int |
applies_to | No | enum (all, selected, shipping) |
available_to | No | enum (all, roles) |
min_total | No | decimal |
max_uses | No | int |
can_combine | Yes | bool |
pos_only | Yes | bool |
starts | No | datetime |
expires | No | datetime |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/discountcodes" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"active","value":"YES","positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/discountcodes',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/discountcodes',
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/discountcodes"), 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/discountcodes');
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": "discount_code",
"id": 1,
"code": "SUPERSALE!",
"type": "bookstore",
"amount": 0,
"percent": 30,
"applies_to": "all",
"available_to": "all",
"min_total": null,
"max_uses": null,
"can_combine": false,
"pos_only": false,
"starts": null,
"expires": null,
"added_at": null,
"added_by_id": null,
"report_data": {
"num_uses": 0
}
}
],
"sandbox": true
}
Retrieves all BookstoreDiscountCode objects that match given filter conditions.
HTTP Request
GET /discountcodes
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 |
---|---|
active | bool |
amount_off | decimal |
applies_to | choice |
available_to | choice |
can_combine | bool |
expires | datetime |
max_uses | integer |
minimum_order | decimal |
percent_off | integer |
uses | integer |
valid_starting | datetime |
Permissions
One of the following roles is required to call this method:
- Bookstore Admin
- Financial Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/discountcodes/(bookstorediscountcode)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/discountcodes/(bookstorediscountcode)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/discountcodes/(bookstorediscountcode)',
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/discountcodes/(bookstorediscountcode)"), 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/discountcodes/(bookstorediscountcode)');
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": "discount_code",
"id": 1,
"code": "SUPERSALE!",
"type": "bookstore",
"amount": 0,
"percent": 30,
"applies_to": "all",
"available_to": "all",
"min_total": null,
"max_uses": null,
"can_combine": false,
"pos_only": false,
"starts": null,
"expires": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific BookstoreDiscountCode object.
HTTP Request
GET /discountcodes/(bookstorediscountcode)
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:
- Bookstore Admin
- Financial Admin
BookstoreItem
The BookstoreItem object
The BookstoreItem object looks like this in JSON:
{
"object": "bookstore_item",
"id": 40,
"type": "item",
"category_id": 7,
"name": "Infinity in Most Directions",
"description": "Revised with extensive footnotes.",
"status": "available",
"tax_free": false,
"isbn": "9781411179988",
"image_file_id": null,
"income_account_id": 0,
"can_charge_to_account": false,
"vendor_id": 10,
"report_on_1098t": true,
"course_offering_id": null,
"discount_type": "none",
"discount_amount": null,
"discount_can_combine": false,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
type | Yes | enum (item, course, bundle) |
category_id | No | int |
name | Yes | text (200) |
description | Yes | text |
status | Yes | enum (available, not_available) |
tax_free | Yes | bool |
isbn | No | text (20) |
image_file_id | No | int |
income_account_id | No | int |
can_charge_to_account | Yes | bool |
vendor_id | No | int |
report_on_1098t | Yes | bool |
course_offering_id | No | int |
discount_type | Yes | enum (none, percent, fixed_price) |
discount_amount | No | decimal |
discount_can_combine | Yes | bool |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/items" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"status","value":"BLAH","positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/items',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/items',
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/items"), 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/items');
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": "bookstore_item",
"id": 40,
"type": "item",
"category_id": 7,
"name": "Infinity in Most Directions",
"description": "Revised with extensive footnotes.",
"status": "available",
"tax_free": false,
"isbn": "9781411179988",
"image_file_id": null,
"income_account_id": 0,
"can_charge_to_account": false,
"vendor_id": 10,
"report_on_1098t": true,
"course_offering_id": null,
"discount_type": "none",
"discount_amount": null,
"discount_can_combine": false,
"report_data": {
"price": "12.00",
"max_price": "12.00",
"min_list_price": "12.00",
"max_list_price": "12.00",
"has_variations_on_sale": 0,
"num_variations": 1,
"total_sold": "31",
"quantity_available": "50",
"category_name": null,
"item_status": "available",
"vendor_name": null
}
}
],
"sandbox": true
}
Retrieves all BookstoreItem objects that match given filter conditions.
HTTP Request
GET /items
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
- variations
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
search | text |
category | itemcategory |
status | choice |
tax_free | bool |
inventory | integer |
isbn | text |
total_sold | integer |
min_price | decimal |
max_price | decimal |
Permissions
One of the following roles is required to call this method:
- Bookstore
- Financial Auditor
- Bookstore Admin
- Financial Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/items/(bookstoreitem)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/items/(bookstoreitem)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/items/(bookstoreitem)',
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/items/(bookstoreitem)"), 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/items/(bookstoreitem)');
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": "bookstore_item",
"id": 40,
"type": "item",
"category_id": 7,
"name": "Infinity in Most Directions",
"description": "Revised with extensive footnotes.",
"status": "available",
"tax_free": false,
"isbn": "9781411179988",
"image_file_id": null,
"income_account_id": 0,
"can_charge_to_account": false,
"vendor_id": 10,
"report_on_1098t": true,
"course_offering_id": null,
"discount_type": "none",
"discount_amount": null,
"discount_can_combine": false,
"sandbox": true
}
Retrieves a specific BookstoreItem object.
HTTP Request
GET /items/(bookstoreitem)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- variations
Permissions
Any role may call this method.
BookstoreOrder
The BookstoreOrder object
The BookstoreOrder object looks like this in JSON:
{
"object": "bookstore_order",
"id": 10,
"type": "",
"user_id": 0,
"first_name": "James",
"last_name": "Hill",
"email": "jjames@yahoo.com",
"phone": "555-995-4444 x 4401",
"transaction_id": 0,
"shipping_method_id": null,
"carrier_id": 0,
"tracking_number": null,
"secret": "a4afg174197c5a",
"source": "internet",
"ship_to_name": null,
"ship_to_street": "111 Bobski Ln",
"ship_to_city": "Bobtecka",
"ship_to_state": "IA",
"ship_to_postal": "8888",
"ship_to_country": null,
"is_picking_up": true,
"item_total": 109.5,
"item_discount": 0,
"return_item_total": 0,
"shipping": 0,
"shipping_discount": 0,
"tax_exempt": false,
"tax": 7.11,
"return_tax": 0,
"total": 116.61,
"status": "fulfilled",
"payment_gateway_id": null,
"placed_at": "2019-11-05T20:58:06+00:00",
"fulfilled_at": null,
"voided_at": null,
"academic_term_id": 0,
"online_amount": 0,
"cash_amount": 0,
"check_amount": 0,
"on_account_amount": 0,
"refund_on_account_amount": 0,
"refund_tax_on_account_amount": 0,
"check_reference_number": null,
"special_instructions": null,
"tax_on_account": false,
"shipping_on_account": false,
"suspended_by_id": null,
"suspended_at": null,
"added_at": "2009-11-11T19:57:53+00:00",
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | No | int |
type | Yes | enum (bookstore, course) |
user_id | Yes | int |
first_name | Yes | text (50) |
last_name | Yes | text (50) |
Yes | text (50) | |
phone | Yes | text (50) |
transaction_id | Yes | int |
shipping_method_id | Yes | int |
carrier_id | Yes | int |
tracking_number | No | text (100) |
secret | Yes | text (60) |
source | Yes | enum (internet, point_of_sale) |
ship_to_name | Yes | text (75) |
ship_to_street | Yes | text (150) |
ship_to_city | Yes | text (100) |
ship_to_state | Yes | text (50) |
ship_to_postal | Yes | text (50) |
ship_to_country | Yes | text (50) |
is_picking_up | Yes | bool |
item_total | Yes | decimal |
item_discount | Yes | decimal |
return_item_total | Yes | decimal |
shipping | Yes | decimal |
shipping_discount | Yes | decimal |
tax_exempt | Yes | bool |
tax | Yes | decimal |
return_tax | Yes | decimal |
total | Yes | decimal |
status | Yes | enum (construction, processing, void, pending, fulfilled) |
payment_gateway_id | No | int |
placed_at | No | datetime |
fulfilled_at | No | datetime |
voided_at | No | datetime |
academic_term_id | No | int |
online_amount | Yes | decimal |
cash_amount | Yes | decimal |
check_amount | Yes | decimal |
on_account_amount | Yes | decimal |
refund_on_account_amount | Yes | decimal |
refund_tax_on_account_amount | Yes | decimal |
check_reference_number | Yes | text (100) |
special_instructions | No | text (1000) |
tax_on_account | Yes | bool |
shipping_on_account | Yes | bool |
suspended_by_id | No | int |
suspended_at | No | datetime |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/orders" \
-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/orders',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/orders',
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/orders"), 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/orders');
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": "bookstore_order",
"id": 10,
"type": "",
"user_id": 0,
"first_name": "James",
"last_name": "Hill",
"email": "jjames@yahoo.com",
"phone": "555-995-4444 x 4401",
"transaction_id": 0,
"shipping_method_id": null,
"carrier_id": 0,
"tracking_number": null,
"secret": "a4afg174197c5a",
"source": "internet",
"ship_to_name": null,
"ship_to_street": "111 Bobski Ln",
"ship_to_city": "Bobtecka",
"ship_to_state": "IA",
"ship_to_postal": "8888",
"ship_to_country": null,
"is_picking_up": true,
"item_total": 109.5,
"item_discount": 0,
"return_item_total": 0,
"shipping": 0,
"shipping_discount": 0,
"tax_exempt": false,
"tax": 7.11,
"return_tax": 0,
"total": 116.61,
"status": "fulfilled",
"payment_gateway_id": null,
"placed_at": "2019-11-05T20:58:06+00:00",
"fulfilled_at": null,
"voided_at": null,
"academic_term_id": 0,
"online_amount": 0,
"cash_amount": 0,
"check_amount": 0,
"on_account_amount": 0,
"refund_on_account_amount": 0,
"refund_tax_on_account_amount": 0,
"check_reference_number": null,
"special_instructions": null,
"tax_on_account": false,
"shipping_on_account": false,
"suspended_by_id": null,
"suspended_at": null,
"added_at": "2009-11-11T19:57:53+00:00",
"added_by_id": null,
"report_data": {
"shipping_method_name": null
}
}
],
"sandbox": true
}
Retrieves all BookstoreOrder objects that match given filter conditions.
HTTP Request
GET /orders
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
- items
- return_items
- discount_codes
- refunded_cards
- shipping_method
- online_payments
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
placed | datetime |
first_name | text |
last_name | text |
shipping_method | object id |
source | choice |
status | choice |
total | decimal |
Permissions
One of the following roles is required to call this method:
- Bookstore
- Financial Auditor
- Bookstore Admin
- Financial Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/orders/(bookstoreorder)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/orders/(bookstoreorder)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/orders/(bookstoreorder)',
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/orders/(bookstoreorder)"), 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/orders/(bookstoreorder)');
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": "bookstore_order",
"id": 10,
"type": "",
"user_id": 0,
"first_name": "James",
"last_name": "Hill",
"email": "jjames@yahoo.com",
"phone": "555-995-4444 x 4401",
"transaction_id": 0,
"shipping_method_id": null,
"carrier_id": 0,
"tracking_number": null,
"secret": "a4afg174197c5a",
"source": "internet",
"ship_to_name": null,
"ship_to_street": "111 Bobski Ln",
"ship_to_city": "Bobtecka",
"ship_to_state": "IA",
"ship_to_postal": "8888",
"ship_to_country": null,
"is_picking_up": true,
"item_total": 109.5,
"item_discount": 0,
"return_item_total": 0,
"shipping": 0,
"shipping_discount": 0,
"tax_exempt": false,
"tax": 7.11,
"return_tax": 0,
"total": 116.61,
"status": "fulfilled",
"payment_gateway_id": null,
"placed_at": "2019-11-05T20:58:06+00:00",
"fulfilled_at": null,
"voided_at": null,
"academic_term_id": 0,
"online_amount": 0,
"cash_amount": 0,
"check_amount": 0,
"on_account_amount": 0,
"refund_on_account_amount": 0,
"refund_tax_on_account_amount": 0,
"check_reference_number": null,
"special_instructions": null,
"tax_on_account": false,
"shipping_on_account": false,
"suspended_by_id": null,
"suspended_at": null,
"added_at": "2009-11-11T19:57:53+00:00",
"added_by_id": null,
"sandbox": true
}
Retrieves a specific BookstoreOrder object.
HTTP Request
GET /orders/(bookstoreorder)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- items
- return_items
- discount_codes
- refunded_cards
- shipping_method
- online_payments
Permissions
One of the following roles is required to call this method:
- Bookstore
- Financial Auditor
- Bookstore Admin
- Financial Admin
Building
The Building object
The Building object looks like this in JSON:
{
"object": "building",
"id": 1,
"campus_id": 8,
"name": "Anselm House Annex",
"street": "20500 East Fifth Street",
"city": "Moscow",
"state": "ID",
"postal": "83843",
"country": "US",
"floors": 2,
"basement_floors": 1,
"retired_at": null,
"retired_by_id": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
campus_id | Yes | int |
name | Yes | text (255) |
street | Yes | text (255) |
city | Yes | text (255) |
state | Yes | text (50) |
postal | No | -- |
country | Yes | text (50) |
floors | Yes | int |
basement_floors | No | int |
retired_at | No | datetime |
retired_by_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/buildings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/buildings',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/buildings',
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/buildings"), 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/buildings');
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": "building",
"id": 1,
"campus_id": 8,
"name": "Anselm House Annex",
"street": "20500 East Fifth Street",
"city": "Moscow",
"state": "ID",
"postal": "83843",
"country": "US",
"floors": 2,
"basement_floors": 1,
"retired_at": null,
"retired_by_id": null,
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all Building objects.
HTTP Request
GET /buildings
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/buildings/(building)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/buildings/(building)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/buildings/(building)',
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/buildings/(building)"), 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/buildings/(building)');
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": "building",
"id": 1,
"campus_id": 8,
"name": "Anselm House Annex",
"street": "20500 East Fifth Street",
"city": "Moscow",
"state": "ID",
"postal": "83843",
"country": "US",
"floors": 2,
"basement_floors": 1,
"retired_at": null,
"retired_by_id": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific Building object.
HTTP Request
GET /buildings/(building)
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:
- Staff
COACategory
The COACategory object
The COACategory object looks like this in JSON:
{
"object": "coa_category",
"id": 1,
"name": "Books",
"type": "books_and_supplies",
"added_at": "2010-01-01T00:00:00+00:00",
"added_by_id": 4457,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (30) |
type | Yes | enum (books_and_supplies, transportation, other_costs, tuition, fee, housing, meals) |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/coacategories" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/coacategories',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/coacategories',
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/coacategories"), 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/coacategories');
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": "coa_category",
"id": 1,
"name": "Books",
"type": "books_and_supplies",
"added_at": "2010-01-01T00:00:00+00:00",
"added_by_id": 4457
}
],
"sandbox": true
}
Retrieves all COACategory objects.
HTTP Request
GET /coacategories
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Aid
- Financial Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/coacategories/(coacategory)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/coacategories/(coacategory)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/coacategories/(coacategory)',
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/coacategories/(coacategory)"), 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/coacategories/(coacategory)');
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": "coa_category",
"id": 1,
"name": "Books",
"type": "books_and_supplies",
"added_at": "2010-01-01T00:00:00+00:00",
"added_by_id": 4457,
"sandbox": true
}
Retrieves a specific COACategory object.
HTTP Request
GET /coacategories/(coacategory)
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:
- Financial Aid
- Financial Admin
CalendarEvent
The CalendarEvent object
The CalendarEvent object looks like this in JSON:
{
"object": "calendar_event",
"id": 1,
"owner_id": 21908,
"owner_type": "instance",
"summary": "BR101: Main Class",
"description": null,
"start_date": "2022-08-01T13:00:00+00:00",
"end_date": "2022-08-01T14:00:00+00:00",
"all_day": false,
"rfrequency": "weekly",
"rinterval": 1,
"rcount": null,
"runtil": "2022-12-31",
"rbyday": "MO,WE,FR",
"rskips": null,
"closure": false,
"closure_academic_year_id": null,
"status": "active",
"busy": true,
"sequence": null,
"room_id": 0,
"location": null,
"room_status": "NONE",
"url": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
owner_id | Yes | int |
owner_type | Yes | enum (person, instance, org, room, resource, group, campus, library, library_hours) |
summary | No | text (255) |
description | No | text |
start_date | Yes | datetime |
end_date | Yes | datetime |
all_day | Yes | bool |
rfrequency | Yes | enum (none, daily, weekly, monthly, yearly) |
rinterval | Yes | int |
rcount | Yes | int |
runtil | Yes | date |
rbyday | No | set |
rskips | Yes | text |
closure | No | -- |
closure_academic_year_id | No | int |
status | Yes | enum (active, deleted) |
busy | Yes | bool |
sequence | Yes | int |
room_id | Yes | int |
location | Yes | text (100) |
room_status | No | -- |
url | No | text (2100) |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/events" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"start_date": "2022-01-05",
"end_date": "2023-02-06"
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/events',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:start_date => '2022-01-05',
:end_date => '2023-02-06'
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/events',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'start_date': '2022-01-05',
'end_date': '2023-02-06'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/events"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
start_date = "2022-01-05",
end_date = "2023-02-06"
});
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/events');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'start_date' => '2022-01-05',
'end_date' => '2023-02-06'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 66,
"results": 66,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"eventid": "2",
"eventownertype": "org",
"eventownerid": "1",
"start": "2022-08-01T06:00:00+00:00",
"end": "2022-08-01T07:00:00+00:00",
"allday": "0",
"summary": "Convocation",
"description": "",
"rfrequency": "weekly",
"rinterval": "1",
"rcount": "0",
"rskips": "",
"runtil": "12\/31\/2022",
"rbyday": "MO,WE,FR",
"busy": "1",
"roomid": "0",
"location": "",
"roomstatus": "none",
"is_closure": "0",
"url": null,
"calendar_name": "School Calendar",
"ownertype": "org",
"ownerid": 1,
"recurrence": "2022-08-01",
"color": 2,
"access": "write",
"start_timestamp": 1659358800
}
]
}
Retrieves all CalendarEvent objects.
HTTP Request
GET /events
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
start_date | Yes | datetime | |
end_date | Yes | datetime |
Permissions
One of the following roles is required to call this method:
- Academic Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/events/(calendarevent)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/events/(calendarevent)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/events/(calendarevent)',
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/events/(calendarevent)"), 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/events/(calendarevent)');
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": "calendar_event",
"id": 1,
"owner_id": 21908,
"owner_type": "instance",
"summary": "BR101: Main Class",
"description": null,
"start_date": "2022-08-01T13:00:00+00:00",
"end_date": "2022-08-01T14:00:00+00:00",
"all_day": false,
"rfrequency": "weekly",
"rinterval": 1,
"rcount": null,
"runtil": "2022-12-31",
"rbyday": "MO,WE,FR",
"rskips": null,
"closure": false,
"closure_academic_year_id": null,
"status": "active",
"busy": true,
"sequence": null,
"room_id": 0,
"location": null,
"room_status": "NONE",
"url": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific CalendarEvent object.
HTTP Request
GET /events/(calendarevent)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Academic Admin
Campaign
The Campaign object
The Campaign object looks like this in JSON:
{
"object": "campaign",
"id": 4,
"name": "Capital Campaign",
"goal": null,
"deadline": null,
"status": "inactive",
"added_at": "2017-04-04T17:26:52+00:00",
"added_by_id": 1257,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | No | text (500) |
goal | No | decimal |
deadline | No | datetime |
status | Yes | enum (active, inactive, deleted) |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/campaigns" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/campaigns',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/campaigns',
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/campaigns"), 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/campaigns');
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": "campaign",
"id": 4,
"name": "Capital Campaign",
"goal": null,
"deadline": null,
"status": "inactive",
"added_at": "2017-04-04T17:26:52+00:00",
"added_by_id": 1257
}
],
"sandbox": true
}
Retrieves all Campaign objects.
HTTP Request
GET /campaigns
Parameters
None
Permissions
One of the following roles is required to call this method:
- Donations
- Financial Auditor
- Financial Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/campaigns/(campaign)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/campaigns/(campaign)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/campaigns/(campaign)',
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/campaigns/(campaign)"), 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/campaigns/(campaign)');
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": "campaign",
"id": 4,
"name": "Capital Campaign",
"goal": null,
"deadline": null,
"status": "inactive",
"added_at": "2017-04-04T17:26:52+00:00",
"added_by_id": 1257,
"sandbox": true
}
Retrieves a specific Campaign object.
HTTP Request
GET /campaigns/(campaign)
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:
- Donations
- Financial Auditor
- Financial Admin
Campus
The Campus object
The Campus object looks like this in JSON:
{
"object": "campus",
"id": 8,
"name": "Main Campus",
"city": "Moscow",
"state": "ID",
"postal": "83843",
"country": "US",
"status": "active",
"primary": true,
"timezone": "America\/Los_Angeles",
"cod_routing_id": null,
"ope_id": null,
"export_prefix": null,
"ipeds_unit_id": null,
"country_full": "United States",
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (255) |
city | Yes | text (255) |
state | Yes | text (50) |
postal | No | -- |
country | Yes | text (50) |
status | Yes | enum (active, retired, deleted) |
primary | No | -- |
timezone | No | text (50) |
cod_routing_id | No | text (50) |
ope_id | No | text (50) |
export_prefix | No | text (50) |
ipeds_unit_id | No | int |
country_full | No | text |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/campuses" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/campuses',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/campuses',
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/campuses"), 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/campuses');
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": "campus",
"id": 8,
"name": "Main Campus",
"city": "Moscow",
"state": "ID",
"postal": "83843",
"country": "US",
"status": "active",
"primary": true,
"timezone": "America\/Los_Angeles",
"cod_routing_id": null,
"ope_id": null,
"export_prefix": null,
"ipeds_unit_id": null,
"country_full": "United States",
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all Campus objects.
HTTP Request
GET /campuses
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/campuses/(campus)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/campuses/(campus)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/campuses/(campus)',
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/campuses/(campus)"), 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/campuses/(campus)');
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": "campus",
"id": 8,
"name": "Main Campus",
"city": "Moscow",
"state": "ID",
"postal": "83843",
"country": "US",
"status": "active",
"primary": true,
"timezone": "America\/Los_Angeles",
"cod_routing_id": null,
"ope_id": null,
"export_prefix": null,
"ipeds_unit_id": null,
"country_full": "United States",
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific Campus object.
HTTP Request
GET /campuses/(campus)
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:
- Staff
CanadianDonationReceipt
The CanadianDonationReceipt object
The CanadianDonationReceipt object looks like this in JSON:
{
"object": "canadian_donation_receipt",
"id": 1,
"tax_year": 2021,
"donor_id": 1,
"number": 1,
"num_donations": 5,
"donor_name": "Freddy Smith",
"donor_street": "45 Maple Street",
"donor_city": "Vancouver",
"donor_province": "BC",
"donor_postal": "99999",
"donor_country": "CA",
"donation_received_date": null,
"receipt_date": null,
"total_amount": 0,
"advantage_amount": 0,
"tax_deductible_amount": 0,
"original_currency": null,
"advantage_description": null,
"location_issued": null,
"charity_name": null,
"charity_street": null,
"charity_city": null,
"charity_province": null,
"charity_postal": null,
"charity_registration_number": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
tax_year | No | int |
donor_id | No | int |
number | No | int |
num_donations | No | int |
donor_name | No | text (500) |
donor_street | No | text (500) |
donor_city | No | text (200) |
donor_province | No | text (100) |
donor_postal | No | text (100) |
donor_country | No | text (100) |
donation_received_date | No | date |
receipt_date | No | date |
total_amount | Yes | decimal |
advantage_amount | Yes | decimal |
tax_deductible_amount | Yes | decimal |
original_currency | No | text (3) |
advantage_description | No | text (1000) |
location_issued | No | text (500) |
charity_name | No | text (500) |
charity_street | No | text (200) |
charity_city | No | text (100) |
charity_province | No | text (100) |
charity_postal | No | text (50) |
charity_registration_number | No | text (50) |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/canadiandonationreceipts/(canadiandonationreceipt)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/canadiandonationreceipts/(canadiandonationreceipt)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/canadiandonationreceipts/(canadiandonationreceipt)',
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/canadiandonationreceipts/(canadiandonationreceipt)"), 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/canadiandonationreceipts/(canadiandonationreceipt)');
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": "canadian_donation_receipt",
"id": 1,
"tax_year": 2021,
"donor_id": 1,
"number": 1,
"num_donations": 5,
"donor_name": "Freddy Smith",
"donor_street": "45 Maple Street",
"donor_city": "Vancouver",
"donor_province": "BC",
"donor_postal": "99999",
"donor_country": "CA",
"donation_received_date": null,
"receipt_date": null,
"total_amount": 0,
"advantage_amount": 0,
"tax_deductible_amount": 0,
"original_currency": null,
"advantage_description": null,
"location_issued": null,
"charity_name": null,
"charity_street": null,
"charity_city": null,
"charity_province": null,
"charity_postal": null,
"charity_registration_number": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific CanadianDonationReceipt object.
HTTP Request
GET /canadiandonationreceipts/(canadiandonationreceipt)
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:
- Financial Admin
- Donations
- Financial Auditor
CatalogCourse
The CatalogCourse object
The CatalogCourse object looks like this in JSON:
{
"object": "catalog_course",
"id": 576,
"name": "Pentateuch",
"description": "Biblical Studies: Pentateuch.\n\nThis course explores the five books of Moses, with particular attention to the Mosaic tabernacle, its institutions of worship and sacrifice, the laws of clean and unclean. The course also explores cultural-anthropological perspectives on the Pentateuch. Unless they can produce a better overview, students will be required to be able to reproduce Dorsey???s outline of each book of the Pentateuch, as well as rational for the outline.\nIn addition to readings, instructor-led discussions of selected passages of the Pentateuch, and lectures, students will be required to exegete at least one assigned passage of the Pentateuch and lead a class discussion on that passage.",
"abbrv": "BS502",
"department_id": 2,
"credits": 2,
"hours": 2,
"attendance_hours": 0,
"clinical_hours": 0,
"finaid_credits": 0,
"finaid_hours": 0,
"fulfills_program_requirements": true,
"affects_standing": true,
"affects_full_time_status": true,
"count_retakes": 0,
"status": "active",
"max_enrolled": 100,
"max_auditors": 100,
"pass_fail": false,
"pass_affects_gpa": true,
"fail_affects_gpa": true,
"pass_fail_pass_affects_gpa": true,
"pass_fail_fail_affects_gpa": true,
"cip_code": null,
"self_enroll": "yes",
"self_audit": true,
"enable_clinical_hours": false,
"roster_visibility": true,
"faculty_can_manage_roster": false,
"faculty_can_override_enrollment": false,
"minimum_attendance": null,
"allowed_tuition_schedules": "all",
"allow_auditor_assignments": false,
"allow_auditor_attendance": false,
"waiting_list_management": "automatic",
"remedial": false,
"import_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (255) |
description | Yes | text |
abbrv | Yes | text (20) |
department_id | Yes | int |
credits | Yes | decimal |
hours | Yes | decimal |
attendance_hours | Yes | decimal |
clinical_hours | Yes | decimal |
finaid_credits | No | decimal |
finaid_hours | No | decimal |
fulfills_program_requirements | Yes | bool |
affects_standing | Yes | bool |
affects_full_time_status | Yes | bool |
count_retakes | Yes | bool |
status | Yes | enum (active, retired) |
max_enrolled | No | int |
max_auditors | No | int |
pass_fail | Yes | bool |
pass_affects_gpa | Yes | bool |
fail_affects_gpa | Yes | bool |
pass_fail_pass_affects_gpa | Yes | bool |
pass_fail_fail_affects_gpa | Yes | bool |
cip_code | Yes | text (15) |
self_enroll | Yes | enum (yes, no_repeats, no) |
self_audit | Yes | bool |
enable_clinical_hours | Yes | bool |
roster_visibility | Yes | bool |
faculty_can_manage_roster | Yes | bool |
faculty_can_override_enrollment | Yes | bool |
minimum_attendance | No | decimal |
allowed_tuition_schedules | Yes | enum (all, none, choose) |
allow_auditor_assignments | Yes | bool |
allow_auditor_attendance | Yes | bool |
waiting_list_management | Yes | enum (automatic, manual, none) |
remedial | Yes | bool |
import_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/catalogcourses" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"credits","value":{"type":"RANGE","start":"10.5","end":"900.15"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/catalogcourses',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/catalogcourses',
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/catalogcourses"), 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/catalogcourses');
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": 36,
"results": 36,
"results_per_page": 200,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "catalog_course",
"id": 576,
"name": "Pentateuch",
"description": "Biblical Studies: Pentateuch.\n\nThis course explores the five books of Moses, with particular attention to the Mosaic tabernacle, its institutions of worship and sacrifice, the laws of clean and unclean. The course also explores cultural-anthropological perspectives on the Pentateuch. Unless they can produce a better overview, students will be required to be able to reproduce Dorsey???s outline of each book of the Pentateuch, as well as rational for the outline.\nIn addition to readings, instructor-led discussions of selected passages of the Pentateuch, and lectures, students will be required to exegete at least one assigned passage of the Pentateuch and lead a class discussion on that passage.",
"abbrv": "BS502",
"department_id": 2,
"credits": 2,
"hours": 2,
"attendance_hours": 0,
"clinical_hours": 0,
"finaid_credits": 0,
"finaid_hours": 0,
"fulfills_program_requirements": true,
"affects_standing": true,
"affects_full_time_status": true,
"count_retakes": 0,
"status": "active",
"max_enrolled": 100,
"max_auditors": 100,
"pass_fail": false,
"pass_affects_gpa": true,
"fail_affects_gpa": true,
"pass_fail_pass_affects_gpa": true,
"pass_fail_fail_affects_gpa": true,
"cip_code": null,
"self_enroll": "yes",
"self_audit": true,
"enable_clinical_hours": false,
"roster_visibility": true,
"faculty_can_manage_roster": false,
"faculty_can_override_enrollment": false,
"minimum_attendance": null,
"allowed_tuition_schedules": "all",
"allow_auditor_assignments": false,
"allow_auditor_attendance": false,
"waiting_list_management": "automatic",
"remedial": false,
"import_id": null,
"report_data": {
"department_name": "Other",
"could_delete": 0,
"program_name_ids": null
}
}
],
"sandbox": true
}
Retrieves all CatalogCourse objects that match given filter conditions.
HTTP Request
GET /catalogcourses
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
- faculty
- corequisites
- course_equivalencies
- prerequisites
- programs
- department
- tuition_schedules
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
abbrv | text |
name | text |
credits | decimal |
hours | decimal |
status | enum |
program | program |
department | object id |
pass_fail | bool |
delivery_method | object id |
max_enrolled | enrollment |
max_auditors | enrollment |
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/catalogcourses/(catalogcourse)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/catalogcourses/(catalogcourse)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/catalogcourses/(catalogcourse)',
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/catalogcourses/(catalogcourse)"), 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/catalogcourses/(catalogcourse)');
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": "catalog_course",
"id": 576,
"name": "Pentateuch",
"description": "Biblical Studies: Pentateuch.\n\nThis course explores the five books of Moses, with particular attention to the Mosaic tabernacle, its institutions of worship and sacrifice, the laws of clean and unclean. The course also explores cultural-anthropological perspectives on the Pentateuch. Unless they can produce a better overview, students will be required to be able to reproduce Dorsey???s outline of each book of the Pentateuch, as well as rational for the outline.\nIn addition to readings, instructor-led discussions of selected passages of the Pentateuch, and lectures, students will be required to exegete at least one assigned passage of the Pentateuch and lead a class discussion on that passage.",
"abbrv": "BS502",
"department_id": 2,
"credits": 2,
"hours": 2,
"attendance_hours": 0,
"clinical_hours": 0,
"finaid_credits": 0,
"finaid_hours": 0,
"fulfills_program_requirements": true,
"affects_standing": true,
"affects_full_time_status": true,
"count_retakes": 0,
"status": "active",
"max_enrolled": 100,
"max_auditors": 100,
"pass_fail": false,
"pass_affects_gpa": true,
"fail_affects_gpa": true,
"pass_fail_pass_affects_gpa": true,
"pass_fail_fail_affects_gpa": true,
"cip_code": null,
"self_enroll": "yes",
"self_audit": true,
"enable_clinical_hours": false,
"roster_visibility": true,
"faculty_can_manage_roster": false,
"faculty_can_override_enrollment": false,
"minimum_attendance": null,
"allowed_tuition_schedules": "all",
"allow_auditor_assignments": false,
"allow_auditor_attendance": false,
"waiting_list_management": "automatic",
"remedial": false,
"import_id": null,
"sandbox": true
}
Retrieves a specific CatalogCourse object.
HTTP Request
GET /catalogcourses/(catalogcourse)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- faculty
- corequisites
- course_equivalencies
- prerequisites
- programs
- department
- tuition_schedules
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
ChangeLog
The ChangeLog object
The ChangeLog object looks like this in JSON:
{
"object": "change_log",
"id": 946156314,
"owner_type_id": 8,
"owner_id": 1862,
"changed_by_id": 13154473,
"changed_by_ip": "10.0.0.13",
"changed_time": "2024-07-08T19:49:36+00:00",
"type_id": 127,
"action": "changed",
"changed_from": "External LMS",
"changed_to": "Internal LMS",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
owner_type_id | Yes | int |
owner_id | Yes | int |
changed_by_id | No | int |
changed_by_ip | Yes | text (50) |
changed_time | Yes | datetime |
type_id | Yes | int |
action | No | enum (added, changed, deleted, printed, restored, cloned, requested) |
changed_from | No | text |
changed_to | No | text |
sandbox | No | -- |
changelog
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/changelog" \
-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/changelog',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/changelog',
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/changelog"), 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/changelog');
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": 103,
"results": 103,
"results_per_page": 200,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "change_log",
"id": 946156417,
"owner_type_id": 1,
"owner_id": 16,
"changed_by_id": 22,
"changed_by_ip": "10.0.0.1",
"changed_time": "2025-04-14T23:32:19+00:00",
"type_id": 151,
"action": "added",
"changed_from": "Cool Kids Plan",
"changed_to": null,
"report_data": {
"changed_time_local": "2025-04-14 16:32:19",
"owner_type": "PERSON",
"change_type": "DEFAULT_TUITION_SCHEDULE",
"changed_by_id": 22,
"changed_by_name": "API Dude"
}
}
],
"sandbox": true
}
Results are limited to changes in the past 30 days.
HTTP Request
GET /changelog
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 |
---|---|
changed_by | search |
affected | changelog_affected |
affected_type | choice |
type | choice |
action | enum |
Permissions
Only keys that have been granted Populi Account Administrator permissions may call this method.
This is a heavy call. For performance reasons, only one heavy call may be made at a time.
Check
The Check object
The Check object looks like this in JSON:
{
"object": "check",
"id": 1,
"owner_type": "person",
"owner_id": 12,
"amount": 400.5,
"transaction_id": 12,
"batch_number": 1,
"number": 1001,
"added_at": "2022-01-02T12:30:34+00:00",
"added_by_id": 1,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
owner_type | Yes | enum (person, donor) |
owner_id | Yes | int |
amount | Yes | decimal |
transaction_id | Yes | int |
batch_number | No | int |
number | 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/checks" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"posted_date","value":{"type":"RANGE","start":"2021-01-01","end":"2022-03-17"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/checks',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/checks',
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/checks"), 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/checks');
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": "check",
"id": 1,
"owner_type": "person",
"owner_id": 12,
"amount": 400.5,
"transaction_id": 12,
"batch_number": 1,
"number": 1001,
"added_at": "2015-03-10T19:33:11+00:00",
"added_by_id": 1,
"report_data": {
"payee_name": "Alice Admin",
"person_name": "Alice Admin",
"person_firstname": "Alice",
"person_lastname": "Admin",
"posted_date": "2015-03-10",
"transaction_number": 1237,
"refund_source": null,
"account_number": "12345-7",
"account_name": "Cooler Account",
"added_by_name": "Elizabeth Fox",
"student_dummy_id": "20220xx002",
"row_id": 1
}
}
],
"sandbox": true
}
Retrieves all Check objects that match given filter conditions.
HTTP Request
GET /checks
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
- person
- transaction
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
payee | text |
posted_date | date |
account | text |
transaction_number | integer |
check_number | integer |
batch_number | integer |
amount | decimal |
student | text |
tag | tag |
custom_field | custom |
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Aid
- Student Billing
- Financial Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/checks/(check)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/checks/(check)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/checks/(check)',
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/checks/(check)"), 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/checks/(check)');
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": "check",
"id": 1,
"owner_type": "person",
"owner_id": 12,
"amount": 400.5,
"transaction_id": 12,
"batch_number": 1,
"number": 1001,
"added_at": "2022-01-02T12:30:34+00:00",
"added_by_id": 1,
"sandbox": true
}
Retrieves a specific Check object.
HTTP Request
GET /checks/(check)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- person
- transaction
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Aid
- Student Billing
- Financial Admin
Citizenship
The Citizenship object
The Citizenship object looks like this in JSON:
{
"object": "citizenship",
"id": 6,
"person_id": 1,
"country": "US",
"country_abbrv": "US",
"country_name": "United States of America",
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
person_id | Yes | int |
country | Yes | char |
country_abbrv | No | text |
country_name | No | text |
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)/citizenships" \
-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)/citizenships',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/citizenships',
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)/citizenships"), 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)/citizenships');
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": "citizenship",
"id": 7,
"person_id": 12,
"country": "US",
"country_abbrv": "US",
"country_name": "United States of America",
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all Citizenship objects tied to a specific Person.
HTTP Request
GET /people/(person)/citizenships
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/citizenships" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"country": "US",
"resident_alien": "1"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/citizenships',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:country => 'US'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/citizenships',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'country': 'US'
}
)
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)/citizenships"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
country = "US"
});
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)/citizenships');
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([
'country' => 'US'
]));
$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": "citizenship",
"id": 7,
"person_id": 12,
"country": "US",
"country_abbrv": "US",
"country_name": "United States of America",
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Creates a new Citizenship object.
HTTP Request
POST /people/(person)/citizenships
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
country | Yes | char | |
resident_alien | No | bool |
Permissions
One of the following roles is required to call this method:
- Staff
delete
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/citizenships" \
-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)/citizenships',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/people/(person)/citizenships',
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)/citizenships"), 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)/citizenships');
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": "person",
"id": 12,
"first_name": "Taylor",
"last_name": "Forest",
"middle_name": "",
"prefix": "Mrs.",
"suffix": null,
"preferred_name": null,
"display_name": "Taylor Forest",
"gender": "female",
"other_gender": null,
"image_file_id": null,
"birth_date": null,
"status": "active",
"social_security_number": null,
"alien_registration_number": null,
"social_insurance_number": null,
"home_city": null,
"home_state": null,
"home_country": null,
"former_name": null,
"license_plate": null,
"bio": null,
"hispanic_latino": false,
"resident_alien": false,
"localization_id": null,
"notification_email_id": null,
"deceased_date": null,
"import_id": null,
"staff_id": null,
"faculty_id": null,
"degree_level_id": null,
"added_at": null,
"added_by_id": null,
"updated_at": "2025-04-14T16:32:21+00:00",
"private_profile": false,
"is_user": true,
"sandbox": true
}
Removes all citizenship data about a person.
HTTP Request
DELETE /people/(person)/citizenships
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:
- Staff
CommunicationPlan
The CommunicationPlan object
The CommunicationPlan object looks like this in JSON:
{
"object": "communication_plan",
"id": 9,
"name": "Prospect Plan 2",
"type": "admissions",
"added_at": "2016-05-18T18:46:47+00:00",
"added_by_id": 1,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | No | int |
name | Yes | text (300) |
type | No | text |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/communicationplans" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/communicationplans',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/communicationplans',
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/communicationplans"), 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/communicationplans');
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": "communication_plan",
"id": 9,
"name": "Prospect Plan 2",
"type": "admissions",
"added_at": "2016-05-18T18:46:47+00:00",
"added_by_id": 1
}
],
"sandbox": true
}
Retrieves all CommunicationPlan objects.
HTTP Request
GET /communicationplans
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/communicationplans/(communicationplan)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/communicationplans/(communicationplan)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/communicationplans/(communicationplan)',
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/communicationplans/(communicationplan)"), 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/communicationplans/(communicationplan)');
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": "communication_plan",
"id": 9,
"name": "Prospect Plan 2",
"type": "admissions",
"added_at": "2016-05-18T18:46:47+00:00",
"added_by_id": 1,
"sandbox": true
}
Retrieves a specific CommunicationPlan object.
HTTP Request
GET /communicationplans/(communicationplan)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- events
Permissions
One of the following roles is required to call this method:
- Staff
CommunicationPlanInstance
The CommunicationPlanInstance object
The CommunicationPlanInstance object looks like this in JSON:
{
"object": "communication_plan_instance",
"id": 1,
"person_id": 1,
"communication_plan_id": 1,
"sender_id": 2,
"start_date": "2022-07-11",
"added_at": "2022-07-11T18:18:37+00:00",
"added_by_id": 6,
"active": false,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
person_id | Yes | int |
communication_plan_id | Yes | int |
sender_id | No | int |
start_date | Yes | date |
added_at | No | datetime |
added_by_id | No | int |
active | No | -- |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/communicationplans" \
-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)/communicationplans',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/communicationplans',
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)/communicationplans"), 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)/communicationplans');
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": "communication_plan_instance",
"id": 2,
"person_id": 12,
"communication_plan_id": 9,
"sender_id": 2,
"start_date": "2022-07-11",
"added_at": "2022-07-11T18:18:37+00:00",
"added_by_id": 6,
"active": false
}
],
"sandbox": true
}
Retrieves all CommunicationPlanInstance objects tied to a specific Person.
HTTP Request
GET /people/(person)/communicationplans
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/communicationplans" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"communication_plan_id": 9,
"sender_id": 17
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/communicationplans',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:communication_plan_id => 9,
:sender_id => 17
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/communicationplans',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'communication_plan_id': 9,
'sender_id': 17
}
)
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)/communicationplans"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
communication_plan_id = 9,
sender_id = 17
});
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)/communicationplans');
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([
'communication_plan_id' => 9,
'sender_id' => 17
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "communication_plan_instance",
"id": 3,
"person_id": 12,
"communication_plan_id": 9,
"sender_id": 17,
"start_date": "2025-04-14",
"added_at": "2025-04-14T23:32:17+00:00",
"added_by_id": 22,
"active": false,
"sandbox": true
}
Creates a new CommunicationPlanInstance object.
HTTP Request
POST /people/(person)/communicationplans
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
communication_plan_id | Yes | int | |
sender_id | Yes | int | |
start_date | No | date |
Permissions
One of the following roles is required to call this method:
- Staff
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/communicationplans/(communicationplaninstance)" \
-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)/communicationplans/(communicationplaninstance)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/communicationplans/(communicationplaninstance)',
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)/communicationplans/(communicationplaninstance)"), 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)/communicationplans/(communicationplaninstance)');
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": "communication_plan_instance",
"id": 2,
"person_id": 12,
"communication_plan_id": 9,
"sender_id": 2,
"start_date": "2022-07-11",
"added_at": "2022-07-11T18:18:37+00:00",
"added_by_id": 6,
"active": false,
"sandbox": true
}
Retrieves a specific CommunicationPlanInstance object.
HTTP Request
GET /people/(person)/communicationplans/(communicationplaninstance)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- events
Permissions
One of the following roles is required to call this method:
- Staff
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/communicationplans/(communicationplaninstance)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"sender_id": 17
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/people/(person)/communicationplans/(communicationplaninstance)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:sender_id => 17
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/communicationplans/(communicationplaninstance)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'sender_id': 17
}
)
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)/communicationplans/(communicationplaninstance)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
sender_id = 17
});
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)/communicationplans/(communicationplaninstance)');
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([
'sender_id' => 17
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "communication_plan_instance",
"id": 2,
"person_id": 12,
"communication_plan_id": 9,
"sender_id": 17,
"start_date": "2022-07-11",
"added_at": "2022-07-11T18:18:37+00:00",
"added_by_id": 6,
"active": false,
"sandbox": true
}
Updates an existing CommunicationPlanInstance object.
HTTP Request
PUT /people/(person)/communicationplans/(communicationplaninstance)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
sender_id | Yes | int |
Permissions
One of the following roles is required to call this method:
- Staff
delete
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/communicationplans/(communicationplaninstance)" \
-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)/communicationplans/(communicationplaninstance)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/people/(person)/communicationplans/(communicationplaninstance)',
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)/communicationplans/(communicationplaninstance)"), 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)/communicationplans/(communicationplaninstance)');
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": "communication_plan_instance",
"id": 2,
"deleted": true
}
Deletes an existing CommunicationPlanInstance object.
HTTP Request
DELETE /people/(person)/communicationplans/(communicationplaninstance)
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:
- Staff
Consequence
The Consequence object
The Consequence object looks like this in JSON:
{
"object": "consequence",
"id": 2,
"name": "Written warning",
"description": null,
"fee_id": null,
"email_notification": false,
"apply_immediately": false,
"added_at": "2016-02-25T00:10:52+00:00",
"added_by_id": 1257,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (200) |
description | No | text |
fee_id | No | int |
email_notification | Yes | bool |
apply_immediately | Yes | bool |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/consequences" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/consequences',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/consequences',
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/consequences"), 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/consequences');
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": "consequence",
"id": 2,
"name": "Written warning",
"description": null,
"fee_id": null,
"email_notification": false,
"apply_immediately": false,
"added_at": "2016-02-25T00:10:52+00:00",
"added_by_id": 1257
}
],
"sandbox": true
}
Retrieves all Consequence objects.
HTTP Request
GET /consequences
Parameters
None
Expandable Properties
- consequence_triggers
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/consequences/(consequence)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/consequences/(consequence)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/consequences/(consequence)',
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/consequences/(consequence)"), 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/consequences/(consequence)');
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": "consequence",
"id": 2,
"name": "Written warning",
"description": null,
"fee_id": null,
"email_notification": false,
"apply_immediately": false,
"added_at": "2016-02-25T00:10:52+00:00",
"added_by_id": 1257,
"sandbox": true
}
Retrieves a specific Consequence object.
HTTP Request
GET /consequences/(consequence)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- consequence_triggers
Country
The Country object
The Country object looks like this in JSON:
{
"object": "country",
"id": "AF",
"name": "Afghanistan",
"alpha3": "AFG",
"code": 4,
"calling_code": "93",
"status": "active",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | No | int |
name | Yes | text (100) |
alpha3 | No | text (3) |
code | Yes | int |
calling_code | No | text (10) |
status | Yes | enum (active, retired) |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/countries" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/countries',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/countries',
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/countries"), 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/countries');
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": 242,
"results": 242,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "country",
"id": "AF",
"name": "Afghanistan",
"alpha3": "AFG",
"code": 4,
"calling_code": "93",
"status": "active"
}
],
"sandbox": true
}
Retrieves all Country objects.
HTTP Request
GET /countries
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
CourseAttendance
The CourseAttendance object
The CourseAttendance object looks like this in JSON:
{
"object": "course_attendance",
"id": 5,
"student_id": 12,
"course_meeting_id": 2,
"status": "present",
"present_coef": 1,
"note": null,
"kiosk_id": null,
"beacon_id": null,
"device_id": null,
"beacon_found_at": null,
"attendance_hours": null,
"clinical_hours": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
student_id | Yes | int |
course_meeting_id | Yes | int |
status | Yes | enum (present, tardy, absent, excused) |
present_coef | Yes | decimal |
note | No | text |
kiosk_id | No | int |
beacon_id | No | int |
device_id | No | int |
beacon_found_at | No | datetime |
attendance_hours | No | decimal |
clinical_hours | 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/attendance/detail" \
-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/attendance/detail',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/attendance/detail',
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/attendance/detail"), 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/attendance/detail');
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": 12,
"first_name": "Alice",
"last_name": "Admin",
"middle_name": "",
"prefix": "Mrs.",
"suffix": null,
"preferred_name": null,
"display_name": "Alice Admin",
"gender": "female",
"other_gender": null,
"image_file_id": null,
"birth_date": null,
"status": "active",
"social_security_number": null,
"alien_registration_number": null,
"social_insurance_number": null,
"home_city": null,
"home_state": null,
"home_country": null,
"former_name": null,
"license_plate": null,
"bio": null,
"hispanic_latino": false,
"resident_alien": false,
"localization_id": null,
"notification_email_id": null,
"deceased_date": null,
"import_id": null,
"staff_id": null,
"faculty_id": null,
"degree_level_id": null,
"added_at": null,
"added_by_id": null,
"updated_at": null,
"report_data": {
"dummy_id": "20220xx002",
"academic_term_id": 8,
"term_name": "Spring 2010 2009-2010",
"course_offering_id": 21910,
"course_name": "LAT101-1: Beginning Latin I",
"meeting_summary": "Main class",
"meeting_start_time": "2022-10-01 01:00:00",
"meeting_end_time": "2022-10-01 02:30:00",
"attendance_status": "PRESENT",
"attendance_method": "",
"attendance_note": null,
"attendance_added_at": null,
"attendance_added_by": null,
"row_id": "12_3"
},
"private_profile": false,
"is_user": true
}
],
"sandbox": true
}
Retrieves all CourseAttendance objects that match given filter conditions.
HTTP Request
GET /attendance/detail
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 |
---|---|
student | search |
student_course_status | course_student_status |
has_active_student_role | has_active_student_role |
student_program | program |
student_campus | campus |
academic_term | academic_term |
academic_year | academic_year |
course | search |
catalog_course | search |
primary_faculty | faculty |
event_start_time | datetime |
method | choice |
status | choice |
tag | tag |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
- Academic Auditor
CourseDeliveryMethod
The CourseDeliveryMethod object
The CourseDeliveryMethod object looks like this in JSON:
{
"object": "course_delivery_method",
"id": 5,
"name": "Hybrid Online",
"distance_education": false,
"status": "active",
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (255) |
distance_education | Yes | bool |
status | Yes | enum (active, deleted, retired) |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/coursedeliverymethods" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/coursedeliverymethods',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/coursedeliverymethods',
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/coursedeliverymethods"), 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/coursedeliverymethods');
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": "course_delivery_method",
"id": 5,
"name": "Hybrid Online",
"distance_education": false,
"status": "active",
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all CourseDeliveryMethod objects.
HTTP Request
GET /coursedeliverymethods
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/coursedeliverymethods/(coursedeliverymethod)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/coursedeliverymethods/(coursedeliverymethod)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/coursedeliverymethods/(coursedeliverymethod)',
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/coursedeliverymethods/(coursedeliverymethod)"), 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/coursedeliverymethods/(coursedeliverymethod)');
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": "course_delivery_method",
"id": 5,
"name": "Hybrid Online",
"distance_education": false,
"status": "active",
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific CourseDeliveryMethod object.
HTTP Request
GET /coursedeliverymethods/(coursedeliverymethod)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
CourseEvaluation
The CourseEvaluation object
The CourseEvaluation object looks like this in JSON:
{
"object": "course_evaluation",
"id": 3,
"name": "Course Evaluation 1",
"status": "active",
"added_at": "2012-10-05T19:36:30+00:00",
"added_by_id": 213204,
"updated_at": "2012-10-05T19:36:30+00:00",
"updated_by_id": 213204,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (100) |
status | Yes | enum (active, deleted) |
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/courseevaluations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseevaluations',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseevaluations',
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/courseevaluations"), 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/courseevaluations');
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": "course_evaluation",
"id": 3,
"name": "Course Evaluation 1",
"status": "active",
"added_at": "2012-10-05T19:36:30+00:00",
"added_by_id": 213204,
"updated_at": "2012-10-05T19:36:30+00:00",
"updated_by_id": 213204
}
],
"sandbox": true
}
Retrieves all CourseEvaluation objects.
HTTP Request
GET /courseevaluations
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseevaluations/(courseevaluation)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseevaluations/(courseevaluation)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseevaluations/(courseevaluation)',
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/courseevaluations/(courseevaluation)"), 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/courseevaluations/(courseevaluation)');
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": "course_evaluation",
"id": 3,
"name": "Course Evaluation 1",
"status": "active",
"added_at": "2012-10-05T19:36:30+00:00",
"added_by_id": 213204,
"updated_at": "2012-10-05T19:36:30+00:00",
"updated_by_id": 213204,
"sandbox": true
}
Retrieves a specific CourseEvaluation object.
HTTP Request
GET /courseevaluations/(courseevaluation)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- questions
Permissions
One of the following roles is required to call this method:
- Academic Admin
answers
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseevaluations/(courseevaluation)/answers" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"academic_term_id": 8
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseevaluations/(courseevaluation)/answers',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:academic_term_id => 8
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseevaluations/(courseevaluation)/answers',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'academic_term_id': 8
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/courseevaluations/(courseevaluation)/answers"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
academic_term_id = 8
});
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/courseevaluations/(courseevaluation)/answers');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'academic_term_id' => 8
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 0,
"results": 0,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [],
"sandbox": true
}
HTTP Request
GET /courseevaluations/(courseevaluation)/answers
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
academic_term_id | Yes |
Permissions
One of the following roles is required to call this method:
- Academic Admin
CourseGroup
The CourseGroup object
The CourseGroup object looks like this in JSON:
{
"object": "course_group",
"id": 1,
"name": "Undergrad Art",
"retired": false,
"added_at": null,
"added_by_id": 2010,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (150) |
retired | Yes | bool |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/coursegroups" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/coursegroups',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/coursegroups',
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/coursegroups"), 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/coursegroups');
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": "course_group",
"id": 1,
"name": "Undergrad Art",
"retired": false,
"added_at": null,
"added_by_id": 2010
}
],
"sandbox": true
}
Retrieves all CourseGroup objects.
HTTP Request
GET /coursegroups
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/coursegroups/(coursegroup)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/coursegroups/(coursegroup)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/coursegroups/(coursegroup)',
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/coursegroups/(coursegroup)"), 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/coursegroups/(coursegroup)');
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": "course_group",
"id": 1,
"name": "Undergrad Art",
"retired": false,
"added_at": null,
"added_by_id": 2010,
"sandbox": true
}
Retrieves a specific CourseGroup object.
HTTP Request
GET /coursegroups/(coursegroup)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
CourseGroupRequirement
The CourseGroupRequirement object
The CourseGroupRequirement object looks like this in JSON:
{
"object": "course_group_requirement",
"id": 1,
"course_group_id": 1,
"requirement_id": 1,
"type": "courses",
"value": 0,
"gpa": 2.5,
"grade_points": 3,
"allow_equivalencies": true,
"exclusively_apply_data": false,
"order_id": 1,
"course_group_name": "Undergrad Art",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
course_group_id | Yes | int |
requirement_id | Yes | int |
type | No | enum (units, courses, clinical_hours, attendance_hours) |
value | Yes | decimal |
gpa | No | decimal |
grade_points | No | decimal |
allow_equivalencies | Yes | bool |
exclusively_apply_data | Yes | bool |
order_id | Yes | int |
course_group_name | No | -- |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/coursegrouprequirements" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/coursegrouprequirements',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/coursegrouprequirements',
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/coursegrouprequirements"), 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/coursegrouprequirements');
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": "course_group_requirement",
"id": 1,
"course_group_id": 1,
"requirement_id": 1,
"type": "courses",
"value": 0,
"gpa": 2.5,
"grade_points": 3,
"allow_equivalencies": true,
"exclusively_apply_data": false,
"order_id": 1,
"course_group_name": "Undergrad Art"
}
],
"sandbox": true
}
Retrieves all CourseGroupRequirement objects.
HTTP Request
GET /coursegrouprequirements
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/coursegrouprequirements/(coursegrouprequirement)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/coursegrouprequirements/(coursegrouprequirement)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/coursegrouprequirements/(coursegrouprequirement)',
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/coursegrouprequirements/(coursegrouprequirement)"), 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/coursegrouprequirements/(coursegrouprequirement)');
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": "course_group_requirement",
"id": 1,
"course_group_id": 1,
"requirement_id": 1,
"type": "courses",
"value": 0,
"gpa": 2.5,
"grade_points": 3,
"allow_equivalencies": true,
"exclusively_apply_data": false,
"order_id": 1,
"course_group_name": "Undergrad Art",
"sandbox": true
}
Retrieves a specific CourseGroupRequirement object.
HTTP Request
GET /coursegrouprequirements/(coursegrouprequirement)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- academic_requirement
- course_group
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
CourseLesson
The CourseLesson object
The CourseLesson object looks like this in JSON:
{
"object": "course_lesson",
"id": 1,
"course_offering_id": 22746,
"name": "Lesson #1",
"content": null,
"available_at": "2025-04-14T23:32:08+00:00",
"sequential": false,
"orderid": 1,
"close_discussions": null,
"import_id": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | No | int |
course_offering_id | Yes | int |
name | Yes | text (255) |
content | Yes | text |
available_at | No | datetime |
sequential | Yes | bool |
orderid | Yes | int |
close_discussions | No | datetime |
import_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/courseofferings/(courseoffering)/lessons" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/lessons',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/lessons',
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/courseofferings/(courseoffering)/lessons"), 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/courseofferings/(courseoffering)/lessons');
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": "course_lesson",
"id": 3,
"course_offering_id": 21908,
"name": "Lesson #1",
"content": null,
"available_at": "2025-04-14T23:32:08+00:00",
"sequential": false,
"orderid": 2,
"close_discussions": null,
"import_id": null,
"num_discussions": 0,
"num_new_posts": 0,
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all CourseLesson objects tied to a specific Courseoffering.
HTTP Request
GET /courseofferings/(courseoffering)/lessons
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Registrar
- Academic Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/lessons/(courselesson)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/lessons/(courselesson)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/lessons/(courselesson)',
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/courseofferings/(courseoffering)/lessons/(courselesson)"), 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/courseofferings/(courseoffering)/lessons/(courselesson)');
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": "course_lesson",
"id": 3,
"course_offering_id": 21908,
"name": "Lesson #1",
"content": null,
"available_at": "2025-04-14T23:32:08+00:00",
"sequential": false,
"orderid": 2,
"close_discussions": null,
"import_id": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific CourseLesson object.
HTTP Request
GET /courseofferings/(courseoffering)/lessons/(courselesson)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- pages
- links
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Registrar
- Academic Admin
CourseMeeting
The CourseMeeting object
The CourseMeeting object looks like this in JSON:
{
"object": "course_meeting",
"id": 1,
"course_offering_id": 1,
"summary": "Main class",
"start_at": "2022-10-04T08:00:00+00:00",
"end_at": "2022-10-04T09:30:00+00:00",
"room_id": 1,
"counts_toward_attendance_hours": true,
"counts_toward_clinical_hours": true,
"status": "active",
"present_until": null,
"tardy_until": null,
"beacon_active": false,
"is_online": false,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
course_offering_id | Yes | int |
summary | Yes | text (50) |
start_at | Yes | datetime |
end_at | Yes | datetime |
room_id | Yes | int |
counts_toward_attendance_hours | Yes | bool |
counts_toward_clinical_hours | Yes | bool |
status | Yes | enum (active, deleted) |
present_until | No | datetime |
tardy_until | No | datetime |
beacon_active | Yes | bool |
is_online | Yes | bool |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/coursemeetings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/coursemeetings',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/coursemeetings',
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/courseofferings/(courseoffering)/coursemeetings"), 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/courseofferings/(courseoffering)/coursemeetings');
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": "course_meeting",
"id": 2,
"course_offering_id": 21908,
"summary": "Main class",
"start_at": "2022-10-01T08:00:00+00:00",
"end_at": "2022-10-01T09:30:00+00:00",
"room_id": 1,
"counts_toward_attendance_hours": true,
"counts_toward_clinical_hours": true,
"status": "active",
"present_until": null,
"tardy_until": null,
"beacon_active": false,
"is_online": false
}
],
"sandbox": true
}
Retrieves all CourseMeeting objects tied to a specific Courseoffering.
HTTP Request
GET /courseofferings/(courseoffering)/coursemeetings
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/coursemeetings/(coursemeeting)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/coursemeetings/(coursemeeting)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/coursemeetings/(coursemeeting)',
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/courseofferings/(courseoffering)/coursemeetings/(coursemeeting)"), 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/courseofferings/(courseoffering)/coursemeetings/(coursemeeting)');
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": "course_meeting",
"id": 2,
"course_offering_id": 21908,
"summary": "Main class",
"start_at": "2022-10-01T08:00:00+00:00",
"end_at": "2022-10-01T09:30:00+00:00",
"room_id": 1,
"counts_toward_attendance_hours": true,
"counts_toward_clinical_hours": true,
"status": "active",
"present_until": null,
"tardy_until": null,
"beacon_active": false,
"is_online": false,
"sandbox": true
}
Retrieves a specific CourseMeeting object.
HTTP Request
GET /courseofferings/(courseoffering)/coursemeetings/(coursemeeting)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- attendance
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
update_attendance
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)/attendance/update" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"start_time": "2022-10-15 08:00:00",
"status": "present",
"note": "Excused for doctor visit",
"keep_best_status": "true",
"counts_toward_attendance_hours": "true",
"counts_toward_clinical_hours": "false"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)/attendance/update',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:status => 'present'
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)/attendance/update',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'status': 'present'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)/attendance/update"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
status = "present"
});
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/courseofferings/(courseoffering)/students/(enrollment)/attendance/update');
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' => 'present'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{}
Updates the attendance attribute of an existing CourseMeeting object.
HTTP Request
PUT /courseofferings/(courseoffering)/students/(enrollment)/attendance/update
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
course_meeting_id | No | int | |
start_time | No | datetime | |
status | Yes | enum (present, tardy, absent, excused) | |
note | No | text | |
keep_best_status | No | bool | |
counts_toward_attendance_hours | No | bool | Default is true |
counts_toward_clinical_hours | No | bool | Default is true |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
CourseOffering
The CourseOffering object
The CourseOffering object looks like this in JSON:
{
"object": "course_offering",
"id": 21908,
"academic_term_id": 4,
"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": null,
"closed_to_students_date": null,
"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",
"show_progress_to_students": false,
"catalog_courses": [
{
"object": "catalog_course",
"id": 1,
"course_offering_id": 21908,
"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": [
{
"object": "course_delivery_method",
"id": 5,
"name": "Hybrid Online",
"distance_education": false,
"status": "active",
"primary": 1,
"added_at": null,
"added_by_id": null
}
],
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
academic_term_id | Yes | int |
campus_id | Yes | int |
finalized | Yes | bool |
finalized_at | No | datetime |
max_enrolled | No | int |
max_auditors | No | int |
roster_visibility | Yes | bool |
start_date | No | date |
end_date | No | date |
add_drop_time | No | datetime |
published | Yes | bool |
open_to_students_date | No | date |
closed_to_students_date | No | date |
course_evaluation_id | No | int |
evaluation_available_from | No | datetime |
evaluation_available_to | No | datetime |
evaluation_lock_grades_at | No | datetime |
evaluation_lock_grades_until | No | datetime |
evaluation_available_to_faculty | No | enum (not_available, available_after_60_percent_completion, available_after_60_percent_completion_and_course_finalized) |
faculty_can_manage_roster | Yes | bool |
faculty_can_override_enrollment | Yes | bool |
students_can_add_discussions | Yes | bool |
disable_student_bulletin_board_posts | Yes | bool |
allow_auditor_assignments | Yes | bool |
allow_auditor_attendance | Yes | bool |
waiting_list_management | Yes | enum (automatic, manual, none) |
show_progress_to_students | No | bool |
catalog_courses | No | Array of CatalogCourse objects |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"academic_term_id": 8,
"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/courseofferings',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:academic_term_id => 8
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'academic_term_id': 8
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/courseofferings"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
academic_term_id = 8
});
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/courseofferings');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'academic_term_id' => 8
]));
$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
}
Retrieves all CourseOffering objects that match given filter conditions.
HTTP Request
GET /courseofferings
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
academic_term_id | Yes | 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
- academic_term
- campus
- faculty
- schedule
- alternate_names
- supplies
- books
- teachers
- waiting_list
- grades
- meetings
- catalog_courses
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:
- Academic Auditor
- Academic Admin
- Registrar
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)',
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/courseofferings/(courseoffering)"), 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/courseofferings/(courseoffering)');
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": "course_offering",
"id": 21908,
"academic_term_id": 4,
"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": null,
"closed_to_students_date": null,
"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",
"show_progress_to_students": false,
"catalog_courses": [
{
"object": "catalog_course",
"id": 1,
"course_offering_id": 21908,
"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": [
{
"object": "course_delivery_method",
"id": 5,
"name": "Hybrid Online",
"distance_education": false,
"status": "active",
"primary": 1,
"added_at": null,
"added_by_id": null
}
],
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves a specific CourseOffering object.
HTTP Request
GET /courseofferings/(courseoffering)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- academic_term
- campus
- faculty
- schedule
- alternate_names
- supplies
- books
- teachers
- waiting_list
- grades
- meetings
- catalog_courses
Permissions
Any role may call this method.
calendar
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/calendar" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/calendar',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/calendar',
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/courseofferings/(courseoffering)/calendar"), 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/courseofferings/(courseoffering)/calendar');
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": 30,
"results": 30,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "course_event",
"event_id": "1",
"start": "2022-08-01 06:00:00",
"end": "2022-08-01 07:00:00",
"all_day": "0",
"name": "BR101: Main Class",
"summary": "BR101: Main Class",
"description": "",
"rfrequency": "WEEKLY",
"rinterval": "1",
"rcount": "0",
"rskips": "",
"runtil": "12\/31\/2022",
"rbyday": "MO,WE,FR",
"recurrence": "2022-08-01",
"busy": "1",
"room_id": "0",
"location": "",
"room_status": "NONE",
"is_closure": "0",
"url": null,
"calendar_name": "",
"owner_type": "INSTANCE",
"owner_id": 21908
}
]
}
HTTP Request
GET /courseofferings/(courseoffering)/calendar
Parameters
None
Permissions
Any role may call this method.
finalize
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/finalize" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/finalize',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/finalize',
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/courseofferings/(courseoffering)/finalize"), Method.Post);
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/courseofferings/(courseoffering)/finalize');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "course_offering",
"id": 21908,
"academic_term_id": 4,
"campus_id": 0,
"finalized": true,
"finalized_at": "2025-04-14T16:32:22+00:00",
"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": null,
"closed_to_students_date": null,
"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",
"show_progress_to_students": false,
"catalog_courses": [
{
"object": "catalog_course",
"id": 1,
"course_offering_id": 21908,
"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": [
{
"object": "course_delivery_method",
"id": 5,
"name": "Hybrid Online",
"distance_education": false,
"status": "active",
"primary": 1,
"added_at": null,
"added_by_id": null
}
],
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
HTTP Request
POST /courseofferings/(courseoffering)/finalize
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
syllabus
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/syllabus" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/syllabus',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/syllabus',
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/courseofferings/(courseoffering)/syllabus"), 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/courseofferings/(courseoffering)/syllabus');
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": "syllabus",
"id": 1,
"course_offering_catalog_course_id": 1,
"content": null,
"file_id": 1,
"draft": false,
"added_at": "2022-07-19T17:00:55+00:00",
"added_by_id": 10,
"updated_at": "2022-07-19T17:00:55+00:00",
"updated_by_id": 10,
"sandbox": true
}
HTTP Request
GET /courseofferings/(courseoffering)/syllabus
Parameters
None
Permissions
Any role may call this method.
Credit
The Credit object
The Credit object looks like this in JSON:
{
"object": "credit",
"id": 8,
"actor_type": "person",
"actor_id": 1,
"number": 2,
"description": null,
"transaction_id": 10,
"amount": 1234.56,
"due_on": "2009-04-07",
"status": null,
"posted_on": "2015-03-10",
"academic_term_id": null,
"items": [],
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
actor_type | Yes | enum (person, contact_org) |
actor_id | Yes | int |
number | Yes | int |
description | Yes | text |
transaction_id | Yes | int |
amount | Yes | decimal |
due_on | Yes | date |
status | No | enum (unpaid, paid, uncollectible) |
posted_on | No | date |
academic_term_id | Yes | int |
items | No | Array of InvoiceItem objects |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/credits" \
-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/credits',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/credits',
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/credits"), 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/credits');
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": "credit",
"id": 9,
"actor_type": "person",
"actor_id": 12,
"number": 3,
"description": null,
"transaction_id": 11,
"amount": 1234.56,
"due_on": "2009-04-07",
"status": null,
"report_data": {
"term_name": null,
"term_start_date": null,
"firstname": "Alice",
"lastname": "Admin",
"preferred_name": "",
"display_name": "Alice Admin",
"personid": 12,
"studentid": 12,
"posted_date": "2015-03-10",
"dummyid": "20220xx002"
},
"posted_on": "2015-03-10",
"academic_term_id": null,
"items": []
}
],
"sandbox": true
}
Retrieves all Credit objects that match given filter conditions.
HTTP Request
GET /credits
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
- items
- payments
- credits
- courses
- scheduled_aid
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
student | search |
credit_number | integer |
academic_term | academic_term |
posted_date | date |
total_amount | decimal |
student_campus | campus |
tag | tag |
added_time | datetime |
custom_field | custom |
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Admin
- Student Billing
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/credits/(credit)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/credits/(credit)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/credits/(credit)',
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/credits/(credit)"), 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/credits/(credit)');
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": "credit",
"id": 8,
"actor_type": "person",
"actor_id": 1,
"number": 2,
"description": null,
"transaction_id": 10,
"amount": 1234.56,
"due_on": "2009-04-07",
"status": null,
"posted_on": "2015-03-10",
"academic_term_id": null,
"items": [],
"sandbox": true
}
Retrieves a specific Credit object.
HTTP Request
GET /credits/(credit)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- items
- payments
- credits
- courses
- scheduled_aid
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Admin
- Student Billing
CustomInfoData
The CustomInfoData object
The CustomInfoData object looks like this in JSON:
{
"object": "custom_info_data",
"id": 1,
"custom_info_field_id": 11,
"academic_term_id": null,
"value": "Silver Ford Escape",
"owner_id": 1,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 11,
"name": "Car Model",
"input_type": "text_area",
"type": "person",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-01-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
custom_info_field_id | Yes | int |
academic_term_id | No | int |
value | Yes | text |
owner_id | Yes | int |
import_id | No | int |
custom_info_field | No | -- |
added_at | No | datetime |
added_by_id | No | int |
updated_at | No | datetime |
updated_by_id | No | int |
option_value | No | text |
sandbox | No | -- |
index (all types)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/custominfodata" \
-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/custominfodata',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/custominfodata',
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/custominfodata"), 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/custominfodata');
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": 27,
"results": 27,
"results_per_page": 200,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "custom_info_data",
"id": 8,
"custom_info_field_id": 18,
"academic_term_id": null,
"value": "159876",
"owner_id": 1,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 18,
"name": "Business membership number",
"input_type": "text_area",
"type": "organization",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-01-01T00:05:30+00:00",
"updated_by_id": 2,
"report_data": {
"name": "Business membership number",
"type": "CONTACT_ORG",
"input_type": "TEXT AREA",
"option_value": null
},
"option_value": null
}
],
"sandbox": true
}
Retrieves all CustomInfoData objects of all types. Requires both Financial and Academic admin roles.
HTTP Request
GET /custominfodata
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 |
---|---|
custom_info_field_id | integer |
name | text |
type | text |
input_type | text |
owner_id | integer |
academic_term_id | integer |
value | text |
import_id | integer |
added_at | datetime |
added_by | integer |
updated_at | datetime |
updated_by | integer |
Permissions
One of the following roles is required to call this method:
- Staff
index (donation)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/',
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/donations/(donation)/custominfodata/"), 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/donations/(donation)/custominfodata/');
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": "custom_info_data",
"id": 18,
"custom_info_field_id": 17,
"academic_term_id": null,
"value": "Books",
"owner_id": 6,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 17,
"name": "Proxy gift description",
"input_type": "text_area",
"type": "donation",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-01-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null
}
],
"sandbox": true
}
Retrieves all CustomInfoData objects tied to a specific Donation, tied to a specified Donation object.
HTTP Request
GET /donations/(donation)/custominfodata/
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show (donation)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)',
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/donations/(donation)/custominfodata/(custominfodata)"), 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/donations/(donation)/custominfodata/(custominfodata)');
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": "custom_info_data",
"id": 18,
"custom_info_field_id": 17,
"academic_term_id": null,
"value": "Books",
"owner_id": 6,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 17,
"name": "Proxy gift description",
"input_type": "text_area",
"type": "donation",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-01-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null,
"sandbox": true
}
Retrieves a specific CustomInfoData object, tied to a specified Donation object.
HTTP Request
GET /donations/(donation)/custominfodata/(custominfodata)
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:
- Staff
create (donation)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"custom_info_field_id": 17,
"value": "2002 Ford Focus"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:custom_info_field_id => 17,
:value => '2002 Ford Focus'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'custom_info_field_id': 17,
'value': '2002 Ford Focus'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
custom_info_field_id = 17,
value = "2002 Ford Focus"
});
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/donations/(donation)/custominfodata');
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([
'custom_info_field_id' => 17,
'value' => '2002 Ford Focus'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 18,
"custom_info_field_id": 17,
"academic_term_id": null,
"value": "2002 Ford Focus",
"owner_id": 6,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 17,
"name": "Proxy gift description",
"input_type": "text_area",
"type": "donation",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2025-04-14T23:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Creates a new CustomInfoData object, tied to a specified Donation object.
HTTP Request
POST /donations/(donation)/custominfodata
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
custom_info_field_id | Yes | int | |
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
update (donation)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"value": "1957 Chevy"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:value => '1957 Chevy'
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'value': '1957 Chevy'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
value = "1957 Chevy"
});
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/donations/(donation)/custominfodata/(custominfodata)');
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([
'value' => '1957 Chevy'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 18,
"custom_info_field_id": 17,
"academic_term_id": null,
"value": "1957 Chevy",
"owner_id": 6,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 17,
"name": "Proxy gift description",
"input_type": "text_area",
"type": "donation",
"description": null,
"value_permissions": "default"
},
"added_at": "2021-12-31T16:05:30+00:00",
"added_by_id": 2,
"updated_at": "2025-04-14T16:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Updates an existing CustomInfoData object, tied to a specified Donation object.
HTTP Request
PUT /donations/(donation)/custominfodata/(custominfodata)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
delete (donation)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X DELETE
require 'httparty'
response = HTTParty.delete(
'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)',
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/donations/(donation)/custominfodata/(custominfodata)"), 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/donations/(donation)/custominfodata/(custominfodata)');
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": "custom_info_data",
"id": 18,
"deleted": true
}
Deletes an existing CustomInfoData object, tied to a specified Donation object.
HTTP Request
DELETE /donations/(donation)/custominfodata/(custominfodata)
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:
- Staff
index (donor)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/',
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/donors/(donor)/custominfodata/"), 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/donors/(donor)/custominfodata/');
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": "custom_info_data",
"id": 19,
"custom_info_field_id": 20,
"academic_term_id": null,
"value": "Special",
"owner_id": 14,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 20,
"name": "VIP",
"input_type": "text_area",
"type": "donor",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-01-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null
}
],
"sandbox": true
}
Retrieves all CustomInfoData objects tied to a specific Donor, tied to a specified Donor object.
HTTP Request
GET /donors/(donor)/custominfodata/
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show (donor)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)',
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/donors/(donor)/custominfodata/(custominfodata)"), 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/donors/(donor)/custominfodata/(custominfodata)');
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": "custom_info_data",
"id": 19,
"custom_info_field_id": 20,
"academic_term_id": null,
"value": "Special",
"owner_id": 14,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 20,
"name": "VIP",
"input_type": "text_area",
"type": "donor",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-01-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null,
"sandbox": true
}
Retrieves a specific CustomInfoData object, tied to a specified Donor object.
HTTP Request
GET /donors/(donor)/custominfodata/(custominfodata)
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:
- Staff
create (donor)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"custom_info_field_id": 20,
"value": "Exempt"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:custom_info_field_id => 20,
:value => 'Exempt'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'custom_info_field_id': 20,
'value': 'Exempt'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
custom_info_field_id = 20,
value = "Exempt"
});
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/donors/(donor)/custominfodata');
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([
'custom_info_field_id' => 20,
'value' => 'Exempt'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 19,
"custom_info_field_id": 20,
"academic_term_id": null,
"value": "Exempt",
"owner_id": 14,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 20,
"name": "VIP",
"input_type": "text_area",
"type": "donor",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2025-04-14T23:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Creates a new CustomInfoData object, tied to a specified Donor object.
HTTP Request
POST /donors/(donor)/custominfodata
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
custom_info_field_id | Yes | int | |
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
update (donor)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"value": "Special"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:value => 'Special'
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'value': 'Special'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
value = "Special"
});
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/donors/(donor)/custominfodata/(custominfodata)');
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([
'value' => 'Special'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 19,
"custom_info_field_id": 20,
"academic_term_id": null,
"value": "Special",
"owner_id": 14,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 20,
"name": "VIP",
"input_type": "text_area",
"type": "donor",
"description": null,
"value_permissions": "default"
},
"added_at": "2021-12-31T16:05:30+00:00",
"added_by_id": 2,
"updated_at": "2021-12-31T16:05:30+00:00",
"updated_by_id": 2,
"option_value": null,
"sandbox": true
}
Updates an existing CustomInfoData object, tied to a specified Donor object.
HTTP Request
PUT /donors/(donor)/custominfodata/(custominfodata)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
delete (donor)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X DELETE
require 'httparty'
response = HTTParty.delete(
'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)',
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/donors/(donor)/custominfodata/(custominfodata)"), 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/donors/(donor)/custominfodata/(custominfodata)');
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": "custom_info_data",
"id": 19,
"deleted": true
}
Deletes an existing CustomInfoData object, tied to a specified Donor object.
HTTP Request
DELETE /donors/(donor)/custominfodata/(custominfodata)
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:
- Staff
index (organization)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata" \
-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)/custominfodata',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata',
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)/custominfodata"), 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)/custominfodata');
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": "custom_info_data",
"id": 8,
"custom_info_field_id": 18,
"academic_term_id": null,
"value": "159876",
"owner_id": 1,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 18,
"name": "Business membership number",
"input_type": "text_area",
"type": "organization",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-01-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null
}
],
"sandbox": true
}
Retrieves all CustomInfoData objects tied to a specific Organization, tied to a specified Organization object.
HTTP Request
GET /organizations/(organization)/custominfodata
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show (organization)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)" \
-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)/custominfodata/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)',
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)/custominfodata/(custominfodata)"), 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)/custominfodata/(custominfodata)');
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": "custom_info_data",
"id": 8,
"custom_info_field_id": 18,
"academic_term_id": null,
"value": "159876",
"owner_id": 1,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 18,
"name": "Business membership number",
"input_type": "text_area",
"type": "organization",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-01-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null,
"sandbox": true
}
Retrieves a specific CustomInfoData object, tied to a specified Organization object.
HTTP Request
GET /organizations/(organization)/custominfodata/(custominfodata)
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:
- Staff
create (organization)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"custom_info_field_id": 18,
"value": "555400"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:custom_info_field_id => 18,
:value => '555400'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'custom_info_field_id': 18,
'value': '555400'
}
)
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)/custominfodata"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
custom_info_field_id = 18,
value = "555400"
});
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)/custominfodata');
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([
'custom_info_field_id' => 18,
'value' => '555400'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 8,
"custom_info_field_id": 18,
"academic_term_id": null,
"value": "555400",
"owner_id": 1,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 18,
"name": "Business membership number",
"input_type": "text_area",
"type": "organization",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2025-04-14T23:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Creates a new CustomInfoData object, tied to a specified Organization object.
HTTP Request
POST /organizations/(organization)/custominfodata
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
custom_info_field_id | Yes | int | |
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
update (organization)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"value": "555771"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:value => '555771'
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'value': '555771'
}
)
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)/custominfodata/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
value = "555771"
});
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)/custominfodata/(custominfodata)');
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([
'value' => '555771'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 8,
"custom_info_field_id": 18,
"academic_term_id": null,
"value": "555771",
"owner_id": 1,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 18,
"name": "Business membership number",
"input_type": "text_area",
"type": "organization",
"description": null,
"value_permissions": "default"
},
"added_at": "2021-12-31T16:05:30+00:00",
"added_by_id": 2,
"updated_at": "2025-04-14T16:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Updates an existing CustomInfoData object, tied to a specified Organization object.
HTTP Request
PUT /organizations/(organization)/custominfodata/(custominfodata)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
delete (organization)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)" \
-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)/custominfodata/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)',
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)/custominfodata/(custominfodata)"), 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)/custominfodata/(custominfodata)');
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": "custom_info_data",
"id": 8,
"deleted": true
}
Deletes an existing CustomInfoData object, tied to a specified Organization object.
HTTP Request
DELETE /organizations/(organization)/custominfodata/(custominfodata)
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:
- Staff
index (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata" \
-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)/custominfodata',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata',
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)/custominfodata"), 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)/custominfodata');
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": "custom_info_data",
"id": 30,
"custom_info_field_id": 11,
"academic_term_id": null,
"value": "Blue Honda Accord",
"owner_id": 12,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 11,
"name": "Car Model",
"input_type": "text_area",
"type": "person",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-02-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-03-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null
}
],
"sandbox": true
}
Retrieves all CustomInfoData objects tied to a specific Person, tied to a specified Person object.
HTTP Request
GET /people/(person)/custominfodata
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/(custominfodata)" \
-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)/custominfodata/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/(custominfodata)',
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)/custominfodata/(custominfodata)"), 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)/custominfodata/(custominfodata)');
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": "custom_info_data",
"id": 11,
"custom_info_field_id": 1,
"academic_term_id": null,
"value": "Robert",
"owner_id": 16,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 1,
"name": "Dad's name",
"input_type": "text",
"type": "person",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-01-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null,
"sandbox": true
}
Retrieves a specific CustomInfoData object, tied to a specified Person object.
HTTP Request
GET /people/(person)/custominfodata/(custominfodata)
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:
- Staff
create (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"custom_info_field_id": 1,
"value": "Robert"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:custom_info_field_id => 1,
:value => 'Robert'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'custom_info_field_id': 1,
'value': 'Robert'
}
)
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)/custominfodata"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
custom_info_field_id = 1,
value = "Robert"
});
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)/custominfodata');
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([
'custom_info_field_id' => 1,
'value' => 'Robert'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 37,
"custom_info_field_id": 1,
"academic_term_id": null,
"value": "Robert",
"owner_id": 12,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 1,
"name": "Dad's name",
"input_type": "text",
"type": "person",
"description": null,
"value_permissions": "default"
},
"added_at": "2025-04-14T23:32:14+00:00",
"added_by_id": 22,
"updated_at": "2025-04-14T23:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Creates a new CustomInfoData object, tied to a specified Person object.
HTTP Request
POST /people/(person)/custominfodata
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
custom_info_field_id | Yes | int | |
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
update (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/(custominfodata)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"value": "Robert"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:value => 'Robert'
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/(custominfodata)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'value': 'Robert'
}
)
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)/custominfodata/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
value = "Robert"
});
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)/custominfodata/(custominfodata)');
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([
'value' => 'Robert'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 11,
"custom_info_field_id": 1,
"academic_term_id": null,
"value": "Robert",
"owner_id": 16,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 1,
"name": "Dad's name",
"input_type": "text",
"type": "person",
"description": null,
"value_permissions": "default"
},
"added_at": "2021-12-31T16:05:30+00:00",
"added_by_id": 2,
"updated_at": "2021-12-31T16:05:30+00:00",
"updated_by_id": 2,
"option_value": null,
"sandbox": true
}
Updates an existing CustomInfoData object, tied to a specified Person object.
HTTP Request
PUT /people/(person)/custominfodata/(custominfodata)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
delete (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/(custominfodata)" \
-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)/custominfodata/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/(custominfodata)',
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)/custominfodata/(custominfodata)"), 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)/custominfodata/(custominfodata)');
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": "custom_info_data",
"id": 11,
"deleted": true
}
Deletes an existing CustomInfoData object, tied to a specified Person object.
HTTP Request
DELETE /people/(person)/custominfodata/(custominfodata)
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:
- Staff
index (admissions)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions" \
-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)/custominfodata/admissions',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions',
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)/custominfodata/admissions"), 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)/custominfodata/admissions');
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": "custom_info_data",
"id": 35,
"custom_info_field_id": 14,
"academic_term_id": null,
"value": "Rocky Road",
"owner_id": 12,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 14,
"name": "Favorite ice cream flavor",
"input_type": "text_area",
"type": "admissions",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-02-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-03-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null
}
],
"sandbox": true
}
Retrieves all CustomInfoData objects tied to a specific Person, of the admissions type, tied to a specified Person object.
HTTP Request
GET /people/(person)/custominfodata/admissions
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show (admissions)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions/(custominfodata)" \
-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)/custominfodata/admissions/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions/(custominfodata)',
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)/custominfodata/admissions/(custominfodata)"), 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)/custominfodata/admissions/(custominfodata)');
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": "custom_info_data",
"id": 15,
"custom_info_field_id": 14,
"academic_term_id": null,
"value": "Vanilla",
"owner_id": 16,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 14,
"name": "Favorite ice cream flavor",
"input_type": "text_area",
"type": "admissions",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-01-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null,
"sandbox": true
}
Retrieves a specific CustomInfoData object, of the admissions type, tied to a specified Person object.
HTTP Request
GET /people/(person)/custominfodata/admissions/(custominfodata)
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:
- Staff
create (admissions)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"custom_info_field_id": 14,
"value": "Chocolate"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:custom_info_field_id => 14,
:value => 'Chocolate'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'custom_info_field_id': 14,
'value': 'Chocolate'
}
)
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)/custominfodata/admissions"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
custom_info_field_id = 14,
value = "Chocolate"
});
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)/custominfodata/admissions');
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([
'custom_info_field_id' => 14,
'value' => 'Chocolate'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 35,
"custom_info_field_id": 14,
"academic_term_id": null,
"value": "Chocolate",
"owner_id": 12,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 14,
"name": "Favorite ice cream flavor",
"input_type": "text_area",
"type": "admissions",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-02-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2025-04-14T23:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Creates a new CustomInfoData object, of the admissions type, tied to a specified Person object.
HTTP Request
POST /people/(person)/custominfodata/admissions
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
custom_info_field_id | Yes | int | |
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
update (admissions)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions/(custominfodata)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"value": "Rocky Road"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:value => 'Rocky Road'
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions/(custominfodata)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'value': 'Rocky Road'
}
)
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)/custominfodata/admissions/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
value = "Rocky Road"
});
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)/custominfodata/admissions/(custominfodata)');
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([
'value' => 'Rocky Road'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 15,
"custom_info_field_id": 14,
"academic_term_id": null,
"value": "Rocky Road",
"owner_id": 16,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 14,
"name": "Favorite ice cream flavor",
"input_type": "text_area",
"type": "admissions",
"description": null,
"value_permissions": "default"
},
"added_at": "2021-12-31T16:05:30+00:00",
"added_by_id": 2,
"updated_at": "2025-04-14T16:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Updates an existing CustomInfoData object, of the admissions type, tied to a specified Person object.
HTTP Request
PUT /people/(person)/custominfodata/admissions/(custominfodata)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
delete (admissions)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions/(custominfodata)" \
-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)/custominfodata/admissions/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions/(custominfodata)',
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)/custominfodata/admissions/(custominfodata)"), 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)/custominfodata/admissions/(custominfodata)');
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": "custom_info_data",
"id": 15,
"deleted": true
}
Deletes an existing CustomInfoData object, of the admissions type, tied to a specified Person object.
HTTP Request
DELETE /people/(person)/custominfodata/admissions/(custominfodata)
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:
- Staff
index (campus life)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife" \
-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)/custominfodata/campuslife',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife',
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)/custominfodata/campuslife"), 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)/custominfodata/campuslife');
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": "custom_info_data",
"id": 36,
"custom_info_field_id": 19,
"academic_term_id": null,
"value": "Seahawks",
"owner_id": 12,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 19,
"name": "Preferred sports team",
"input_type": "text_area",
"type": "campus_life",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-02-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-03-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null
}
],
"sandbox": true
}
Retrieves all CustomInfoData objects tied to a specific Person, of the campus life type, tied to a specified Person object.
HTTP Request
GET /people/(person)/custominfodata/campuslife
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show (campus life)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife/(custominfodata)" \
-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)/custominfodata/campuslife/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife/(custominfodata)',
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)/custominfodata/campuslife/(custominfodata)"), 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)/custominfodata/campuslife/(custominfodata)');
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": "custom_info_data",
"id": 20,
"custom_info_field_id": 19,
"academic_term_id": null,
"value": "Tigers",
"owner_id": 16,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 19,
"name": "Preferred sports team",
"input_type": "text_area",
"type": "campus_life",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-01-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null,
"sandbox": true
}
Retrieves a specific CustomInfoData object, of the campus life type, tied to a specified Person object.
HTTP Request
GET /people/(person)/custominfodata/campuslife/(custominfodata)
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:
- Staff
create (campus life)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"custom_info_field_id": 19,
"value": "Patriots"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:custom_info_field_id => 19,
:value => 'Patriots'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'custom_info_field_id': 19,
'value': 'Patriots'
}
)
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)/custominfodata/campuslife"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
custom_info_field_id = 19,
value = "Patriots"
});
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)/custominfodata/campuslife');
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([
'custom_info_field_id' => 19,
'value' => 'Patriots'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 20,
"custom_info_field_id": 19,
"academic_term_id": null,
"value": "Patriots",
"owner_id": 16,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 19,
"name": "Preferred sports team",
"input_type": "text_area",
"type": "campus_life",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2025-04-14T23:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Creates a new CustomInfoData object, of the campus life type, tied to a specified Person object.
HTTP Request
POST /people/(person)/custominfodata/campuslife
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
custom_info_field_id | Yes | int | |
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
update (campus life)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife/(custominfodata)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"value": "Hawks"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:value => 'Hawks'
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife/(custominfodata)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'value': 'Hawks'
}
)
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)/custominfodata/campuslife/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
value = "Hawks"
});
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)/custominfodata/campuslife/(custominfodata)');
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([
'value' => 'Hawks'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 20,
"custom_info_field_id": 19,
"academic_term_id": null,
"value": "Hawks",
"owner_id": 16,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 19,
"name": "Preferred sports team",
"input_type": "text_area",
"type": "campus_life",
"description": null,
"value_permissions": "default"
},
"added_at": "2021-12-31T16:05:30+00:00",
"added_by_id": 2,
"updated_at": "2025-04-14T16:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Updates an existing CustomInfoData object, of the campus life type, tied to a specified Person object.
HTTP Request
PUT /people/(person)/custominfodata/campuslife/(custominfodata)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
delete (campus life)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife/(custominfodata)" \
-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)/custominfodata/campuslife/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife/(custominfodata)',
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)/custominfodata/campuslife/(custominfodata)"), 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)/custominfodata/campuslife/(custominfodata)');
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": "custom_info_data",
"id": 20,
"deleted": true
}
Deletes an existing CustomInfoData object, of the campus life type, tied to a specified Person object.
HTTP Request
DELETE /people/(person)/custominfodata/campuslife/(custominfodata)
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:
- Staff
index (financial)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial" \
-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)/custominfodata/financial',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial',
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)/custominfodata/financial"), 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)/custominfodata/financial');
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": "custom_info_data",
"id": 33,
"custom_info_field_id": 16,
"academic_term_id": null,
"value": "Silver dollar",
"owner_id": 12,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 16,
"name": "Favorite coin",
"input_type": "text_area",
"type": "financial",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-02-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-03-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null
}
],
"sandbox": true
}
Retrieves all CustomInfoData objects tied to a specific Person, of the financial type, tied to a specified Person object.
HTTP Request
GET /people/(person)/custominfodata/financial
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show (financial)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial/(custominfodata)" \
-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)/custominfodata/financial/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial/(custominfodata)',
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)/custominfodata/financial/(custominfodata)"), 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)/custominfodata/financial/(custominfodata)');
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": "custom_info_data",
"id": 16,
"custom_info_field_id": 16,
"academic_term_id": null,
"value": "Gold",
"owner_id": 16,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 16,
"name": "Favorite coin",
"input_type": "text_area",
"type": "financial",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-01-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null,
"sandbox": true
}
Retrieves a specific CustomInfoData object, of the financial type, tied to a specified Person object.
HTTP Request
GET /people/(person)/custominfodata/financial/(custominfodata)
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:
- Staff
create (financial)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"custom_info_field_id": 16,
"value": "Silver"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:custom_info_field_id => 16,
:value => 'Silver'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'custom_info_field_id': 16,
'value': 'Silver'
}
)
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)/custominfodata/financial"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
custom_info_field_id = 16,
value = "Silver"
});
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)/custominfodata/financial');
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([
'custom_info_field_id' => 16,
'value' => 'Silver'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 33,
"custom_info_field_id": 16,
"academic_term_id": null,
"value": "Silver",
"owner_id": 12,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 16,
"name": "Favorite coin",
"input_type": "text_area",
"type": "financial",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-02-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2025-04-14T23:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Creates a new CustomInfoData object, of the financial type, tied to a specified Person object.
HTTP Request
POST /people/(person)/custominfodata/financial
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
custom_info_field_id | Yes | int | |
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
update (financial)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial/(custominfodata)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"value": "Gold"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:value => 'Gold'
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial/(custominfodata)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'value': 'Gold'
}
)
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)/custominfodata/financial/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
value = "Gold"
});
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)/custominfodata/financial/(custominfodata)');
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([
'value' => 'Gold'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 16,
"custom_info_field_id": 16,
"academic_term_id": null,
"value": "Gold",
"owner_id": 16,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 16,
"name": "Favorite coin",
"input_type": "text_area",
"type": "financial",
"description": null,
"value_permissions": "default"
},
"added_at": "2021-12-31T16:05:30+00:00",
"added_by_id": 2,
"updated_at": "2021-12-31T16:05:30+00:00",
"updated_by_id": 2,
"option_value": null,
"sandbox": true
}
Updates an existing CustomInfoData object, of the financial type, tied to a specified Person object.
HTTP Request
PUT /people/(person)/custominfodata/financial/(custominfodata)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
delete (financial)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial/(custominfodata)" \
-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)/custominfodata/financial/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial/(custominfodata)',
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)/custominfodata/financial/(custominfodata)"), 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)/custominfodata/financial/(custominfodata)');
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": "custom_info_data",
"id": 16,
"deleted": true
}
Deletes an existing CustomInfoData object, of the financial type, tied to a specified Person object.
HTTP Request
DELETE /people/(person)/custominfodata/financial/(custominfodata)
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:
- Staff
index (financial aid)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid" \
-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)/custominfodata/financialaid',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid',
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)/custominfodata/financialaid"), 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)/custominfodata/financialaid');
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": "custom_info_data",
"id": 34,
"custom_info_field_id": 15,
"academic_term_id": null,
"value": "Cosigned",
"owner_id": 12,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 15,
"name": "Favorite kind of loan",
"input_type": "text_area",
"type": "financial_aid",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-02-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-03-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null
}
],
"sandbox": true
}
Retrieves all CustomInfoData objects tied to a specific Person, of the financial aid type, tied to a specified Person object.
HTTP Request
GET /people/(person)/custominfodata/financialaid
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show (financial aid)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid/(custominfodata)" \
-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)/custominfodata/financialaid/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid/(custominfodata)',
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)/custominfodata/financialaid/(custominfodata)"), 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)/custominfodata/financialaid/(custominfodata)');
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": "custom_info_data",
"id": 14,
"custom_info_field_id": 15,
"academic_term_id": null,
"value": "Forgiven",
"owner_id": 16,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 15,
"name": "Favorite kind of loan",
"input_type": "text_area",
"type": "financial_aid",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-01-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null,
"sandbox": true
}
Retrieves a specific CustomInfoData object, of the financial aid type, tied to a specified Person object.
HTTP Request
GET /people/(person)/custominfodata/financialaid/(custominfodata)
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:
- Staff
create (financial aid)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"custom_info_field_id": 15,
"value": "Grant"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:custom_info_field_id => 15,
:value => 'Grant'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'custom_info_field_id': 15,
'value': 'Grant'
}
)
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)/custominfodata/financialaid"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
custom_info_field_id = 15,
value = "Grant"
});
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)/custominfodata/financialaid');
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([
'custom_info_field_id' => 15,
'value' => 'Grant'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 34,
"custom_info_field_id": 15,
"academic_term_id": null,
"value": "Grant",
"owner_id": 12,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 15,
"name": "Favorite kind of loan",
"input_type": "text_area",
"type": "financial_aid",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-02-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2025-04-14T23:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Creates a new CustomInfoData object, of the financial aid type, tied to a specified Person object.
HTTP Request
POST /people/(person)/custominfodata/financialaid
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
custom_info_field_id | Yes | int | |
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
update (financial aid)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid/(custominfodata)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"value": "Grant"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:value => 'Grant'
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid/(custominfodata)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'value': 'Grant'
}
)
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)/custominfodata/financialaid/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
value = "Grant"
});
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)/custominfodata/financialaid/(custominfodata)');
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([
'value' => 'Grant'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 14,
"custom_info_field_id": 15,
"academic_term_id": null,
"value": "Grant",
"owner_id": 16,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 15,
"name": "Favorite kind of loan",
"input_type": "text_area",
"type": "financial_aid",
"description": null,
"value_permissions": "default"
},
"added_at": "2021-12-31T16:05:30+00:00",
"added_by_id": 2,
"updated_at": "2025-04-14T16:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Updates an existing CustomInfoData object, of the financial aid type, tied to a specified Person object.
HTTP Request
PUT /people/(person)/custominfodata/financialaid/(custominfodata)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
delete (financial aid)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid/(custominfodata)" \
-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)/custominfodata/financialaid/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid/(custominfodata)',
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)/custominfodata/financialaid/(custominfodata)"), 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)/custominfodata/financialaid/(custominfodata)');
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": "custom_info_data",
"id": 14,
"deleted": true
}
Deletes an existing CustomInfoData object, of the financial aid type, tied to a specified Person object.
HTTP Request
DELETE /people/(person)/custominfodata/financialaid/(custominfodata)
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:
- Staff
index (student)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "custom_info_data",
"id": 31,
"custom_info_field_id": 12,
"academic_term_id": null,
"value": "English",
"owner_id": 12,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 12,
"name": "Favorite school subject",
"input_type": "text_area",
"type": "student",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-02-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-03-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null
}
],
"sandbox": true
}
Retrieves all CustomInfoData objects tied to a specific Person, of the student type, tied to a specified Person object.
HTTP Request
GET /people/(person)/custominfodata/student
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show (student)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student/(custominfodata)" \
-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)/custominfodata/student/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student/(custominfodata)',
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)/custominfodata/student/(custominfodata)"), 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)/custominfodata/student/(custominfodata)');
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": "custom_info_data",
"id": 12,
"custom_info_field_id": 12,
"academic_term_id": null,
"value": "Mathematics",
"owner_id": 16,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 12,
"name": "Favorite school subject",
"input_type": "text_area",
"type": "student",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-01-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null,
"sandbox": true
}
Retrieves a specific CustomInfoData object, of the student type, tied to a specified Person object.
HTTP Request
GET /people/(person)/custominfodata/student/(custominfodata)
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:
- Staff
create (student)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"custom_info_field_id": 12,
"value": "Spanish"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:custom_info_field_id => 12,
:value => 'Spanish'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'custom_info_field_id': 12,
'value': 'Spanish'
}
)
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)/custominfodata/student"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
custom_info_field_id = 12,
value = "Spanish"
});
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)/custominfodata/student');
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([
'custom_info_field_id' => 12,
'value' => 'Spanish'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 31,
"custom_info_field_id": 12,
"academic_term_id": null,
"value": "Spanish",
"owner_id": 12,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 12,
"name": "Favorite school subject",
"input_type": "text_area",
"type": "student",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-02-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2025-04-14T23:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Creates a new CustomInfoData object, of the student type, tied to a specified Person object.
HTTP Request
POST /people/(person)/custominfodata/student
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
custom_info_field_id | Yes | int | |
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
update (student)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student/(custominfodata)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"value": "Mathematics"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:value => 'Mathematics'
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student/(custominfodata)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'value': 'Mathematics'
}
)
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)/custominfodata/student/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
value = "Mathematics"
});
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)/custominfodata/student/(custominfodata)');
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([
'value' => 'Mathematics'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 12,
"custom_info_field_id": 12,
"academic_term_id": null,
"value": "Mathematics",
"owner_id": 16,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 12,
"name": "Favorite school subject",
"input_type": "text_area",
"type": "student",
"description": null,
"value_permissions": "default"
},
"added_at": "2021-12-31T16:05:30+00:00",
"added_by_id": 2,
"updated_at": "2021-12-31T16:05:30+00:00",
"updated_by_id": 2,
"option_value": null,
"sandbox": true
}
Updates an existing CustomInfoData object, of the student type, tied to a specified Person object.
HTTP Request
PUT /people/(person)/custominfodata/student/(custominfodata)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
delete (student)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student/(custominfodata)" \
-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)/custominfodata/student/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student/(custominfodata)',
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)/custominfodata/student/(custominfodata)"), 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)/custominfodata/student/(custominfodata)');
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": "custom_info_data",
"id": 12,
"deleted": true
}
Deletes an existing CustomInfoData object, of the student type, tied to a specified Person object.
HTTP Request
DELETE /people/(person)/custominfodata/student/(custominfodata)
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:
- Staff
index (term student)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(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)/custominfodata/term/(academicterm)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(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)/custominfodata/term/(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)/custominfodata/term/(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": "list",
"count": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "custom_info_data",
"id": 32,
"custom_info_field_id": 13,
"academic_term_id": 8,
"value": "Blue",
"owner_id": 12,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 13,
"name": "Favorite color",
"input_type": "text_area",
"type": "term_student",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-02-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-03-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null
}
],
"sandbox": true
}
Retrieves all CustomInfoData objects tied to a specific Person, of the term student type, tied to a specified Person object.
HTTP Request
GET /people/(person)/custominfodata/term/(academicterm)
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show (term student)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)/(custominfodata)" \
-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)/custominfodata/term/(academicterm)/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)/(custominfodata)',
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)/custominfodata/term/(academicterm)/(custominfodata)"), 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)/custominfodata/term/(academicterm)/(custominfodata)');
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": "custom_info_data",
"id": 17,
"custom_info_field_id": 13,
"academic_term_id": 8,
"value": "Green",
"owner_id": 16,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 13,
"name": "Favorite color",
"input_type": "text_area",
"type": "term_student",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-01-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2022-01-01T00:05:30+00:00",
"updated_by_id": 2,
"option_value": null,
"sandbox": true
}
Retrieves a specific CustomInfoData object, of the term student type, tied to a specified Person object.
HTTP Request
GET /people/(person)/custominfodata/term/(academicterm)/(custominfodata)
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:
- Staff
create (term student)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"custom_info_field_id": 13,
"value": "Yellow"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:custom_info_field_id => 13,
:value => 'Yellow'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'custom_info_field_id': 13,
'value': 'Yellow'
}
)
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)/custominfodata/term/(academicterm)"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
custom_info_field_id = 13,
value = "Yellow"
});
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)/custominfodata/term/(academicterm)');
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([
'custom_info_field_id' => 13,
'value' => 'Yellow'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 32,
"custom_info_field_id": 13,
"academic_term_id": 8,
"value": "Yellow",
"owner_id": 12,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 13,
"name": "Favorite color",
"input_type": "text_area",
"type": "term_student",
"description": null,
"value_permissions": "default"
},
"added_at": "2022-02-01T00:05:30+00:00",
"added_by_id": 2,
"updated_at": "2025-04-14T23:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Creates a new CustomInfoData object, of the term student type, tied to a specified Person object.
HTTP Request
POST /people/(person)/custominfodata/term/(academicterm)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
custom_info_field_id | Yes | int | |
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
update (term student)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)/(custominfodata)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"value": "Blue"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:value => 'Blue'
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)/(custominfodata)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'value': 'Blue'
}
)
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)/custominfodata/term/(academicterm)/(custominfodata)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
value = "Blue"
});
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)/custominfodata/term/(academicterm)/(custominfodata)');
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([
'value' => 'Blue'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "custom_info_data",
"id": 17,
"custom_info_field_id": 13,
"academic_term_id": 8,
"value": "Blue",
"owner_id": 16,
"import_id": null,
"custom_info_field": {
"object": "custom_info_field",
"id": 13,
"name": "Favorite color",
"input_type": "text_area",
"type": "term_student",
"description": null,
"value_permissions": "default"
},
"added_at": "2021-12-31T16:05:30+00:00",
"added_by_id": 2,
"updated_at": "2025-04-14T16:32:14+00:00",
"updated_by_id": 22,
"option_value": null,
"sandbox": true
}
Updates an existing CustomInfoData object, of the term student type, tied to a specified Person object.
HTTP Request
PUT /people/(person)/custominfodata/term/(academicterm)/(custominfodata)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
value | Yes | text |
Permissions
One of the following roles is required to call this method:
- Staff
delete (term student)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)/(custominfodata)" \
-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)/custominfodata/term/(academicterm)/(custominfodata)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/people/(person)/custominfodata/term/(academicterm)/(custominfodata)',
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)/custominfodata/term/(academicterm)/(custominfodata)"), 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)/custominfodata/term/(academicterm)/(custominfodata)');
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": "custom_info_data",
"id": 17,
"deleted": true
}
Deletes an existing CustomInfoData object, of the term student type, tied to a specified Person object.
HTTP Request
DELETE /people/(person)/custominfodata/term/(academicterm)/(custominfodata)
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:
- Staff
CustomInfoField
The CustomInfoField object
See example response for details.
index (admissions)
Example code to call this method:
Example response:
{
"object": "list",
"count": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "custom_info_field",
"id": 14,
"name": "Favorite ice cream flavor",
"input_type": "text_area",
"type": "admissions",
"description": null,
"value_permissions": "default"
}
],
"sandbox": true
}
Retrieves all CustomInfoField objects, of the admissions type.
HTTP Request
GET /admissionscustominfofields
Parameters
None
Permissions
One of the following roles is required to call this method:
- Admissions Admin
show (admissions)
Example code to call this method:
Example response:
{
"object": "custom_info_field",
"id": 14,
"name": "Favorite ice cream flavor",
"input_type": "text_area",
"type": "admissions",
"description": null,
"value_permissions": "default",
"sandbox": true
}
Retrieves a specific CustomInfoField object, of the admissions type.
HTTP Request
GET /admissionscustominfofields/(admissionscustominfofield)
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:
- Admissions Admin
index (campus life)
Example code to call this method:
Example response:
{
"object": "list",
"count": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "custom_info_field",
"id": 19,
"name": "Preferred sports team",
"input_type": "text_area",
"type": "campus_life",
"description": null,
"value_permissions": "default"
}
],
"sandbox": true
}
Retrieves all CustomInfoField objects, of the campus life type.
HTTP Request
GET /campuslifecustominfofields
Parameters
None
show (campus life)
Example code to call this method:
Example response:
{
"object": "custom_info_field",
"id": 19,
"name": "Preferred sports team",
"input_type": "text_area",
"type": "campus_life",
"description": null,
"value_permissions": "default",
"sandbox": true
}
Retrieves a specific CustomInfoField object, of the campus life type.
HTTP Request
GET /campuslifecustominfofields/(campuslifecustominfofield)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
index (donation)
Example code to call this method:
Example response:
{
"object": "list",
"count": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "custom_info_field",
"id": 17,
"name": "Proxy gift description",
"input_type": "text_area",
"type": "donation",
"description": null,
"value_permissions": "default"
}
],
"sandbox": true
}
Retrieves all CustomInfoField objects, of the donation type.
HTTP Request
GET /donationcustominfofields
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Admin
show (donation)
Example code to call this method:
Example response:
{
"object": "custom_info_field",
"id": 17,
"name": "Proxy gift description",
"input_type": "text_area",
"type": "donation",
"description": null,
"value_permissions": "default",
"sandbox": true
}
Retrieves a specific CustomInfoField object, of the donation type.
HTTP Request
GET /donationcustominfofields/(donationcustominfofield)
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:
- Financial Admin
index (donor)
Example code to call this method:
Example response:
{
"object": "list",
"count": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "custom_info_field",
"id": 20,
"name": "VIP",
"input_type": "text_area",
"type": "donor",
"description": null,
"value_permissions": "default"
}
],
"sandbox": true
}
Retrieves all CustomInfoField objects, of the donor type.
HTTP Request
GET /donorcustominfofields
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Admin
show (donor)
Example code to call this method:
Example response:
{
"object": "custom_info_field",
"id": 20,
"name": "VIP",
"input_type": "text_area",
"type": "donor",
"description": null,
"value_permissions": "default",
"sandbox": true
}
Retrieves a specific CustomInfoField object, of the donor type.
HTTP Request
GET /donorcustominfofields/(donorcustominfofield)
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:
- Financial Admin
index (financial aid)
Example code to call this method:
Example response:
{
"object": "list",
"count": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "custom_info_field",
"id": 15,
"name": "Favorite kind of loan",
"input_type": "text_area",
"type": "financial_aid",
"description": null,
"value_permissions": "default"
}
],
"sandbox": true
}
Retrieves all CustomInfoField objects, of the financial aid type.
HTTP Request
GET /financialaidcustominfofields
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Student Billing
- Financial Aid
show (financial aid)
Example code to call this method:
Example response:
{
"object": "custom_info_field",
"id": 15,
"name": "Favorite kind of loan",
"input_type": "text_area",
"type": "financial_aid",
"description": null,
"value_permissions": "default",
"sandbox": true
}
Retrieves a specific CustomInfoField object, of the financial aid type.
HTTP Request
GET /financialaidcustominfofields/(financialaidcustominfofield)
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:
- Financial Aid
index (financial)
Example code to call this method:
Example response:
{
"object": "list",
"count": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "custom_info_field",
"id": 16,
"name": "Favorite coin",
"input_type": "text_area",
"type": "financial",
"description": null,
"value_permissions": "default"
}
],
"sandbox": true
}
Retrieves all CustomInfoField objects, of the financial type.
HTTP Request
GET /financialcustominfofields
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Admin
show (financial)
Example code to call this method:
Example response:
{
"object": "custom_info_field",
"id": 16,
"name": "Favorite coin",
"input_type": "text_area",
"type": "financial",
"description": null,
"value_permissions": "default",
"sandbox": true
}
Retrieves a specific CustomInfoField object, of the financial type.
HTTP Request
GET /financialcustominfofields/(financialcustominfofield)
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:
- Financial Admin
index (organization)
Example code to call this method:
Example response:
{
"object": "list",
"count": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "custom_info_field",
"id": 18,
"name": "Business membership number",
"input_type": "text_area",
"type": "organization",
"description": null,
"value_permissions": "default"
}
],
"sandbox": true
}
Retrieves all CustomInfoField objects, of the organization type.
HTTP Request
GET /organizationcustominfofields
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show (organization)
Example code to call this method:
Example response:
{
"object": "custom_info_field",
"id": 18,
"name": "Business membership number",
"input_type": "text_area",
"type": "organization",
"description": null,
"value_permissions": "default",
"sandbox": true
}
Retrieves a specific CustomInfoField object, of the organization type.
HTTP Request
GET /organizationcustominfofields/(organizationcustominfofield)
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:
- Staff
index (person)
Example code to call this method:
Example response:
{
"object": "list",
"count": 11,
"results": 11,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "custom_info_field",
"id": 10,
"name": "Another decimal?",
"input_type": "decimal",
"type": "person",
"description": null,
"value_permissions": "default"
}
],
"sandbox": true
}
Retrieves all CustomInfoField objects, of the person type.
HTTP Request
GET /personcustominfofields
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show (person)
Example code to call this method:
Example response:
{
"object": "custom_info_field",
"id": 10,
"name": "Another decimal?",
"input_type": "decimal",
"type": "person",
"description": null,
"value_permissions": "default",
"sandbox": true
}
Retrieves a specific CustomInfoField object, of the person type.
HTTP Request
GET /personcustominfofields/(personcustominfofield)
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:
- Staff
index (student)
Example code to call this method:
Example response:
{
"object": "list",
"count": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "custom_info_field",
"id": 12,
"name": "Favorite school subject",
"input_type": "text_area",
"type": "student",
"description": null,
"value_permissions": "default"
}
],
"sandbox": true
}
Retrieves all CustomInfoField objects, of the student type.
HTTP Request
GET /studentcustominfofields
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Admin
show (student)
Example code to call this method:
Example response:
{
"object": "custom_info_field",
"id": 12,
"name": "Favorite school subject",
"input_type": "text_area",
"type": "student",
"description": null,
"value_permissions": "default",
"sandbox": true
}
Retrieves a specific CustomInfoField object, of the student type.
HTTP Request
GET /studentcustominfofields/(studentcustominfofield)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Academic Admin
index (term student)
Example code to call this method:
Example response:
{
"object": "list",
"count": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "custom_info_field",
"id": 13,
"name": "Favorite color",
"input_type": "text_area",
"type": "term_student",
"description": null,
"value_permissions": "default"
}
],
"sandbox": true
}
Retrieves all CustomInfoField objects, of the term student type.
HTTP Request
GET /termstudentcustominfofields
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Admin
show (term student)
Example code to call this method:
Example response:
{
"object": "custom_info_field",
"id": 13,
"name": "Favorite color",
"input_type": "text_area",
"type": "term_student",
"description": null,
"value_permissions": "default",
"sandbox": true
}
Retrieves a specific CustomInfoField object, of the term student type.
HTTP Request
GET /termstudentcustominfofields/(termstudentcustominfofield)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Academic Admin
DataSlicerReport
The DataSlicerReport object
The DataSlicerReport object looks like this in JSON:
{
"object": "data_slicer_report",
"id": 30,
"name": "SAT Writing Report",
"added_at": "2019-09-25T22:38:35+00:00",
"added_by_id": 2921,
"updated_at": null,
"updated_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (255) |
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/dataslicerreports" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/dataslicerreports',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/dataslicerreports',
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/dataslicerreports"), 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/dataslicerreports');
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": "data_slicer_report",
"id": 30,
"name": "SAT Writing Report",
"added_at": "2019-09-25T22:38:35+00:00",
"added_by_id": 2921,
"updated_at": null,
"updated_by_id": null
}
],
"sandbox": true
}
Retrieves all DataSlicerReport objects.
HTTP Request
GET /dataslicerreports
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Academic Auditor
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/dataslicerreports/(dataslicerreport)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/dataslicerreports/(dataslicerreport)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/dataslicerreports/(dataslicerreport)',
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/dataslicerreports/(dataslicerreport)"), 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/dataslicerreports/(dataslicerreport)');
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": "data_slicer_report",
"id": 30,
"name": "SAT Writing Report",
"added_at": "2019-09-25T22:38:35+00:00",
"added_by_id": 2921,
"updated_at": null,
"updated_by_id": null,
"sandbox": true
}
Retrieves a specific DataSlicerReport object.
HTTP Request
GET /dataslicerreports/(dataslicerreport)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Academic Auditor
results
curl "https://yourschool.populiweb.com/api2/dataslicerreports/(dataslicerreport)/results" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"export_format": "CSV"
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/dataslicerreports/(dataslicerreport)/results',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/dataslicerreports/(dataslicerreport)/results',
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/dataslicerreports/(dataslicerreport)/results"), 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/dataslicerreports/(dataslicerreport)/results');
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:
{}
Runs the specified Data Slicer report and returns the results as XLS, CSV, or JSON. All results in CSV or XLS format. 10,000 results per page in JSON
HTTP Request
GET /dataslicerreports/(dataslicerreport)/results
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
export_format | No | text | Export Format can be JSON, CSV, or XLS |
page | No | int |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Academic Auditor
This is a heavy call. For performance reasons, only one heavy call may be made at a time.
DeclinedReason
The DeclinedReason object
The DeclinedReason object looks like this in JSON:
{
"object": "declined_reason",
"id": 6,
"name": "Athletics",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (255) |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/declinedreasons" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/declinedreasons',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/declinedreasons',
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/declinedreasons"), 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/declinedreasons');
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": 7,
"results": 7,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "declined_reason",
"id": 6,
"name": "Athletics"
}
],
"sandbox": true
}
Retrieves all DeclinedReason objects.
HTTP Request
GET /declinedreasons
Parameters
None
Permissions
One of the following roles is required to call this method:
- Admissions
- Admissions Admin
- Development
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/declinedreasons/(declinedreason)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/declinedreasons/(declinedreason)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/declinedreasons/(declinedreason)',
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/declinedreasons/(declinedreason)"), 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/declinedreasons/(declinedreason)');
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": "declined_reason",
"id": 6,
"name": "Athletics",
"sandbox": true
}
Retrieves a specific DeclinedReason object.
HTTP Request
GET /declinedreasons/(declinedreason)
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:
- Admissions
- Admissions Admin
- Development
Degree
The Degree object
The Degree object looks like this in JSON:
{
"object": "degree",
"id": 1,
"program_id": 1,
"degree_level_id": 1,
"department_id": 1,
"name": "Bachelor of Arts Degree in Liberal Arts and Culture",
"description": "Bachelor of Arts Degree in Liberal Arts and Culture",
"abbrv": "B.A.",
"diploma": 1,
"status": "active",
"cip_code": "24.0101",
"unit": "credits",
"distance_education": false,
"length": null,
"length_unit": "years",
"external_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
program_id | Yes | int |
degree_level_id | No | int |
department_id | Yes | int |
name | Yes | text (250) |
description | No | text |
abbrv | Yes | text (100) |
diploma | No | -- |
status | Yes | enum (construction, active, retired) |
cip_code | Yes | text (20) |
unit | Yes | enum (credits, hours) |
distance_education | Yes | bool |
length | No | int |
length_unit | No | enum (years, months, weeks) |
external_id | No | text (100) |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/degrees" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"level","value":1,"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/degrees',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/degrees',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/degrees"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/degrees');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 2,
"results": 2,
"results_per_page": 200,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "degree",
"id": 1,
"program_id": 1,
"degree_level_id": 1,
"department_id": 1,
"name": "Bachelor of Arts Degree in Liberal Arts and Culture",
"description": "Bachelor of Arts Degree in Liberal Arts and Culture",
"abbrv": "B.A.",
"diploma": 1,
"status": "active",
"cip_code": "24.0101",
"unit": "credits",
"distance_education": false,
"length": null,
"length_unit": "years",
"external_id": null,
"report_data": {
"department_name": "Undergraduate",
"program_name": "Undergraduate",
"formatted_cip_code": null,
"degree_level_name": "Doctoral Degree - Professional Practice"
}
}
],
"sandbox": true
}
Retrieves all Degree objects that match given filter conditions.
HTTP Request
GET /degrees
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
filter | No | mixed | See available filter conditions |
page | No | int | The page of results to return if more than 200 records are found. |
Expandable Properties
- specializations
- academic_requirements
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
program | program |
status | enum |
department | object id |
diploma | bool |
level | base_object id |
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/degrees/(degree)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/degrees/(degree)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/degrees/(degree)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/degrees/(degree)"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/degrees/(degree)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "degree",
"id": 1,
"program_id": 1,
"degree_level_id": 1,
"department_id": 1,
"name": "Bachelor of Arts Degree in Liberal Arts and Culture",
"description": "Bachelor of Arts Degree in Liberal Arts and Culture",
"abbrv": "B.A.",
"diploma": 1,
"status": "active",
"cip_code": "24.0101",
"unit": "credits",
"distance_education": false,
"length": null,
"length_unit": "years",
"external_id": null,
"sandbox": true
}
Retrieves a specific Degree object.
HTTP Request
GET /degrees/(degree)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- specializations
- academic_requirements
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
students
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/degrees/(degree)/students" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": []
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/degrees/(degree)/students',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/degrees/(degree)/students',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/degrees/(degree)/students"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/degrees/(degree)/students');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 2,
"results": 2,
"results_per_page": 200,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "person",
"id": 16,
"first_name": "Abby",
"last_name": "Admin",
"middle_name": "",
"prefix": null,
"suffix": null,
"preferred_name": null,
"display_name": "Abby Admin",
"gender": "female",
"other_gender": null,
"image_file_id": null,
"birth_date": null,
"status": "active",
"social_security_number": null,
"alien_registration_number": null,
"social_insurance_number": null,
"home_city": null,
"home_state": null,
"home_country": null,
"former_name": null,
"license_plate": null,
"bio": null,
"hispanic_latino": false,
"resident_alien": false,
"localization_id": null,
"notification_email_id": null,
"deceased_date": null,
"import_id": null,
"staff_id": null,
"faculty_id": null,
"degree_level_id": null,
"added_at": null,
"added_by_id": null,
"updated_at": "2025-04-14T23:32:14+00:00",
"report_data": {
"person_id": 16,
"active_roles": "4,5,7,14",
"username": "academic.admin",
"primary_address_street": null,
"primary_address_city": null,
"primary_address_state": null,
"primary_address_country": null,
"is_alum": 0,
"primary_org_title": null,
"primary_org_name": null,
"contact_primary_email": "football@nowhere.co",
"contact_primary_phone": "333.555.6666 x 091",
"visible_student_id": "20220xx001"
},
"private_profile": false,
"is_user": true
}
],
"sandbox": true
}
HTTP Request
GET /degrees/(degree)/students
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
filter | No | mixed | See available filter conditions |
page | No | int | The page of results to return if more than 200 records are found. |
Expandable Properties
- specializations
- academic_requirements
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
age | integer |
degree | integer |
degree_level | integer |
last_active | date |
program | integer |
specialization | integer |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
DegreeLevel
The DegreeLevel object
The DegreeLevel object looks like this in JSON:
{
"object": "degree_level",
"id": 1,
"name": "Doctoral Degree - Professional Practice",
"graduate": 1,
"abbrv": "DOCTORAL_PROFESSIONAL",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | No | int |
name | Yes | text (100) |
graduate | No | -- |
abbrv | No | text (50) |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/degreelevels" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/degreelevels',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/degreelevels',
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/degreelevels"), 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/degreelevels');
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": 11,
"results": 11,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "degree_level",
"id": 1,
"name": "Doctoral Degree - Professional Practice",
"graduate": 1,
"abbrv": "DOCTORAL_PROFESSIONAL"
}
],
"sandbox": true
}
Retrieves all DegreeLevel objects.
HTTP Request
GET /degreelevels
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/degreelevels/(degreelevel)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/degreelevels/(degreelevel)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/degreelevels/(degreelevel)',
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/degreelevels/(degreelevel)"), 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/degreelevels/(degreelevel)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "degree_level",
"id": 1,
"name": "Doctoral Degree - Professional Practice",
"graduate": 1,
"abbrv": "DOCTORAL_PROFESSIONAL",
"sandbox": true
}
Retrieves a specific DegreeLevel object.
HTTP Request
GET /degreelevels/(degreelevel)
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:
- Staff
students
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/degreelevels/(degreelevel)/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/degreelevels/(degreelevel)/students',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/degreelevels/(degreelevel)/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/degreelevels/(degreelevel)/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/degreelevels/(degreelevel)/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": 3,
"results": 3,
"results_per_page": 200,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "person",
"id": 16,
"first_name": "Abby",
"last_name": "Admin",
"middle_name": "",
"prefix": null,
"suffix": null,
"preferred_name": null,
"display_name": "Abby Admin",
"gender": "female",
"other_gender": null,
"image_file_id": null,
"birth_date": null,
"status": "active",
"social_security_number": null,
"alien_registration_number": null,
"social_insurance_number": null,
"home_city": null,
"home_state": null,
"home_country": null,
"former_name": null,
"license_plate": null,
"bio": null,
"hispanic_latino": false,
"resident_alien": false,
"localization_id": null,
"notification_email_id": null,
"deceased_date": null,
"import_id": null,
"staff_id": null,
"faculty_id": null,
"degree_level_id": null,
"added_at": null,
"added_by_id": null,
"updated_at": "2025-04-14T23:32:18+00:00",
"report_data": {
"person_id": 16,
"active_roles": "4,5,7,14",
"username": "academic.admin",
"primary_address_street": null,
"primary_address_city": null,
"primary_address_state": null,
"primary_address_country": null,
"is_alum": 0,
"primary_org_title": null,
"primary_org_name": null,
"contact_primary_email": "football@nowhere.co",
"contact_primary_phone": "(333) 555-6666 x 091",
"visible_student_id": "20220xx001"
},
"private_profile": false,
"is_user": true
}
],
"sandbox": true
}
HTTP Request
GET /degreelevels/(degreelevel)/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. |
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
age | integer |
degree | integer |
degree_level | integer |
last_active | date |
program | integer |
specialization | integer |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
- Academic Auditor
Department
The Department object
The Department object looks like this in JSON:
{
"object": "department",
"id": 1,
"name": "Undergraduate",
"status": "active",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (255) |
status | Yes | enum (active, deleted) |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/departments" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/departments',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/departments',
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/departments"), 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/departments');
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": "department",
"id": 1,
"name": "Undergraduate",
"status": "active"
}
],
"sandbox": true
}
Retrieves all Department objects.
HTTP Request
GET /departments
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/departments/(department)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/departments/(department)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/departments/(department)',
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/departments/(department)"), 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/departments/(department)');
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": "department",
"id": 1,
"name": "Undergraduate",
"status": "active",
"sandbox": true
}
Retrieves a specific Department object.
HTTP Request
GET /departments/(department)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Academic Admin
DisciplineType
The DisciplineType object
The DisciplineType object looks like this in JSON:
{
"object": "discipline_type",
"id": 5,
"name": "Warning",
"report_as": "warning",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (100) |
report_as | No | enum (warning, probation, suspension, expulsion) |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/disciplinetypes" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/disciplinetypes',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/disciplinetypes',
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/disciplinetypes"), 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/disciplinetypes');
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": "discipline_type",
"id": 5,
"name": "Warning",
"report_as": "warning"
}
],
"sandbox": true
}
Retrieves all DisciplineType objects.
HTTP Request
GET /disciplinetypes
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Discipline
- Development
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/disciplinetypes/(disciplinetype)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/disciplinetypes/(disciplinetype)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/disciplinetypes/(disciplinetype)',
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/disciplinetypes/(disciplinetype)"), 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/disciplinetypes/(disciplinetype)');
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": "discipline_type",
"id": 5,
"name": "Warning",
"report_as": "warning",
"sandbox": true
}
Retrieves a specific DisciplineType object.
HTTP Request
GET /disciplinetypes/(disciplinetype)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Discipline
- Development
DonatePage
The DonatePage object
The DonatePage object looks like this in JSON:
{
"object": "donate_page",
"id": 30,
"name": "Special Page",
"title": null,
"content": null,
"fund_direction": "any",
"fund_id": 2,
"split_fund_id": null,
"split_fund_amount": null,
"campaign_id": null,
"appeal_id": null,
"amount_type": "variable",
"min_amount": 0,
"amount_choices": null,
"fixed_amount": 0,
"status": "active",
"thank_you_type": "default",
"thank_you_message": null,
"thank_you_url": null,
"send_receipt_email": true,
"enable_comment": true,
"custom_css": null,
"allow_recurring": true,
"allow_cover_processing_fee": true,
"payment_gateway_id": null,
"added_at": "2014-02-20T00:47:28+00:00",
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | No | text (300) |
title | No | text (300) |
content | No | text |
fund_direction | Yes | enum (any, single, multi) |
fund_id | No | int |
split_fund_id | No | int |
split_fund_amount | No | decimal |
campaign_id | No | int |
appeal_id | No | int |
amount_type | Yes | enum (variable, choices, fixed, choices_variable) |
min_amount | No | decimal |
amount_choices | No | text (1000) |
fixed_amount | No | decimal |
status | Yes | enum (active, deleted) |
thank_you_type | Yes | enum (default, message, redirect) |
thank_you_message | No | text |
thank_you_url | No | text (2000) |
send_receipt_email | Yes | bool |
enable_comment | Yes | bool |
custom_css | No | text |
allow_recurring | Yes | bool |
allow_cover_processing_fee | No | bool |
payment_gateway_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/donatepages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/donatepages',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/donatepages',
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/donatepages"), 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/donatepages');
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": "donate_page",
"id": 30,
"name": "Special Page",
"title": null,
"content": null,
"fund_direction": "any",
"fund_id": 2,
"split_fund_id": null,
"split_fund_amount": null,
"campaign_id": null,
"appeal_id": null,
"amount_type": "variable",
"min_amount": 0,
"amount_choices": null,
"fixed_amount": 0,
"status": "active",
"thank_you_type": "default",
"thank_you_message": null,
"thank_you_url": null,
"send_receipt_email": true,
"enable_comment": true,
"custom_css": null,
"allow_recurring": true,
"allow_cover_processing_fee": true,
"payment_gateway_id": null,
"added_at": "2014-02-20T00:47:28+00:00",
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all DonatePage objects.
HTTP Request
GET /donatepages
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donatepages/(donatepage)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/donatepages/(donatepage)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/donatepages/(donatepage)',
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/donatepages/(donatepage)"), 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/donatepages/(donatepage)');
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": "donate_page",
"id": 30,
"name": "Special Page",
"title": null,
"content": null,
"fund_direction": "any",
"fund_id": 2,
"split_fund_id": null,
"split_fund_amount": null,
"campaign_id": null,
"appeal_id": null,
"amount_type": "variable",
"min_amount": 0,
"amount_choices": null,
"fixed_amount": 0,
"status": "active",
"thank_you_type": "default",
"thank_you_message": null,
"thank_you_url": null,
"send_receipt_email": true,
"enable_comment": true,
"custom_css": null,
"allow_recurring": true,
"allow_cover_processing_fee": true,
"payment_gateway_id": null,
"added_at": "2014-02-20T00:47:28+00:00",
"added_by_id": null,
"sandbox": true
}
Retrieves a specific DonatePage object.
HTTP Request
GET /donatepages/(donatepage)
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:
- Financial Admin
Donation
The Donation object
The Donation object looks like this in JSON:
{
"object": "donation",
"id": 6,
"transaction_id": 200,
"number": 43,
"canadian_donation_receipt_id": null,
"payment_method": "credit_card",
"payment_reference": null,
"online": true,
"online_payment_id": null,
"recurring": false,
"donor_id": null,
"first_name": "Bonny",
"last_name": "McMurry",
"initial_organization_name": null,
"phone_number": "444-7777",
"email_address": "bonny551@hotmail.co",
"donor_comment": null,
"staff_comment": null,
"gift_in_kind_description": null,
"acknowledged_at": null,
"acknowledged_by_id": null,
"secret": "16b97ef909e2f05dd1f16a3c2b0b8b6a",
"amount": 100,
"currency": "USD",
"exchange_rate": null,
"home_currency_amount": 100,
"donate_page_id": null,
"campaign_id": null,
"appeal_id": null,
"recurring_money_transfer_id": null,
"refunded_by_transaction_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
transaction_id | Yes | int |
number | No | int |
canadian_donation_receipt_id | No | int |
payment_method | No | enum (cash, check, credit_card, ach, money_order, gift_in_kind, other, external) |
payment_reference | No | text (300) |
online | No | -- |
online_payment_id | No | int |
recurring | No | -- |
donor_id | No | int |
first_name | No | text (100) |
last_name | No | text (100) |
initial_organization_name | No | -- |
phone_number | No | text (100) |
email_address | No | text (100) |
donor_comment | No | text |
staff_comment | No | text |
gift_in_kind_description | No | text |
acknowledged_at | No | datetime |
acknowledged_by_id | No | int |
secret | No | text (200) |
amount | Yes | decimal |
currency | No | text (3) |
exchange_rate | No | decimal |
home_currency_amount | Yes | decimal |
donate_page_id | No | int |
campaign_id | No | int |
appeal_id | No | int |
recurring_money_transfer_id | No | int |
refunded_by_transaction_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"posted_date","value":{"type":"RANGE","start":"2021-01-01","end":"2022-03-17"},"positive":1},{"name":"amount","value":{"type":"RANGE","start":"10.5","end":"900.15"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/donations',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/donations',
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/donations"), 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/donations');
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": "donation",
"id": 7,
"transaction_id": 13,
"number": 44,
"canadian_donation_receipt_id": null,
"payment_method": "credit_card",
"payment_reference": null,
"online": true,
"online_payment_id": null,
"recurring": false,
"donor_id": null,
"first_name": "Bobby",
"last_name": "Hilton",
"initial_organization_name": null,
"phone_number": "444-7777",
"email_address": "bobby662@yahoo.co",
"donor_comment": null,
"staff_comment": null,
"gift_in_kind_description": null,
"acknowledged_at": null,
"acknowledged_by_id": null,
"secret": "16b97ef909e2f02dd1f16a3c2b0b8b6a",
"amount": 100,
"currency": "USD",
"exchange_rate": null,
"home_currency_amount": 100,
"donate_page_id": null,
"campaign_id": null,
"appeal_id": null,
"recurring_money_transfer_id": 2,
"refunded_by_transaction_id": null,
"report_data": {
"posted_date": "2015-03-10",
"posted_year": 2015,
"added_at": "2015-03-10 19:33:11",
"fund_names": "Building Fund",
"fund_ids": "3",
"fund_breakdown": "7:3:100.00",
"acknowledged": null,
"donor_name": "Bobby Hilton",
"person_id": null,
"person_firstname": null,
"person_lastname": null,
"person_deceased": 0,
"contact_organization_id": null,
"contact_org_name": null,
"donor_model_type": null,
"donor_model_id": null,
"has_donor_model_id": 0,
"assigned_to_id": null,
"donor_primary_address_id": null,
"donor_street": null,
"donor_city": null,
"donor_state": null,
"donor_zip": null,
"donor_country": null,
"num_soft_credits": 0,
"export_helper_donation_id": 7,
"row_id": 7
}
}
],
"sandbox": true
}
Retrieves all Donation objects that match given filter conditions.
HTTP Request
GET /donations
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
- donor
- funds
- soft_credits
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
posted_date | date |
tax_year | integer |
donation_number | integer |
donor_name | text |
address_city | text |
address_state | state |
address_zip | text |
address_country | country |
donor_type | choice |
acknowledged | bool |
online_donation | bool |
online_donation_page | object id |
recurring_donation | bool |
campaign | object id |
appeal | object id |
fund | object id |
linked_to_donor | bool |
num_soft_credits | integer |
payment_method | enum |
amount | decimal |
donor_representative | object id |
donor_is_deceased | bool |
refunded | bool |
tag | tag |
donor_comment | text |
staff_comment | text |
custom_field | custom |
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Admin
- Donations
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"payment_method": "credit_card",
"amount": 40,
"funds": "{\"3\":40}",
"deposit_into_account_id": "56",
"posted_date": "2023-12-31",
"person_id": "344",
"organization_id": "48"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/donations',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:payment_method => 'credit_card',
:amount => 40,
:funds => {"3":40},
:deposit_into_account_id => '56'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/donations',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'payment_method': 'credit_card',
'amount': 40,
'funds': {"3":40},
'deposit_into_account_id': '56'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/donations"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
payment_method = "credit_card",
amount = 40,
funds = {"3":40},
deposit_into_account_id = "56"
});
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/donations');
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([
'payment_method' => 'credit_card',
'amount' => 40,
'funds' => {"3":40},
'deposit_into_account_id' => '56'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "donation",
"id": 21,
"transaction_id": 101,
"number": 1,
"canadian_donation_receipt_id": null,
"payment_method": "credit_card",
"payment_reference": null,
"online": false,
"online_payment_id": null,
"recurring": false,
"donor_id": null,
"first_name": null,
"last_name": null,
"initial_organization_name": null,
"phone_number": null,
"email_address": null,
"donor_comment": null,
"staff_comment": null,
"gift_in_kind_description": null,
"acknowledged_at": null,
"acknowledged_by_id": null,
"secret": "e4d59d06dab535970f04c0f958eec176",
"amount": 40,
"currency": "USD",
"exchange_rate": null,
"home_currency_amount": 40,
"donate_page_id": null,
"campaign_id": null,
"appeal_id": null,
"recurring_money_transfer_id": null,
"refunded_by_transaction_id": null,
"donor": null,
"funds": [
{
"object": "donation_fund",
"id": 8,
"donation_id": 21,
"fund_id": 3,
"amount": 40,
"home_currency_amount": 40
}
],
"sandbox": true
}
Creates a new Donation object.
HTTP Request
POST /donations
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
payment_method | Yes | enum (cash, check, credit_card, ach, money_order, gift_in_kind, other, external) | |
amount | Yes | decimal | |
funds | Yes | collection of fund_ids and amounts | |
deposit_into_account_id | Yes | int | |
org_name | No | text (100) | |
campaign_id | No | int | |
appeal_id | No | int | |
staff_comment | No | text | |
gift_in_kind_description | No | text | |
payment_reference | No | text (300) | |
posted_date | No | date | |
currency | No | text (3) | |
exchange_rate | No | decimal | |
person_id | No | int | |
organization_id | No | int |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Donations
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donations/(donation)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/donations/(donation)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/donations/(donation)',
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/donations/(donation)"), 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/donations/(donation)');
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": "donation",
"id": 6,
"transaction_id": 200,
"number": 43,
"canadian_donation_receipt_id": null,
"payment_method": "credit_card",
"payment_reference": null,
"online": true,
"online_payment_id": null,
"recurring": false,
"donor_id": null,
"first_name": "Bonny",
"last_name": "McMurry",
"initial_organization_name": null,
"phone_number": "444-7777",
"email_address": "bonny551@hotmail.co",
"donor_comment": null,
"staff_comment": null,
"gift_in_kind_description": null,
"acknowledged_at": null,
"acknowledged_by_id": null,
"secret": "16b97ef909e2f05dd1f16a3c2b0b8b6a",
"amount": 100,
"currency": "USD",
"exchange_rate": null,
"home_currency_amount": 100,
"donate_page_id": null,
"campaign_id": null,
"appeal_id": null,
"recurring_money_transfer_id": null,
"refunded_by_transaction_id": null,
"sandbox": true
}
Retrieves a specific Donation object.
HTTP Request
GET /donations/(donation)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- donor
- funds
- soft_credits
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Admin
- Donations
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donations/(donation)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/donations/(donation)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/donations/(donation)',
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/donations/(donation)"), 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/donations/(donation)');
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": "donation",
"id": 6,
"transaction_id": 200,
"number": 43,
"canadian_donation_receipt_id": null,
"payment_method": "credit_card",
"payment_reference": null,
"online": true,
"online_payment_id": null,
"recurring": false,
"donor_id": null,
"first_name": "Bonny",
"last_name": "McMurry",
"initial_organization_name": null,
"phone_number": "444-7777",
"email_address": "bonny551@hotmail.co",
"donor_comment": null,
"staff_comment": null,
"gift_in_kind_description": null,
"acknowledged_at": null,
"acknowledged_by_id": null,
"secret": "16b97ef909e2f05dd1f16a3c2b0b8b6a",
"amount": 100,
"currency": "USD",
"exchange_rate": null,
"home_currency_amount": 100,
"donate_page_id": null,
"campaign_id": null,
"appeal_id": null,
"recurring_money_transfer_id": null,
"refunded_by_transaction_id": null,
"sandbox": true
}
Updates an existing Donation object.
HTTP Request
PUT /donations/(donation)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
campaign_id | No | int | |
appeal_id | No | int | |
staff_comment | No | text | |
acknowledged_at | No | datetime | |
acknowledged_by | No | int |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Donations
link_to_owner
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donations/(donation)/link_to_owner" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"owner_type": "person",
"owner_id": 11
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/donations/(donation)/link_to_owner',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:owner_type => 'person',
:owner_id => 11
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/donations/(donation)/link_to_owner',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'owner_type': 'person',
'owner_id': 11
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/donations/(donation)/link_to_owner"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
owner_type = "person",
owner_id = 11
});
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/donations/(donation)/link_to_owner');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'owner_type' => 'person',
'owner_id' => 11
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "donation",
"id": 6,
"transaction_id": 200,
"number": 43,
"canadian_donation_receipt_id": null,
"payment_method": "credit_card",
"payment_reference": null,
"online": true,
"online_payment_id": null,
"recurring": false,
"donor_id": null,
"first_name": "Bonny",
"last_name": "McMurry",
"initial_organization_name": null,
"phone_number": "444-7777",
"email_address": "bonny551@hotmail.co",
"donor_comment": null,
"staff_comment": null,
"gift_in_kind_description": null,
"acknowledged_at": null,
"acknowledged_by_id": null,
"secret": "16b97ef909e2f05dd1f16a3c2b0b8b6a",
"amount": 100,
"currency": "USD",
"exchange_rate": null,
"home_currency_amount": 100,
"donate_page_id": null,
"campaign_id": null,
"appeal_id": null,
"recurring_money_transfer_id": null,
"refunded_by_transaction_id": null,
"donor": null,
"soft_credits": [],
"sandbox": true
}
HTTP Request
GET /donations/(donation)/link_to_owner
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
owner_type | Yes | enum | person OR contact_org |
owner_id | Yes | int | |
soft_credit | No | bool |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Donations
unlink_donor
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donations/(donation)/unlink_donor" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/donations/(donation)/unlink_donor',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/donations/(donation)/unlink_donor',
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/donations/(donation)/unlink_donor"), 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/donations/(donation)/unlink_donor');
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": "donation",
"id": 6,
"transaction_id": 200,
"number": 43,
"canadian_donation_receipt_id": null,
"payment_method": "credit_card",
"payment_reference": null,
"online": true,
"online_payment_id": null,
"recurring": false,
"donor_id": null,
"first_name": "Bonny",
"last_name": "McMurry",
"initial_organization_name": null,
"phone_number": "444-7777",
"email_address": "bonny551@hotmail.co",
"donor_comment": null,
"staff_comment": null,
"gift_in_kind_description": null,
"acknowledged_at": null,
"acknowledged_by_id": null,
"secret": "16b97ef909e2f05dd1f16a3c2b0b8b6a",
"amount": 100,
"currency": "USD",
"exchange_rate": null,
"home_currency_amount": 100,
"donate_page_id": null,
"campaign_id": null,
"appeal_id": null,
"recurring_money_transfer_id": null,
"refunded_by_transaction_id": null,
"sandbox": true
}
HTTP Request
GET /donations/(donation)/unlink_donor
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Donations
unlink_soft_credit
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donations/(donation)/unlink_soft_credit" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"donor_id": 14
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/donations/(donation)/unlink_soft_credit',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:donor_id => 14
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/donations/(donation)/unlink_soft_credit',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'donor_id': 14
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/donations/(donation)/unlink_soft_credit"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
donor_id = 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/donations/(donation)/unlink_soft_credit');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'donor_id' => 14
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "donation",
"id": 6,
"transaction_id": 200,
"number": 43,
"canadian_donation_receipt_id": null,
"payment_method": "credit_card",
"payment_reference": null,
"online": true,
"online_payment_id": null,
"recurring": false,
"donor_id": null,
"first_name": "Bonny",
"last_name": "McMurry",
"initial_organization_name": null,
"phone_number": "444-7777",
"email_address": "bonny551@hotmail.co",
"donor_comment": null,
"staff_comment": null,
"gift_in_kind_description": null,
"acknowledged_at": null,
"acknowledged_by_id": null,
"secret": "16b97ef909e2f05dd1f16a3c2b0b8b6a",
"amount": 100,
"currency": "USD",
"exchange_rate": null,
"home_currency_amount": 100,
"donate_page_id": null,
"campaign_id": null,
"appeal_id": null,
"recurring_money_transfer_id": null,
"refunded_by_transaction_id": null,
"soft_credits": [],
"sandbox": true
}
HTTP Request
GET /donations/(donation)/unlink_soft_credit
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
donor_id | Yes | int |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Donations
recurring
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donations/recurring" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"amount","value":{"type":"RANGE","start":"10.5","end":"900.15"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/donations/recurring',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/donations/recurring',
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/donations/recurring"), 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/donations/recurring');
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": "recurring_money_transfer",
"id": 2,
"type": "donation",
"donor_id": 1,
"student_id": null,
"payer_type": null,
"payer_id": null,
"payment_plan_student_id": null,
"treat_as_aid": false,
"pay_beyond_balance": false,
"payment_method": "credit_card",
"gateway_token_provider": "stripe",
"payment_gateway_id": null,
"gateway_customer_token": "cus_MLxeHuvTzFyb2N",
"gateway_source_token": "card_1Ld0FNGz1v34x3yFuC2B0L72",
"start_date": "2022-08-31",
"end_date": null,
"last_charged_on": "2022-09-16",
"last_attempt_at": null,
"last_attempt_by_id": null,
"interval": "1_month",
"day": true,
"max_additional_times": null,
"total_times_charged": 2,
"amount": 90,
"currency": "USD",
"secret": "bfb9d17fa8a24e02f864b12f5a732177",
"first_name": "Donny",
"last_name": "McDonor",
"org_name": null,
"email_address": "donnyd@yahoo.co",
"phone_number": "123-123-1234",
"street": "123 Street",
"city": "Moscow",
"state": "ID",
"postal": "83843",
"country": "US",
"last_digits": "4242",
"card_bin": null,
"card_is_international": false,
"bank_name": null,
"donation_campaign_id": 1,
"donation_appeal_id": null,
"donation_donate_page_id": null,
"donation_fund_id": 3,
"donation_split_fund_id": null,
"donation_split_fund_amount": 0,
"donation_staff_comment": "virtual terminal recurring test",
"status": "active",
"status_date": "2022-09-16",
"problem_message": null,
"cancel_type": null,
"times_left": null,
"fund_names": "Building Fund",
"donate_page_name": null,
"fund_ids": "|3|",
"donor_name": "Donny McDonor",
"donor_model_type": null,
"donor_model_id": null,
"donor_street": null,
"donor_city": null,
"donor_state": null,
"donor_zip": null,
"donor_country": null,
"campaign_name_cached": null,
"appeal_name_cached": null,
"assigned_to_id": null,
"donor_representative": null,
"person_first_name": null,
"person_last_name": null,
"contact_org_name": null,
"added_at": "2022-08-31T23:23:05+00:00",
"added_by_id": 10,
"updated_at": "2022-09-16T21:10:53+00:00",
"updated_by_id": 10
}
],
"sandbox": true
}
HTTP Request
GET /donations/recurring
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 |
---|---|
start_date | date |
end_date | date |
scheduled_to_end | choice |
last_charged_on | date |
day | integer |
donor_name | text |
donor_type | choice |
online_donation_page | object id |
campaign | object id |
appeal | object id |
fund | object id |
donor_representative | object id |
linked_to_donor | bool |
payment_method | enum |
times_charged | integer |
times_left | integer |
amount | decimal |
status | enum |
tag | tag |
custom_field | custom |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Donations
- Financial Auditor
Donor
The Donor object
The Donor object looks like this in JSON:
{
"object": "donor",
"id": 14,
"model_type": "person",
"model_id": 1747,
"assigned_to_id": null,
"status": "active",
"has_donations": true,
"import_id": null,
"added_at": "2020-02-11T17:29:44+00:00",
"added_by_id": 1257,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
model_type | No | enum (person, contact_org) |
model_id | No | int |
assigned_to_id | No | int |
status | Yes | enum (none, potential, active, inactive) |
has_donations | Yes | bool |
import_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/donors" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"num_donations","value":{"type":"RANGE","start":"1","end":"9"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/donors',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/donors',
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/donors"), 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/donors');
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 Donor objects that match given filter conditions.
HTTP Request
GET /donors
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 |
---|---|
donation_posted_date | date |
tax_year | integer |
name | text |
address_city | text |
address_state | state |
address_zip | text |
address_country | country |
text | |
phone | text |
model_type | choice |
status | enum |
is_deceased | bool |
assigned_representative | object id |
has_ever_donated | bool |
largest_donation | decimal |
num_donations | integer |
num_soft_credits | integer |
has_donation_from_campaign | object id |
has_donation_from_appeal | object id |
has_donation_to_fund | object id |
donation_amount | decimal |
soft_credit_amount | decimal |
donation_amount_including_soft_credits | decimal |
donation_posted_date_set_2 | date |
num_donations_set_2 | integer |
amount_set_2 | decimal |
campaign_set_2 | object id |
appeal_set_2 | object id |
fund_set_2 | object id |
set_amount_comparison | donors_amounts_comparison |
tag | tag |
custom_field | custom |
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Admin
- Donations
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/donors/(donor)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/donors/(donor)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/donors/(donor)',
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/donors/(donor)"), 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/donors/(donor)');
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": "donor",
"id": 14,
"model_type": "person",
"model_id": 1747,
"assigned_to_id": null,
"status": "active",
"has_donations": true,
"import_id": null,
"added_at": "2020-02-11T17:29:44+00:00",
"added_by_id": 1257,
"sandbox": true
}
Retrieves a specific Donor object.
HTTP Request
GET /donors/(donor)
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:
- Financial Auditor
- Financial Admin
- Donations
EducationLevel
The EducationLevel object
The EducationLevel object looks like this in JSON:
{
"object": "education_level",
"id": 1,
"name": "Less Than 9th Grade",
"abbrv": "9TH",
"order_id": 1,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (100) |
abbrv | Yes | char |
order_id | Yes | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/educationlevels" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/educationlevels',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/educationlevels',
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/educationlevels"), 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/educationlevels');
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": "education_level",
"id": 1,
"name": "Less Than 9th Grade",
"abbrv": "9TH",
"order_id": 1
}
],
"sandbox": true
}
Retrieves all EducationLevel objects.
HTTP Request
GET /educationlevels
Parameters
None
Permissions
Any role may call this method.
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/educationlevels/(educationlevel)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/educationlevels/(educationlevel)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/educationlevels/(educationlevel)',
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/educationlevels/(educationlevel)"), 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/educationlevels/(educationlevel)');
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": "education_level",
"id": 1,
"name": "Less Than 9th Grade",
"abbrv": "9TH",
"order_id": 1,
"sandbox": true
}
Retrieves a specific EducationLevel object.
HTTP Request
GET /educationlevels/(educationlevel)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
Any role may call this method.
EmailAddress
The EmailAddress object
The EmailAddress object looks like this in JSON:
{
"object": "email_address",
"id": 1,
"email": "testaddress@nowhere.com",
"owner_type": "person",
"owner_id": 1,
"type": "home",
"primary": false,
"old": false,
"system": false,
"public": true,
"synced_from": null,
"delivery_problem": null,
"delivery_problem_at": null,
"delivery_problem_info": null,
"verified_at": null,
"unsubscribed_at": null,
"import_id": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
Yes | text (255) | |
owner_type | Yes | enum (person, organization, inquiry, application) |
owner_id | Yes | int |
type | Yes | enum (home, work, other, school) |
primary | Yes | bool |
old | Yes | bool |
system | Yes | bool |
public | Yes | bool |
synced_from | Yes | int |
delivery_problem | No | enum (bounce, spam_report) |
delivery_problem_at | No | datetime |
delivery_problem_info | No | text (500) |
verified_at | No | datetime |
unsubscribed_at | No | -- |
import_id | No | int |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
resubscribe
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/emailaddresses/resubscribe" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"email": "coreycoors@yahoo.com"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/emailaddresses/resubscribe',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:email => 'coreycoors@yahoo.com'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/emailaddresses/resubscribe',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'email': 'coreycoors@yahoo.com'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/emailaddresses/resubscribe"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
email = "coreycoors@yahoo.com"
});
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/emailaddresses/resubscribe');
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([
'email' => 'coreycoors@yahoo.com'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "email",
"email": "coreycoors@yahoo.com",
"action": "resubscribed"
}
HTTP Request
POST /emailaddresses/resubscribe
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
Yes | text (255) |
Permissions
One of the following roles is required to call this method:
- Staff
unsubscribe
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/emailaddresses/unsubscribe" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"email": "billyblanton@yahoo.com"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/emailaddresses/unsubscribe',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:email => 'billyblanton@yahoo.com'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/emailaddresses/unsubscribe',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'email': 'billyblanton@yahoo.com'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/emailaddresses/unsubscribe"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
email = "billyblanton@yahoo.com"
});
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/emailaddresses/unsubscribe');
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([
'email' => 'billyblanton@yahoo.com'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "email",
"email": "billyblanton@yahoo.com",
"action": "unsubscribed"
}
HTTP Request
POST /emailaddresses/unsubscribe
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
Yes | text (255) |
Permissions
One of the following roles is required to call this method:
- Staff
index (organization)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses" \
-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)/emailaddresses',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses',
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)/emailaddresses"), 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)/emailaddresses');
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": "email_address",
"id": 6,
"email": "supercool@nowhere.co",
"owner_type": "organization",
"owner_id": 1,
"type": "work",
"primary": true,
"old": false,
"system": false,
"public": true,
"synced_from": null,
"delivery_problem": null,
"delivery_problem_at": null,
"delivery_problem_info": null,
"verified_at": null,
"unsubscribed_at": null,
"import_id": null,
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all EmailAddress objects tied to a specific Organization.
HTTP Request
GET /organizations/(organization)/emailaddresses
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Financial Auditor
- Staff
create (organization)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"email": "bsmith22@somewhere.net",
"type": "work"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:email => 'bsmith22@somewhere.net',
:type => 'work'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'email': 'bsmith22@somewhere.net',
'type': 'work'
}
)
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)/emailaddresses"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
email = "bsmith22@somewhere.net",
type = "work"
});
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)/emailaddresses');
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([
'email' => 'bsmith22@somewhere.net',
'type' => 'work'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "email_address",
"id": 32,
"email": "bsmith22@somewhere.net",
"owner_type": "organization",
"owner_id": 1,
"type": "work",
"primary": false,
"old": false,
"system": false,
"public": false,
"synced_from": null,
"delivery_problem": null,
"delivery_problem_at": null,
"delivery_problem_info": null,
"verified_at": null,
"unsubscribed_at": null,
"import_id": null,
"added_at": "2025-04-14T23:32:15+00:00",
"added_by_id": 22,
"sandbox": true
}
Creates a new EmailAddress object.
HTTP Request
POST /organizations/(organization)/emailaddresses
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
Yes | text (255) | ||
type | Yes | enum (home, work, other, school) |
Permissions
One of the following roles is required to call this method:
- Staff
show (organization)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses/(emailaddress)" \
-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)/emailaddresses/(emailaddress)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses/(emailaddress)',
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)/emailaddresses/(emailaddress)"), 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)/emailaddresses/(emailaddress)');
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": "email_address",
"id": 6,
"email": "supercool@nowhere.co",
"owner_type": "organization",
"owner_id": 1,
"type": "work",
"primary": true,
"old": false,
"system": false,
"public": true,
"synced_from": null,
"delivery_problem": null,
"delivery_problem_at": null,
"delivery_problem_info": null,
"verified_at": null,
"unsubscribed_at": null,
"import_id": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific EmailAddress object.
HTTP Request
GET /organizations/(organization)/emailaddresses/(emailaddress)
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:
- Staff
update (organization)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses/(emailaddress)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses/(emailaddress)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses/(emailaddress)',
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)/emailaddresses/(emailaddress)"), 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)/emailaddresses/(emailaddress)');
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": "email_address",
"id": 6,
"email": "supercool@nowhere.co",
"owner_type": "organization",
"owner_id": 1,
"type": "work",
"primary": true,
"old": false,
"system": false,
"public": true,
"synced_from": null,
"delivery_problem": null,
"delivery_problem_at": null,
"delivery_problem_info": null,
"verified_at": null,
"unsubscribed_at": null,
"import_id": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Updates an existing EmailAddress object.
HTTP Request
PUT /organizations/(organization)/emailaddresses/(emailaddress)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
No | text (255) | ||
type | No | enum (home, work, other, school) | |
is_primary | No | bool | |
old | No | bool | |
public | No | bool |
Permissions
One of the following roles is required to call this method:
- Staff
delete (organization)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses/(emailaddress)" \
-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)/emailaddresses/(emailaddress)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses/(emailaddress)',
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)/emailaddresses/(emailaddress)"), 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)/emailaddresses/(emailaddress)');
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": "email_address",
"id": 6,
"deleted": true
}
Deletes an existing EmailAddress object.
HTTP Request
DELETE /organizations/(organization)/emailaddresses/(emailaddress)
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:
- Staff
index (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/emailaddresses" \
-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)/emailaddresses',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/emailaddresses',
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)/emailaddresses"), 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)/emailaddresses');
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": "email_address",
"id": 17,
"email": "icecream@nowhere.co",
"owner_type": "person",
"owner_id": 12,
"type": "home",
"primary": true,
"old": false,
"system": false,
"public": true,
"synced_from": null,
"delivery_problem": null,
"delivery_problem_at": null,
"delivery_problem_info": null,
"verified_at": null,
"unsubscribed_at": null,
"import_id": null,
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all EmailAddress objects tied to a specific Person.
HTTP Request
GET /people/(person)/emailaddresses
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
create (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/emailaddresses" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"email": "memelord19@hotmail.com",
"type": "home"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/emailaddresses',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:email => 'memelord19@hotmail.com',
:type => 'home'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/emailaddresses',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'email': 'memelord19@hotmail.com',
'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)/emailaddresses"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
email = "memelord19@hotmail.com",
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)/emailaddresses');
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([
'email' => 'memelord19@hotmail.com',
'type' => 'home'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "email_address",
"id": 33,
"email": "memelord19@hotmail.com",
"owner_type": "person",
"owner_id": 12,
"type": "home",
"primary": false,
"old": false,
"system": false,
"public": false,
"synced_from": null,
"delivery_problem": null,
"delivery_problem_at": null,
"delivery_problem_info": null,
"verified_at": null,
"unsubscribed_at": null,
"import_id": null,
"added_at": "2025-04-14T23:32:17+00:00",
"added_by_id": 22,
"sandbox": true
}
Creates a new EmailAddress object.
HTTP Request
POST /people/(person)/emailaddresses
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
Yes | text (255) | ||
type | Yes | enum (home, work, other, school) |
Permissions
One of the following roles is required to call this method:
- Staff
show (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/emailaddresses/(emailaddress)" \
-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)/emailaddresses/(emailaddress)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/emailaddresses/(emailaddress)',
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)/emailaddresses/(emailaddress)"), 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)/emailaddresses/(emailaddress)');
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": "email_address",
"id": 16,
"email": "football@nowhere.co",
"owner_type": "person",
"owner_id": 16,
"type": "home",
"primary": true,
"old": false,
"system": false,
"public": true,
"synced_from": null,
"delivery_problem": null,
"delivery_problem_at": null,
"delivery_problem_info": null,
"verified_at": null,
"unsubscribed_at": null,
"import_id": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific EmailAddress object.
HTTP Request
GET /people/(person)/emailaddresses/(emailaddress)
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:
- Staff
update (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/emailaddresses/(emailaddress)" \
-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)/emailaddresses/(emailaddress)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/emailaddresses/(emailaddress)',
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)/emailaddresses/(emailaddress)"), 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)/emailaddresses/(emailaddress)');
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": "email_address",
"id": 16,
"email": "football@nowhere.co",
"owner_type": "person",
"owner_id": 16,
"type": "home",
"primary": true,
"old": false,
"system": false,
"public": true,
"synced_from": null,
"delivery_problem": null,
"delivery_problem_at": null,
"delivery_problem_info": null,
"verified_at": null,
"unsubscribed_at": null,
"import_id": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Updates an existing EmailAddress object.
HTTP Request
PUT /people/(person)/emailaddresses/(emailaddress)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
No | text (255) | ||
type | No | enum (home, work, other, school) | |
is_primary | No | bool | |
old | No | bool | |
public | No | bool |
Permissions
One of the following roles is required to call this method:
- Staff
delete (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/emailaddresses/(emailaddress)" \
-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)/emailaddresses/(emailaddress)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/people/(person)/emailaddresses/(emailaddress)',
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)/emailaddresses/(emailaddress)"), 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)/emailaddresses/(emailaddress)');
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": "email_address",
"id": 16,
"deleted": true
}
Deletes an existing EmailAddress object.
HTTP Request
DELETE /people/(person)/emailaddresses/(emailaddress)
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:
- Staff
EmailTemplate
The EmailTemplate object
The EmailTemplate object looks like this in JSON:
{
"object": "email_template",
"id": 7,
"modified_by_id": 1,
"name": "Overdue Invoices",
"body": "Dear {!RECIPIENT_FIRSTNAME!},<br \/><br \/>\nYou have overdue invoices. Please log in to Populi to view your invoiced charges and pay them now.",
"reply_to": null,
"cc": null,
"bcc": null,
"subject": "Overdue Invoices",
"added_at": "2009-01-14T23:12:01+00:00",
"added_by_id": 1,
"updated_at": "2020-04-21T00:37:40+00:00",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
modified_by_id | No | int |
name | No | text |
body | Yes | text |
reply_to | Yes | text |
cc | No | text |
bcc | No | text |
subject | Yes | text |
added_at | Yes | datetime |
added_by_id | No | int |
updated_at | No | -- |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/emailtemplates" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/emailtemplates',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/emailtemplates',
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/emailtemplates"), 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/emailtemplates');
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": "email_template",
"id": 7,
"modified_by_id": 1,
"name": "Overdue Invoices",
"body": "Dear {!RECIPIENT_FIRSTNAME!},<br \/><br \/>\nYou have overdue invoices. Please log in to Populi to view your invoiced charges and pay them now.",
"reply_to": null,
"cc": null,
"bcc": null,
"subject": "Overdue Invoices",
"added_at": "2009-01-14T23:12:01+00:00",
"added_by_id": 1,
"updated_at": "2020-04-21T00:37:40+00:00"
}
],
"sandbox": true
}
Retrieves all EmailTemplate objects.
HTTP Request
GET /emailtemplates
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/emailtemplates/(emailtemplate)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/emailtemplates/(emailtemplate)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/emailtemplates/(emailtemplate)',
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/emailtemplates/(emailtemplate)"), 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/emailtemplates/(emailtemplate)');
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": "email_template",
"id": 7,
"modified_by_id": 1,
"name": "Overdue Invoices",
"body": "Dear {!RECIPIENT_FIRSTNAME!},<br \/><br \/>\nYou have overdue invoices. Please log in to Populi to view your invoiced charges and pay them now.",
"reply_to": null,
"cc": null,
"bcc": null,
"subject": "Overdue Invoices",
"files": [],
"added_at": "2009-01-14T23:12:01+00:00",
"added_by_id": 1,
"updated_at": "2020-04-21T00:37:40+00:00",
"sandbox": true
}
Retrieves a specific EmailTemplate object.
HTTP Request
GET /emailtemplates/(emailtemplate)
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:
- Staff
Enrollment
The Enrollment object
The Enrollment object looks like this in JSON:
{
"object": "enrollment",
"id": 6000000,
"course_offering_id": 21908,
"catalog_course_id": 688,
"student_id": 16,
"status": "enrolled",
"status_expires_at": null,
"pending_reason": null,
"final_comment": null,
"final_grade": 91.5,
"final_attendance": 0,
"released_final_grade": null,
"commented_by_id": null,
"enrolled_by_id": null,
"enrolled_by_type": "registrar",
"status_date": "2022-10-05",
"enrolled_date": null,
"credits": 2,
"hours": 2,
"attendance_hours": null,
"clinical_hours": null,
"pass_fail": false,
"finalized": false,
"finalized_at": null,
"delivery_method_id": null,
"automatically_removed_at": null,
"automatically_removed_from": null,
"added_at": null,
"added_by_id": null,
"updated_at": null,
"display_status": "Enrolled",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
course_offering_id | Yes | int |
catalog_course_id | No | int |
student_id | Yes | int |
status | Yes | enum (pending, enrolled, pending_auditor, auditor, withdrawn, incomplete, deleted, waiting) |
status_expires_at | No | datetime |
pending_reason | No | enum (enrollment_agreement) |
final_comment | Yes | text |
final_grade | Yes | decimal |
final_attendance | Yes | decimal |
released_final_grade | No | decimal |
commented_by_id | No | int |
enrolled_by_id | No | int |
enrolled_by_type | Yes | enum (registrar, student, advisor, waiting_list, system) |
status_date | Yes | date |
enrolled_date | Yes | date |
credits | Yes | decimal |
hours | Yes | decimal |
attendance_hours | No | decimal |
clinical_hours | No | decimal |
pass_fail | Yes | bool |
finalized | Yes | bool |
finalized_at | No | datetime |
delivery_method_id | No | int |
automatically_removed_at | No | datetime |
automatically_removed_from | No | enum (roster, waiting_list) |
added_at | No | datetime |
added_by_id | No | int |
updated_at | No | datetime |
display_status | No | text |
sandbox | No | -- |
index (courseoffering)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/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/courseofferings/(courseoffering)/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/courseofferings/(courseoffering)/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": 1,
"results": 1,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "enrollment",
"id": 6000000,
"course_offering_id": 21908,
"catalog_course_id": 688,
"student_id": 16,
"status": "enrolled",
"status_expires_at": null,
"pending_reason": null,
"final_comment": null,
"final_grade": 10,
"final_attendance": 0,
"released_final_grade": 10,
"commented_by_id": null,
"enrolled_by_id": null,
"enrolled_by_type": "registrar",
"status_date": "2022-10-05",
"enrolled_date": null,
"credits": 2,
"hours": 2,
"attendance_hours": null,
"clinical_hours": null,
"pass_fail": false,
"finalized": false,
"finalized_at": null,
"delivery_method_id": null,
"automatically_removed_at": null,
"automatically_removed_from": null,
"added_at": null,
"added_by_id": null,
"updated_at": "2025-04-14T23:32:13+00:00",
"display_status": "Enrolled"
}
],
"sandbox": true
}
Retrieves all Enrollment objects tied to a specific Courseoffering.
HTTP Request
GET /courseofferings/(courseoffering)/students
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
show (courseoffering)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)',
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/courseofferings/(courseoffering)/students/(enrollment)"), 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/courseofferings/(courseoffering)/students/(enrollment)');
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": "enrollment",
"id": 6000000,
"course_offering_id": 21908,
"catalog_course_id": 688,
"student_id": 16,
"status": "enrolled",
"status_expires_at": null,
"pending_reason": null,
"final_comment": null,
"final_grade": 10,
"final_attendance": 0,
"released_final_grade": 10,
"commented_by_id": null,
"enrolled_by_id": null,
"enrolled_by_type": "registrar",
"status_date": "2022-10-05",
"enrolled_date": null,
"credits": 2,
"hours": 2,
"attendance_hours": null,
"clinical_hours": null,
"pass_fail": false,
"finalized": false,
"finalized_at": null,
"delivery_method_id": null,
"automatically_removed_at": null,
"automatically_removed_from": null,
"added_at": null,
"added_by_id": null,
"updated_at": "2025-04-14T23:32:13+00:00",
"display_status": "Enrolled",
"sandbox": true
}
Retrieves a specific Enrollment object.
HTTP Request
GET /courseofferings/(courseoffering)/students/(enrollment)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- course_offering
- catalog_course
- course_offering_student_programs
- student
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
update_final_grade
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)/update_final_grade" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"final_grade": 90
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)/update_final_grade',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:final_grade => 90
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)/update_final_grade',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'final_grade': 90
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)/update_final_grade"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
final_grade = 90
});
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/courseofferings/(courseoffering)/students/(enrollment)/update_final_grade');
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([
'final_grade' => 90
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "enrollment",
"id": 6000000,
"course_offering_id": 21908,
"catalog_course_id": 688,
"student_id": 16,
"status": "enrolled",
"status_expires_at": null,
"pending_reason": null,
"final_comment": null,
"final_grade": 90,
"final_attendance": 0,
"released_final_grade": 10,
"commented_by_id": null,
"enrolled_by_id": null,
"enrolled_by_type": "registrar",
"status_date": "2022-10-05",
"enrolled_date": null,
"credits": 2,
"hours": 2,
"attendance_hours": null,
"clinical_hours": null,
"pass_fail": false,
"finalized": false,
"finalized_at": null,
"delivery_method_id": null,
"automatically_removed_at": null,
"automatically_removed_from": null,
"added_at": null,
"added_by_id": null,
"updated_at": "2025-04-14T16:32:13+00:00",
"display_status": "Enrolled",
"sandbox": true
}
Updates the final_grade attribute of an existing Enrollment object.
HTTP Request
PUT /courseofferings/(courseoffering)/students/(enrollment)/update_final_grade
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
final_grade | Yes | decimal | |
final_comment | No | text | |
final_attendance | No | decimal |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
attendance
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)/attendance" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)/attendance',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)/attendance',
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/courseofferings/(courseoffering)/students/(enrollment)/attendance"), 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/courseofferings/(courseoffering)/students/(enrollment)/attendance');
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": "course_attendance",
"id": "6",
"student_name": "Alice Admin",
"status": "present",
"note": null,
"start_time": "2022-10-01 01:00:00",
"end_time": "2022-10-01 02:30:00",
"course_meeting_id": "3",
"summary": "Main class",
"counts_toward_attendance_hours": "1",
"counts_toward_clinical_hours": "1",
"attendance_hours": null,
"clinical_hours": null,
"beacon_id": null,
"kiosk_id": null
}
]
}
HTTP Request
GET /courseofferings/(courseoffering)/students/(enrollment)/attendance
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
finalize
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)/finalize" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"finalize": 1
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)/finalize',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:finalize => 1
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)/finalize',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'finalize': 1
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)/finalize"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
finalize = 1
});
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/courseofferings/(courseoffering)/students/(enrollment)/finalize');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'finalize' => 1
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "enrollment",
"id": 6000000,
"course_offering_id": 21908,
"catalog_course_id": 688,
"student_id": 16,
"status": "enrolled",
"status_expires_at": null,
"pending_reason": null,
"final_comment": null,
"final_grade": 85,
"final_attendance": 0,
"released_final_grade": 85,
"commented_by_id": null,
"enrolled_by_id": null,
"enrolled_by_type": "registrar",
"status_date": "2022-10-05",
"enrolled_date": null,
"credits": 2,
"hours": 2,
"attendance_hours": null,
"clinical_hours": null,
"pass_fail": false,
"finalized": true,
"finalized_at": "2025-04-14T16:32:20+00:00",
"delivery_method_id": null,
"automatically_removed_at": null,
"automatically_removed_from": null,
"added_at": null,
"added_by_id": null,
"updated_at": "2025-04-14T16:32:20+00:00",
"display_status": "Enrolled",
"sandbox": true
}
HTTP Request
GET /courseofferings/(courseoffering)/students/(enrollment)/finalize
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
finalize | Yes | To unfinalize an enrollment, set this parameter to false. |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/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/enrollments',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/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/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/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": 53,
"results": 53,
"results_per_page": 200,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "person",
"id": 16,
"first_name": "Abby",
"last_name": "Admin",
"middle_name": "",
"prefix": null,
"suffix": null,
"preferred_name": null,
"display_name": "Abby Admin",
"gender": "female",
"other_gender": null,
"image_file_id": null,
"birth_date": null,
"status": "active",
"social_security_number": null,
"alien_registration_number": null,
"social_insurance_number": null,
"home_city": null,
"home_state": null,
"home_country": null,
"former_name": null,
"license_plate": null,
"bio": null,
"hispanic_latino": false,
"resident_alien": false,
"localization_id": null,
"notification_email_id": null,
"deceased_date": null,
"import_id": null,
"staff_id": null,
"faculty_id": null,
"degree_level_id": null,
"added_at": null,
"added_by_id": null,
"updated_at": "2025-04-14T23:32:18+00:00",
"report_data": {
"student_person_id": 16,
"student_name": "Abby Admin",
"academic_term_id": 4,
"academic_term_name": "Spring 2008 2007-2008",
"catalog_course_abbrv": "LAT101",
"course_offering_id": 21908,
"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": "90.00",
"enrollment_id": 6000000,
"course_offering_student_program_id": null,
"pass_fail": 0,
"student_middle_name": "",
"student_preferred_name": "",
"academic_term_start_date": "2008-02-01",
"visible_student_id": "20220xx001",
"course_campus_id": null,
"academic_term_end_date": "2008-05-15",
"student_first_name": "Abby",
"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_21908"
},
"private_profile": false,
"is_user": true
}
],
"sandbox": true
}
Retrieves all Enrollment objects that match given filter conditions.
HTTP Request
GET /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
- course_offering
- catalog_course
- course_offering_student_programs
- student
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 |
added_at | datetime |
updated_at | datetime |
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:
- Academic Admin
- Registrar
- Academic Auditor
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/enrollments" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"course_offering_id": 21908
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/enrollments',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:course_offering_id => 21908
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/enrollments',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'course_offering_id': 21908
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/enrollments"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
course_offering_id = 21908
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/enrollments');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'course_offering_id' => 21908
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "enrollment",
"course_offering_id": 21908,
"person_id": 12,
"action": "Enrollment is being created."
}
Creates a new Enrollment object. Enrollments are created asyncronously, so you will not immediately get a CourseStudent object back.
HTTP Request
POST /people/(person)/enrollments
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
course_offering_id | Yes | int | |
status | No | enum (enrolled, auditor, waiting) | Default is enrolled |
status_date | No | date | Default is today |
catalog_course_id | No | int |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
This is a heavy call. For performance reasons, only one heavy call may be made at a time.
show (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/enrollments/(enrollment)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/enrollments/(enrollment)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/enrollments/(enrollment)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/enrollments/(enrollment)"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/enrollments/(enrollment)');
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": "enrollment",
"id": 6000000,
"course_offering_id": 21908,
"catalog_course_id": 688,
"student_id": 16,
"status": "enrolled",
"status_expires_at": null,
"pending_reason": null,
"final_comment": null,
"final_grade": 90,
"final_attendance": 0,
"released_final_grade": 10,
"commented_by_id": null,
"enrolled_by_id": null,
"enrolled_by_type": "registrar",
"status_date": "2022-10-05",
"enrolled_date": null,
"credits": 2,
"hours": 2,
"attendance_hours": null,
"clinical_hours": null,
"pass_fail": false,
"finalized": false,
"finalized_at": null,
"delivery_method_id": null,
"automatically_removed_at": null,
"automatically_removed_from": null,
"added_at": null,
"added_by_id": null,
"updated_at": "2025-04-14T23:32:13+00:00",
"display_status": "Enrolled",
"sandbox": true
}
Retrieves a specific Enrollment object.
HTTP Request
GET /people/(person)/enrollments/(enrollment)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
- Registrar
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/enrollments/(enrollment)" \
-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)/enrollments/(enrollment)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/enrollments/(enrollment)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/enrollments/(enrollment)"), 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)/enrollments/(enrollment)');
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": "enrollment",
"id": 6000000,
"course_offering_id": 21908,
"catalog_course_id": 688,
"student_id": 16,
"status": "enrolled",
"status_expires_at": null,
"pending_reason": null,
"final_comment": null,
"final_grade": 90,
"final_attendance": 0,
"released_final_grade": 10,
"commented_by_id": null,
"enrolled_by_id": null,
"enrolled_by_type": "registrar",
"status_date": "2022-10-05",
"enrolled_date": null,
"credits": 2,
"hours": 2,
"attendance_hours": null,
"clinical_hours": null,
"pass_fail": false,
"finalized": false,
"finalized_at": null,
"delivery_method_id": null,
"automatically_removed_at": null,
"automatically_removed_from": null,
"added_at": null,
"added_by_id": null,
"updated_at": "2025-04-14T23:32:13+00:00",
"display_status": "Enrolled",
"sandbox": true
}
Updates an existing Enrollment object.
HTTP Request
PUT /people/(person)/enrollments/(enrollment)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
status | No | enum (pending, enrolled, pending_auditor, auditor, withdrawn, incomplete, deleted, waiting) | |
status_date | No | date |
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
This is a heavy call. For performance reasons, only one heavy call may be made at a time.
delete
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/enrollments/(enrollment)" \
-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)/enrollments/(enrollment)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/people/(person)/enrollments/(enrollment)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/enrollments/(enrollment)"), 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)/enrollments/(enrollment)');
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": "enrollment",
"id": 6000001,
"course_offering_id": 21909,
"person_id": 16,
"action": "Enrollment is being updated."
}
Deletes an existing Enrollment object.
HTTP Request
DELETE /people/(person)/enrollments/(enrollment)
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:
- Academic Admin
- Registrar
EnrollmentAgreement
The EnrollmentAgreement object
The EnrollmentAgreement object looks like this in JSON:
{
"object": "enrollment_agreement",
"id": 1,
"student_id": 1,
"academic_term_id": 1,
"print_layout_id": 6,
"signed": null,
"file_id": null,
"source": "uploaded_manually",
"amount": 1456.5,
"user_ip": null,
"status": "signed",
"status_at": "2020-05-06T23:45:33+00:00",
"notify_student": true,
"added_at": "2020-05-06T23:45:33+00:00",
"added_by_id": 1,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
student_id | Yes | int |
academic_term_id | Yes | int |
print_layout_id | No | int |
signed | Yes | int |
file_id | No | int |
source | Yes | enum (uploaded_manually, generated_manually, generated_in_bulk, generated_automatically, signed_during_registration, signed_manually, temporary) |
amount | No | decimal |
user_ip | No | text (75) |
status | Yes | enum (pending, generating, generated, signing, signed, error, deleted) |
status_at | No | datetime |
notify_student | Yes | bool |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/enrollmentagreements" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"academic_term","value":1,"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/enrollmentagreements',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/enrollmentagreements',
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/enrollmentagreements"), 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/enrollmentagreements');
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 EnrollmentAgreement objects that match given filter conditions.
HTTP Request
GET /enrollmentagreements
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 |
---|---|
student | text |
student_role_status | choice |
academic_term | academic_term |
added_on | datetime |
source | choice |
amount | decimal |
signed | bool |
tag | tag |
custom_field | custom |
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Admin
- Student Billing
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/enrollmentagreements/(enrollmentagreement)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/enrollmentagreements/(enrollmentagreement)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/enrollmentagreements/(enrollmentagreement)',
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/enrollmentagreements/(enrollmentagreement)"), 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/enrollmentagreements/(enrollmentagreement)');
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": "enrollment_agreement",
"id": 1,
"student_id": 1,
"academic_term_id": 1,
"print_layout_id": 6,
"signed": null,
"file_id": null,
"source": "uploaded_manually",
"amount": 1456.5,
"user_ip": null,
"status": "signed",
"status_at": "2020-05-06T23:45:33+00:00",
"notify_student": true,
"added_at": "2020-05-06T23:45:33+00:00",
"added_by_id": 1,
"sandbox": true
}
Retrieves a specific EnrollmentAgreement object.
HTTP Request
GET /enrollmentagreements/(enrollmentagreement)
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:
- Financial Auditor
- Financial Admin
- Student Billing
ExitReason
The ExitReason object
The ExitReason object looks like this in JSON:
{
"object": "exit_reason",
"id": 7,
"name": "Medical Leave",
"retention": false,
"abbrv": "MEDICAL",
"report_as": null,
"retired_by_id": null,
"retired_at": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (256) |
retention | Yes | bool |
abbrv | No | text (45) |
report_as | No | int |
retired_by_id | No | int |
retired_at | No | datetime |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/exitreasons" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/exitreasons',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/exitreasons',
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/exitreasons"), 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/exitreasons');
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": "exit_reason",
"id": 7,
"name": "Medical Leave",
"retention": false,
"abbrv": "MEDICAL",
"report_as": null,
"retired_by_id": null,
"retired_at": null,
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all ExitReason objects.
HTTP Request
GET /exitreasons
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/exitreasons/(exitreason)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/exitreasons/(exitreason)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/exitreasons/(exitreason)',
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/exitreasons/(exitreason)"), 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/exitreasons/(exitreason)');
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": "exit_reason",
"id": 7,
"name": "Medical Leave",
"retention": false,
"abbrv": "MEDICAL",
"report_as": null,
"retired_by_id": null,
"retired_at": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific ExitReason object.
HTTP Request
GET /exitreasons/(exitreason)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Academic Admin
Fee
The Fee object
The Fee object looks like this in JSON:
{
"object": "fee",
"id": 10,
"name": "Important Textbook",
"description": null,
"type": "flat",
"amount": 1000,
"max_amount": 20,
"allow_zero": false,
"refundable": false,
"condition": "and",
"finaid_applies": true,
"status": "active",
"external_accountid": 0,
"account_id": 1,
"fee_class": "fee",
"report_on_1098t": true,
"report_on_t2202a": true,
"campus_life_permission": false,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (50) |
description | Yes | text (500) |
type | Yes | enum (flat, per_credit, per_hour, per_course, per_clinical_hour) |
amount | Yes | decimal |
max_amount | Yes | decimal |
allow_zero | Yes | bool |
refundable | Yes | bool |
condition | Yes | enum (and, or) |
finaid_applies | Yes | bool |
status | Yes | enum (construction, active, retired, deleted) |
external_accountid | Yes | int |
account_id | Yes | int |
fee_class | Yes | enum (fee, deposit, payment_plan) |
report_on_1098t | Yes | bool |
report_on_t2202a | Yes | bool |
campus_life_permission | Yes | bool |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/fees" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/fees',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/fees',
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/fees"), 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/fees');
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": "fee",
"id": 10,
"name": "Important Textbook",
"description": null,
"type": "flat",
"amount": 1000,
"max_amount": 20,
"allow_zero": false,
"refundable": false,
"condition": "and",
"finaid_applies": true,
"status": "active",
"external_accountid": 0,
"account_id": 1,
"fee_class": "fee",
"report_on_1098t": true,
"report_on_t2202a": true,
"campus_life_permission": false,
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all Fee objects.
HTTP Request
GET /fees
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/fees/(fee)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/fees/(fee)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/fees/(fee)',
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/fees/(fee)"), 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/fees/(fee)');
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": "fee",
"id": 10,
"name": "Important Textbook",
"description": null,
"type": "flat",
"amount": 1000,
"max_amount": 20,
"allow_zero": false,
"refundable": false,
"condition": "and",
"finaid_applies": true,
"status": "active",
"external_accountid": 0,
"account_id": 1,
"fee_class": "fee",
"report_on_1098t": true,
"report_on_t2202a": true,
"campus_life_permission": false,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific Fee object.
HTTP Request
GET /fees/(fee)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- fee_rule_groups
- fee_rules
Permissions
One of the following roles is required to call this method:
- Financial Admin
File
The File object
The File object looks like this in JSON:
{
"object": "file",
"id": 1,
"file_data_id": 2,
"name": "profile1.jpg",
"alt": null,
"contenttype": null,
"size": 16814,
"added_to": 1,
"filename": null,
"status": "active",
"trashed_by_id": null,
"type": "PROFILE_PICTURE",
"mime_type": "image\/jpeg",
"media_type": null,
"encoding_status": null,
"added_at": "2022-08-01T23:19:44+00:00",
"added_by_id": 1,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
file_data_id | Yes | int |
name | Yes | text (255) |
alt | No | text (1000) |
contenttype | Yes | text (255) |
size | Yes | int |
added_to | Yes | int |
filename | No | text (255) |
status | Yes | enum (uploading, active, deleted) |
trashed_by_id | No | int |
type | No | text |
mime_type | No | text |
media_type | No | text |
encoding_status | No | text |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index (courseoffering)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/files" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/files',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/files',
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/courseofferings/(courseoffering)/files"), 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/courseofferings/(courseoffering)/files');
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": "file",
"id": 2,
"file_data_id": 2,
"name": "course_handouts.pdf",
"alt": null,
"contenttype": null,
"size": 16814,
"added_to": 21908,
"filename": null,
"status": "active",
"trashed_by_id": null,
"type": "COURSE",
"mime_type": "image\/jpeg",
"media_type": null,
"encoding_status": null,
"added_at": "2022-08-01T23:19:44+00:00",
"added_by_id": 1
}
],
"sandbox": true
}
Retrieves all File objects tied to a specific Courseoffering.
HTTP Request
GET /courseofferings/(courseoffering)/files
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
- Faculty
- Advisor
- Academic Auditor
- Registrar
- Academic Admin
show (courseoffering)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/files/(file)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/files/(file)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/files/(file)',
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/courseofferings/(courseoffering)/files/(file)"), 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/courseofferings/(courseoffering)/files/(file)');
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": "file",
"id": 2,
"file_data_id": 2,
"name": "course_handouts.pdf",
"alt": null,
"contenttype": null,
"size": 16814,
"added_to": 21908,
"filename": null,
"status": "active",
"trashed_by_id": null,
"type": "COURSE",
"mime_type": "image\/jpeg",
"media_type": null,
"encoding_status": null,
"added_at": "2022-08-01T23:19:44+00:00",
"added_by_id": 1,
"sandbox": true
}
Retrieves a specific File object.
HTTP Request
GET /courseofferings/(courseoffering)/files/(file)
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:
- Staff
- Faculty
- Advisor
- Academic Auditor
- Registrar
- Academic Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/files/(file)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/files/(file)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/files/(file)',
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/files/(file)"), 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/files/(file)');
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": "file",
"id": 1,
"file_data_id": 2,
"name": "profile1.jpg",
"alt": null,
"contenttype": null,
"size": 16814,
"added_to": 1,
"filename": null,
"status": "active",
"trashed_by_id": null,
"type": "PROFILE_PICTURE",
"mime_type": "image\/jpeg",
"media_type": null,
"encoding_status": null,
"added_at": "2022-08-01T23:19:44+00:00",
"added_by_id": 1,
"sandbox": true
}
Retrieves a specific File object.
HTTP Request
GET /files/(file)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- roles
download
curl "https://yourschool.populiweb.com/api2/files/(file)/download" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/files/(file)/download',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/files/(file)/download',
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/files/(file)/download"), 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/files/(file)/download');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{}
HTTP Request
GET /files/(file)/download
Parameters
None
download_link
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/files/(file)/download_link" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/files/(file)/download_link',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/files/(file)/download_link',
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/files/(file)/download_link"), 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/files/(file)/download_link');
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": "file",
"id": 1,
"name": "profile1.jpg",
"download_link": "https:\/\/s3.amazonaws.com\/dev.populi.co\/d069f5039d2e80a4edda7b6ba44a034f.jpg?AWSAccessKeyId=AKIAJGVEOZ7CAMYX2QDQ&Expires=1744674610&response-content-disposition=inline;%20filename=%22profile1.jpg%22&Signature=XKLVDVHmJFcSnVvu31TAFCS%2Btw4%3D"
}
HTTP Request
GET /files/(file)/download_link
Parameters
None
FinancialTransaction
The FinancialTransaction object
The FinancialTransaction object looks like this in JSON:
{
"object": "financial_transaction",
"id": 9,
"type": "sales_invoice",
"status": "posted",
"number": 1234,
"posted_on": "2015-03-10",
"actor_type": "person",
"actor_id": 1,
"voided_at": null,
"voided_by_id": null,
"link_type": null,
"link_id": 0,
"amount": 1234.56,
"reverses": null,
"reversed_by_id": null,
"reposts": null,
"reposted_by_id": null,
"repostable": true,
"added_at": "2015-03-10T19:33:11+00:00",
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
type | Yes | enum (journal, sales_invoice, sales_credit, customer_payment, customer_repayment, aid_payment, aid_repayment, sales_receipt, library_fine, donation, purchase, inventory_adjustment, gateway_processing_fee, reversal, aid_drawdown, gateway_deposit, donation_refund, gateway_withdrawal) |
status | Yes | enum (construction, posted, void) |
number | Yes | int |
posted_on | Yes | date |
actor_type | Yes | enum (none, person, contact_org, loan, asset) |
actor_id | Yes | int |
voided_at | Yes | datetime |
voided_by_id | No | int |
link_type | No | enum (uncollectible_invoice, recollectible_invoice, application, bookstore_order, financial_aid, donation, inventory_batch, transcript_request, transaction, form_response, gateway_deposit, gateway_withdrawal) |
link_id | Yes | int |
amount | Yes | decimal |
reverses | No | int |
reversed_by_id | No | int |
reposts | No | int |
reposted_by_id | No | int |
repostable | Yes | bool |
added_at | Yes | datetime |
added_by_id | No | int |
sandbox | No | -- |
apply
curl "https://yourschool.populiweb.com/api2/people/(person)/deposits/apply" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"liability_account_id": 6,
"amount": 200
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/deposits/apply',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:liability_account_id => 6,
:amount => 200
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/deposits/apply',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'liability_account_id': 6,
'amount': 200
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/deposits/apply"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
liability_account_id = 6,
amount = 200
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/deposits/apply');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'liability_account_id' => 6,
'amount' => 200
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{}
HTTP Request
GET /people/(person)/deposits/apply
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
liability_account_id | Yes | int | |
amount | Yes | decimal | |
posted_date | No | date |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Student Billing
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/transactions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"posted_date_start": "2022-01-05",
"posted_date_end": "2023-02-06",
"filter": {"0":{"logic":"ALL","fields":[{"name":"posted_date","value":{"type":"RANGE","start":"2021-01-01","end":"2022-03-17"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/transactions',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:posted_date_start => '2022-01-05',
:posted_date_end => '2023-02-06'
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/transactions',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'posted_date_start': '2022-01-05',
'posted_date_end': '2023-02-06'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/transactions"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
posted_date_start = "2022-01-05",
posted_date_end = "2023-02-06"
});
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/transactions');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'posted_date_start' => '2022-01-05',
'posted_date_end' => '2023-02-06'
]));
$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": "financial_transaction",
"id": 100,
"type": "customer_payment",
"status": "posted",
"number": 1,
"posted_on": "2022-10-24",
"actor_type": "person",
"actor_id": 12,
"voided_at": null,
"voided_by_id": null,
"link_type": null,
"link_id": 0,
"amount": 600,
"reverses": null,
"reversed_by_id": null,
"reposts": null,
"reposted_by_id": null,
"repostable": true,
"added_at": "2025-04-14T16:32:14+00:00",
"added_by_id": 22,
"report_data": {
"student_dummyid": "20220xx002",
"primary_actor": "Alice Admin",
"term_name": null,
"invoiceid": null,
"invoice_number": null,
"paymentid": 100,
"reference_number": "",
"payment_number": 1,
"payment_source_type": "CHECK",
"donation_id": null,
"donation_number": null,
"added_by_name": "API Dude",
"voided_by_name": null,
"linked_transaction_id": null,
"linked_transaction_number": null,
"payment_gateway_processing_fee": "0.00",
"online_charge_method": "",
"check_number": null,
"check_batch_number": null,
"inventory_batch_item_variation_name": null,
"inventory_batch_item_id": null,
"inventory_batch_item_variation_id": null,
"row_id": 100
}
}
],
"sandbox": true
}
Retrieves all FinancialTransaction objects that match given filter conditions. This report requires a start and end posted date range.
HTTP Request
GET /transactions
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
posted_date_start | Yes | date | |
posted_date_end | Yes | date | |
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
- ledger_entries
- description
- notes
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
transaction_number | integer |
posted_date | date |
type | choice |
primary_actor | search |
status | choice |
added_at | datetime |
added_by | search |
voided_at | datetime |
voided_by | search |
amount | decimal |
academic_term | academic_term |
student_campus | campus |
Permissions
One of the following roles is required to call this method:
- Student Billing
- Financial Aid
- Financial Auditor
- Financial Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/transactions/(financialtransaction)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/transactions/(financialtransaction)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/transactions/(financialtransaction)',
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/transactions/(financialtransaction)"), 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/transactions/(financialtransaction)');
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": "financial_transaction",
"id": 100,
"type": "customer_payment",
"status": "posted",
"number": 1,
"posted_on": "2022-10-24",
"actor_type": "person",
"actor_id": 12,
"voided_at": null,
"voided_by_id": null,
"link_type": null,
"link_id": 0,
"amount": 600,
"reverses": null,
"reversed_by_id": null,
"reposts": null,
"reposted_by_id": null,
"repostable": true,
"added_at": "2025-04-14T23:32:14+00:00",
"added_by_id": 22,
"sandbox": true
}
Retrieves a specific FinancialTransaction object.
HTTP Request
GET /transactions/(financialtransaction)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- ledger_entries
- description
- notes
Permissions
One of the following roles is required to call this method:
- Student Billing
- Financial Aid
- Financial Auditor
- Financial Admin
Form
The Form object
The Form object looks like this in JSON:
{
"object": "form",
"id": 1,
"current_version_id": 1,
"type": "form",
"name": "Form",
"description": null,
"image_file_id": null,
"published": true,
"accept_responses": true,
"available_from": null,
"available_until": null,
"self_service": false,
"require_user": false,
"require_request": false,
"anonymous_responses": false,
"can_choose_linked_model": false,
"user_response_limit": null,
"total_response_limit": null,
"response_review": "review",
"enable_sms_verification": false,
"redirect_url": null,
"thank_you_message": null,
"custom_css": null,
"fee_id": null,
"fee_amount": null,
"can_charge_to_account": false,
"default_localization_id": null,
"retired_by_id": null,
"retired_at": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
current_version_id | No | int |
type | Yes | enum (form, inquiry) |
name | Yes | text (300) |
description | No | text (5000) |
image_file_id | No | int |
published | Yes | bool |
accept_responses | Yes | bool |
available_from | No | datetime |
available_until | No | datetime |
self_service | Yes | bool |
require_user | Yes | bool |
require_request | Yes | bool |
anonymous_responses | Yes | bool |
can_choose_linked_model | Yes | bool |
user_response_limit | No | int |
total_response_limit | No | int |
response_review | Yes | enum (none, review, decision) |
enable_sms_verification | Yes | bool |
redirect_url | No | text (2000) |
thank_you_message | No | text |
custom_css | No | text |
fee_id | No | int |
fee_amount | No | decimal |
can_charge_to_account | Yes | bool |
default_localization_id | No | int |
retired_by_id | No | int |
retired_at | No | datetime |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/forms" \
-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/forms',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/forms',
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/forms"), 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/forms');
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": "form",
"id": 1,
"current_version_id": 1,
"type": "form",
"name": "Form",
"description": null,
"image_file_id": null,
"published": true,
"accept_responses": true,
"available_from": null,
"available_until": null,
"self_service": false,
"require_user": false,
"require_request": false,
"anonymous_responses": false,
"can_choose_linked_model": false,
"user_response_limit": null,
"total_response_limit": null,
"response_review": "review",
"enable_sms_verification": false,
"redirect_url": null,
"thank_you_message": null,
"custom_css": null,
"fee_id": null,
"fee_amount": null,
"can_charge_to_account": false,
"default_localization_id": null,
"retired_by_id": null,
"retired_at": null,
"added_at": null,
"added_by_id": null,
"report_data": {
"num_responses_to_review": 1,
"category_names": null
}
}
],
"sandbox": true
}
Retrieves all Form objects that match given filter conditions.
HTTP Request
GET /forms
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
- current_version
- roles
- people
- fee
- form_categories
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
accepting_responses | bool |
category | search |
custom_css | bool |
custom_thank_you_message | bool |
fee | bool |
login_required | bool |
name | text |
notification | base_object id |
published | bool |
response_limit | integer |
response_limit_per_user | integer |
responses_to_review | bool |
retired | bool |
Permissions
One of the following roles is required to call this method:
- Staff
- Faculty
- Advisor
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/forms/(form)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/forms/(form)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/forms/(form)',
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/forms/(form)"), 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/forms/(form)');
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": "form",
"id": 1,
"current_version_id": 1,
"type": "form",
"name": "Form",
"description": null,
"image_file_id": null,
"published": true,
"accept_responses": true,
"available_from": null,
"available_until": null,
"self_service": false,
"require_user": false,
"require_request": false,
"anonymous_responses": false,
"can_choose_linked_model": false,
"user_response_limit": null,
"total_response_limit": null,
"response_review": "review",
"enable_sms_verification": false,
"redirect_url": null,
"thank_you_message": null,
"custom_css": null,
"fee_id": null,
"fee_amount": null,
"can_charge_to_account": false,
"default_localization_id": null,
"retired_by_id": null,
"retired_at": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific Form object.
HTTP Request
GET /forms/(form)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- current_version
- roles
- people
- fee
- form_categories
FormResponse
The FormResponse object
The FormResponse object looks like this in JSON:
{
"object": "form_response",
"id": 1,
"form_id": 1,
"form_version_id": 1,
"form_response_batch_id": null,
"person_id": 10,
"first_name": null,
"last_name": null,
"email": null,
"review": "review",
"status": "submitted",
"needs_review": null,
"needs_resubmit": null,
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"can_charge_to_account": false,
"fee_status": "unpaid",
"charge_method": null,
"sales_receipt_id": null,
"started_at": "2022-07-13T23:07:51+00:00",
"submitted_at": "2022-07-13T23:08:31+00:00",
"decision_by_id": null,
"decision_at": null,
"localization_id": null,
"requested_by_id": null,
"requested_at": null,
"added_at": "2022-07-13T23:07:51+00:00",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
form_id | No | int |
form_version_id | No | int |
form_response_batch_id | No | int |
person_id | No | int |
first_name | No | text (50) |
last_name | No | text (50) |
No | text (100) | |
review | Yes | enum (none, review, decision) |
status | Yes | enum (pending, in_progress, submitted, processing, accepted, rejected, completed) |
needs_review | No | int |
needs_resubmit | No | int |
fee_id | No | int |
fee_amount | No | decimal |
fee_discount | No | decimal |
can_charge_to_account | Yes | bool |
fee_status | Yes | enum (unpaid, paid, waived) |
charge_method | No | enum (account, credit_card, external) |
sales_receipt_id | No | int |
started_at | No | datetime |
submitted_at | No | datetime |
decision_by_id | No | int |
decision_at | No | datetime |
localization_id | No | int |
requested_by_id | No | int |
requested_at | No | datetime |
added_at | No | datetime |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/forms/(form)/responses" \
-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/forms/(form)/responses',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/forms/(form)/responses',
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/forms/(form)/responses"), 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/forms/(form)/responses');
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": "form_response",
"id": 1,
"form_id": 1,
"form_version_id": 1,
"form_response_batch_id": null,
"person_id": 10,
"first_name": null,
"last_name": null,
"email": null,
"review": "review",
"status": "submitted",
"needs_review": null,
"needs_resubmit": null,
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"can_charge_to_account": false,
"fee_status": "unpaid",
"charge_method": null,
"sales_receipt_id": null,
"started_at": "2022-07-13T23:07:51+00:00",
"submitted_at": "2022-07-13T23:08:31+00:00",
"decision_by_id": null,
"decision_at": null,
"localization_id": null,
"requested_by_id": null,
"requested_at": null,
"added_at": "2022-07-13T23:07:51+00:00",
"report_data": {
"person_display_name": null,
"person_last_name": null,
"person_first_name": null,
"batch_name": null,
"respondent_person_id": null,
"respondent_display_name": null,
"respondent_last_name": null,
"respondent_first_name": null,
"discount_code": null,
"row_id": 1
}
}
],
"sandbox": true
}
Retrieves all FormResponse objects that match given filter conditions.
HTTP Request
GET /forms/(form)/responses
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
- form
- form_version
- answers
- notes
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
linked_person | search |
respondent | search |
batch | object id |
discount_code | object id |
status | enum |
started_at | datetime |
signed_at | datetime |
submitted_at | datetime |
decision_at | datetime |
field | FormField |
needs_review | bool |
fields_to_review | integer |
tag | tag |
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/forms/(form)/responses/(formresponse)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"expand": [
"form_version",
"answers"
]
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/forms/(form)/responses/(formresponse)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:expand => ['form_version', 'answers']
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/forms/(form)/responses/(formresponse)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'expand': ['form_version', 'answers']
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/forms/(form)/responses/(formresponse)"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
expand = new List<string> {"form_version", "answers"}
});
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/forms/(form)/responses/(formresponse)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'expand' => ['form_version', 'answers']
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "form_response",
"id": 1,
"form_id": 1,
"form_version_id": 1,
"form_response_batch_id": null,
"person_id": 10,
"first_name": null,
"last_name": null,
"email": null,
"review": "review",
"status": "submitted",
"needs_review": null,
"needs_resubmit": null,
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"can_charge_to_account": false,
"fee_status": "unpaid",
"charge_method": null,
"sales_receipt_id": null,
"started_at": "2022-07-13T23:07:51+00:00",
"submitted_at": "2022-07-13T23:08:31+00:00",
"decision_by_id": null,
"decision_at": null,
"localization_id": null,
"requested_by_id": null,
"requested_at": null,
"form_version": {
"object": "form_version",
"id": 1,
"owner_type": "form",
"owner_id": 1,
"added_at": null,
"added_by_id": null,
"sections": [
{
"object": "form_heading",
"id": 8,
"content": "Heading",
"added_at": null,
"added_by_id": null,
"page_order_id": 1,
"order_id": 1,
"hidden": false
},
{
"object": "form_field",
"id": 9,
"reporting_id": 9,
"name": "Short Answer",
"description": null,
"input_type": "short_answer",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null,
"is_required": false,
"page_order_id": 1,
"order_id": 2,
"hidden": false
},
{
"object": "form_field",
"id": 10,
"reporting_id": 10,
"name": "Paragraph",
"description": null,
"input_type": "long_answer",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null,
"is_required": false,
"page_order_id": 1,
"order_id": 3,
"hidden": false
},
{
"object": "form_field",
"id": 11,
"reporting_id": 11,
"name": "Yes\/No",
"description": null,
"input_type": "boolean",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null,
"is_required": false,
"page_order_id": 1,
"order_id": 4,
"hidden": false
},
{
"object": "form_field",
"id": 12,
"reporting_id": 12,
"name": "Number",
"description": null,
"input_type": "integer",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null,
"is_required": false,
"page_order_id": 2,
"order_id": 1,
"hidden": false
},
{
"object": "form_field",
"id": 13,
"reporting_id": 13,
"name": "Date",
"description": null,
"input_type": "date",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null,
"is_required": false,
"page_order_id": 2,
"order_id": 2,
"hidden": false
},
{
"object": "form_text",
"id": 14,
"content": "Text content",
"added_at": null,
"added_by_id": null,
"page_order_id": 2,
"order_id": 3,
"hidden": false
},
{
"object": "form_field",
"id": 15,
"reporting_id": 15,
"name": "Select",
"description": null,
"input_type": "multiple_choice_select",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null,
"options": [
{
"object": "form_field_option",
"id": 5,
"display_value": "One",
"order_id": 1
},
{
"object": "form_field_option",
"id": 6,
"display_value": "Two",
"order_id": 2
},
{
"object": "form_field_option",
"id": 7,
"display_value": "Three",
"order_id": 3
},
{
"object": "form_field_option",
"id": 8,
"display_value": "Four",
"order_id": 4
}
],
"is_required": false,
"page_order_id": 2,
"order_id": 3,
"hidden": false
}
]
},
"answers": [
{
"object": "form_field_answer",
"id": 3,
"owner_type": "form_response",
"owner_id": 1,
"form_field_id": 9,
"subfield": null,
"text_value": "Short answer text...",
"integer_value": null,
"decimal_value": null,
"date_value": null,
"datetime_value": null,
"email_value": null,
"ip": null,
"added_at": null
},
{
"object": "form_field_answer",
"id": 4,
"owner_type": "form_response",
"owner_id": 1,
"form_field_id": 15,
"subfield": null,
"text_value": null,
"integer_value": 8,
"decimal_value": null,
"date_value": null,
"datetime_value": null,
"email_value": null,
"ip": null,
"added_at": null
}
],
"added_at": "2022-07-13T23:07:51+00:00",
"sandbox": true
}
Retrieves a specific FormResponse object. To match answers to form fields, you will need to expand form_version and answers.
HTTP Request
GET /forms/(form)/responses/(formresponse)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- form
- form_version
- answers
- notes
Fund
The Fund object
The Fund object looks like this in JSON:
{
"object": "fund",
"id": 3,
"name": "Building Fund",
"asset_account_id": null,
"income_account_id": 7,
"is_default": false,
"is_restricted": false,
"show_online": true,
"is_taxable": true,
"status": "active",
"added_at": "2015-01-02T19:53:14+00:00",
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (255) |
asset_account_id | No | int |
income_account_id | No | int |
is_default | Yes | bool |
is_restricted | Yes | bool |
show_online | Yes | bool |
is_taxable | Yes | bool |
status | Yes | enum (active, deleted) |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/funds" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/funds',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/funds',
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/funds"), 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/funds');
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": "fund",
"id": 3,
"name": "Building Fund",
"asset_account_id": null,
"income_account_id": 7,
"is_default": false,
"is_restricted": false,
"show_online": true,
"is_taxable": true,
"status": "active",
"added_at": "2015-01-02T19:53:14+00:00",
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all Fund objects.
HTTP Request
GET /funds
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/funds/(fund)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/funds/(fund)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/funds/(fund)',
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/funds/(fund)"), 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/funds/(fund)');
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": "fund",
"id": 3,
"name": "Building Fund",
"asset_account_id": null,
"income_account_id": 7,
"is_default": false,
"is_restricted": false,
"show_online": true,
"is_taxable": true,
"status": "active",
"added_at": "2015-01-02T19:53:14+00:00",
"added_by_id": null,
"sandbox": true
}
Retrieves a specific Fund object.
HTTP Request
GET /funds/(fund)
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:
- Financial Admin
GradeScale
The GradeScale object
The GradeScale object looks like this in JSON:
{
"object": "grade_scale",
"id": 1,
"parent_id": 1,
"owner_type": "year",
"owner_id": 1,
"pass_fail": false,
"retake_threshold_grade_point_id": null,
"retake_threshold_inclusive_direction": "higher",
"retake_threshold_logic": "include_retakes_in_calculation",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
parent_id | No | int |
owner_type | Yes | enum (year, term) |
owner_id | Yes | int |
pass_fail | Yes | bool |
retake_threshold_grade_point_id | No | int |
retake_threshold_inclusive_direction | Yes | enum (higher, lower) |
retake_threshold_logic | Yes | enum (include_retakes_in_calculation, exclude_retakes_from_calculation) |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/gradescales" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/gradescales',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/gradescales',
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/gradescales"), 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/gradescales');
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": "grade_scale",
"id": 1,
"parent_id": 1,
"owner_type": "year",
"owner_id": 1,
"pass_fail": false,
"retake_threshold_grade_point_id": null,
"retake_threshold_inclusive_direction": "higher",
"retake_threshold_logic": "include_retakes_in_calculation"
}
],
"sandbox": true
}
Retrieves all GradeScale objects.
HTTP Request
GET /gradescales
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/gradescales/(gradescale)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/gradescales/(gradescale)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/gradescales/(gradescale)',
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/gradescales/(gradescale)"), 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/gradescales/(gradescale)');
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": "grade_scale",
"id": 1,
"parent_id": 1,
"owner_type": "year",
"owner_id": 1,
"pass_fail": false,
"retake_threshold_grade_point_id": null,
"retake_threshold_inclusive_direction": "higher",
"retake_threshold_logic": "include_retakes_in_calculation",
"sandbox": true
}
Retrieves a specific GradeScale object.
HTTP Request
GET /gradescales/(gradescale)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- grade_points
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Academic Admin
Group
The Group object
The Group object looks like this in JSON:
{
"object": "group",
"id": 1,
"parent_id": null,
"name": "Seagulls, stop it now",
"description": null,
"membership": "open",
"can_invite": "members",
"can_bulletin_board_posts": "members",
"can_add_discussions": "members",
"can_upload_files": "members",
"enable_chat": true,
"public": true,
"official": false,
"image_file_id": null,
"status": "active",
"status_by_id": null,
"status_at": null,
"added_at": "2019-01-22T23:50:55+00:00",
"added_by_id": 11,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
parent_id | No | int |
name | Yes | text (300) |
description | No | text |
membership | Yes | enum (open, roles, invitation_only) |
can_invite | Yes | enum (members, moderators, admins) |
can_bulletin_board_posts | Yes | enum (members, moderators, admins) |
can_add_discussions | Yes | enum (disabled, members, moderators, admins) |
can_upload_files | Yes | enum (disabled, members, moderators, admins) |
enable_chat | No | bool |
public | No | bool |
official | No | bool |
image_file_id | No | int |
status | Yes | enum (pending, active, denied) |
status_by_id | No | int |
status_at | No | datetime |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/groups" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"status","value":"BLAH","positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/groups',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/groups',
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/groups"), 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/groups');
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": "group",
"id": 1,
"parent_id": null,
"name": "Seagulls, stop it now",
"description": null,
"membership": "open",
"can_invite": "members",
"can_bulletin_board_posts": "members",
"can_add_discussions": "members",
"can_upload_files": "members",
"enable_chat": true,
"public": true,
"official": false,
"image_file_id": null,
"status": "active",
"status_by_id": null,
"status_at": null,
"added_at": "2019-01-22T23:50:55+00:00",
"added_by_id": 11,
"report_data": {
"user_member_status": null,
"user_member_type": null,
"num_members": 0
}
}
],
"sandbox": true
}
Retrieves all Group objects that match given filter conditions.
HTTP Request
GET /groups
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
- members
- roles
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
search | text |
status | enum |
Permissions
Any role may call this method.
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/groups/(group)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/groups/(group)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/groups/(group)',
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/groups/(group)"), 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/groups/(group)');
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": "group",
"id": 1,
"parent_id": null,
"name": "Seagulls, stop it now",
"description": null,
"membership": "open",
"can_invite": "members",
"can_bulletin_board_posts": "members",
"can_add_discussions": "members",
"can_upload_files": "members",
"enable_chat": true,
"public": true,
"official": false,
"image_file_id": null,
"status": "active",
"status_by_id": null,
"status_at": null,
"added_at": "2019-01-22T23:50:55+00:00",
"added_by_id": 11,
"sandbox": true
}
Retrieves a specific Group object.
HTTP Request
GET /groups/(group)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- members
- roles
Honor
The Honor object
The Honor object looks like this in JSON:
{
"object": "honor",
"id": 1,
"name": "Presidential List",
"min_gpa": null,
"max_gpa": null,
"gpa_type": "none",
"min_units": null,
"units_type": "none",
"owner_type": "program",
"type": "manual",
"tagid": 153698,
"start_date": null,
"retired_at": null,
"retired_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (255) |
min_gpa | No | decimal |
max_gpa | No | decimal |
gpa_type | Yes | enum (none, gpa_including_transfer, institutional_gpa) |
min_units | No | decimal |
units_type | Yes | enum (none, include_transfer_units, institutional_units) |
owner_type | Yes | enum (program, degree, term, student) |
type | Yes | enum (automatic, manual) |
tagid | Yes | int |
start_date | No | date |
retired_at | No | date |
retired_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/honors" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/honors',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/honors',
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/honors"), 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/honors');
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": "honor",
"id": 4,
"name": "Academic Probation",
"min_gpa": 1,
"max_gpa": 2,
"gpa_type": "institutional_gpa",
"min_units": 0,
"units_type": "include_transfer_units",
"owner_type": "term",
"type": "automatic",
"tagid": 443823,
"start_date": null,
"retired_at": null,
"retired_by_id": null
}
],
"sandbox": true
}
Retrieves all Honor objects.
HTTP Request
GET /honors
Parameters
None
Permissions
One of the following roles is required to call this method:
- Academic Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/honors/(honor)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/honors/(honor)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/honors/(honor)',
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/honors/(honor)"), 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/honors/(honor)');
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": "honor",
"id": 1,
"name": "Presidential List",
"min_gpa": null,
"max_gpa": null,
"gpa_type": "none",
"min_units": null,
"units_type": "none",
"owner_type": "program",
"type": "manual",
"tagid": 153698,
"start_date": null,
"retired_at": null,
"retired_by_id": null,
"sandbox": true
}
Retrieves a specific Honor object.
HTTP Request
GET /honors/(honor)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- programs
- program_standings
- degrees
Permissions
One of the following roles is required to call this method:
- Academic Admin
IDCardTemplate
The IDCardTemplate object
The IDCardTemplate object looks like this in JSON:
{
"object": "id_card_template",
"id": 1,
"type": "ID_CARD",
"sub_type": "STUDENT",
"name": "Student",
"num_rows": 1,
"num_columns": 1,
"row_spacing": 0,
"column_spacing": 0,
"page_margin_top": 0,
"page_margin_left": 0,
"page_width": 3.37,
"page_height": 2.125,
"one_cell_per_page": true,
"cell_width": 3.37,
"cell_height": 2.125,
"cell_to_start_printing_on": 1,
"status": "active",
"is_default": true,
"added_at": "2015-08-12T05:41:29+00:00",
"added_by_id": 3483127,
"updated_at": "2016-11-30T08:09:44+00:00",
"updated_by_id": 7011453,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
type | Yes | text (50) |
sub_type | No | text (50) |
name | Yes | text (255) |
num_rows | Yes | int |
num_columns | Yes | int |
row_spacing | Yes | decimal |
column_spacing | Yes | decimal |
page_margin_top | Yes | decimal |
page_margin_left | Yes | decimal |
page_width | Yes | decimal |
page_height | Yes | decimal |
one_cell_per_page | Yes | bool |
cell_width | Yes | decimal |
cell_height | Yes | decimal |
cell_to_start_printing_on | Yes | int |
status | Yes | enum (active, deleted) |
is_default | Yes | 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/idcardtemplates" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/idcardtemplates',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/idcardtemplates',
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/idcardtemplates"), 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/idcardtemplates');
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": "id_card_template",
"id": 1,
"type": "ID_CARD",
"sub_type": "STUDENT",
"name": "Student",
"num_rows": 1,
"num_columns": 1,
"row_spacing": 0,
"column_spacing": 0,
"page_margin_top": 0,
"page_margin_left": 0,
"page_width": 3.37,
"page_height": 2.125,
"one_cell_per_page": true,
"cell_width": 3.37,
"cell_height": 2.125,
"cell_to_start_printing_on": 1,
"status": "active",
"is_default": true,
"added_at": "2015-08-12T05:41:29+00:00",
"added_by_id": 3483127,
"updated_at": "2016-11-30T08:09:44+00:00",
"updated_by_id": 7011453
}
],
"sandbox": true
}
Retrieves all IDCardTemplate objects.
HTTP Request
GET /idcardtemplates
Parameters
None
Expandable Properties
- id_card_template_fields
Permissions
One of the following roles is required to call this method:
- Staff
Export (person)
curl "https://yourschool.populiweb.com/api2/people/(person)/idcard" \
-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)/idcard',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/idcard',
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)/idcard"), 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)/idcard');
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:
{}
Either id_card_template_id or print_layout_id is required.
HTTP Request
GET /people/(person)/idcard
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
id_card_template_id | No | ||
print_layout_id | No |
Permissions
One of the following roles is required to call this method:
- Staff
index (PrintLayouts)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/idcardtemplates/printlayouts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/idcardtemplates/printlayouts',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/idcardtemplates/printlayouts',
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/idcardtemplates/printlayouts"), 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/idcardtemplates/printlayouts');
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": "print_layout",
"id": 7,
"name": "Standard Student ID",
"print_layout_type_id": 24,
"active_revision": null,
"default": true,
"template_type": "html",
"content": null,
"subtype": "STUDENT",
"added_at": "2024-05-06T22:07:20+00:00",
"added_by_id": 1257
}
],
"sandbox": true
}
Retrieves all IdCardTemplate objects.
HTTP Request
GET /idcardtemplates/printlayouts
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
Inquiry
The Inquiry object
The Inquiry object looks like this in JSON:
{
"object": "inquiry",
"id": 1,
"form_id": null,
"form_version_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": null,
"address_id": null,
"subject": "Email, scrollbuttons",
"content": "Yeah!",
"program_id": null,
"degree_id": null,
"specialization_id": null,
"academic_term_id": null,
"counselor_id": null,
"status": "waiting_on_us",
"closed_at": null,
"closed_by_id": null,
"lead_source_id": null,
"localization_id": null,
"added_on": "2013-03-15",
"added_at": "2013-03-15T21:06:03+00:00",
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
form_id | No | int |
form_version_id | No | int |
person_id | No | int |
lead_id | No | int |
first_name | No | text (50) |
middle_name | No | text (50) |
last_name | No | text (50) |
No | text (100) | |
phone | No | text (45) |
address_id | No | int |
subject | Yes | text (255) |
content | No | text |
program_id | No | int |
degree_id | No | int |
specialization_id | No | int |
academic_term_id | No | int |
counselor_id | No | int |
status | Yes | enum (waiting_on_us, waiting_on_them, closed) |
closed_at | No | datetime |
closed_by_id | No | int |
lead_source_id | No | int |
localization_id | No | int |
added_on | No | date |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/inquiries" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"source","value":{"parent":"123","child":"456"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/inquiries',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/inquiries',
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/inquiries"), 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/inquiries');
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": "inquiry",
"id": 1,
"form_id": null,
"form_version_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": null,
"address_id": null,
"subject": "Email, scrollbuttons",
"content": "Yeah!",
"program_id": null,
"degree_id": null,
"specialization_id": null,
"academic_term_id": null,
"counselor_id": null,
"status": "waiting_on_us",
"closed_at": null,
"closed_by_id": null,
"lead_source_id": null,
"localization_id": null,
"added_on": "2013-03-15",
"added_at": "2013-03-15T21:06:03+00:00",
"added_by_id": null,
"report_data": {
"person_first_name": "Homestar",
"person_preferred_name": null,
"person_last_name": "Runner",
"program_name": null,
"degree_name": null,
"specialization_name": null,
"academic_term_display_name": null,
"counselor_name": null,
"counselor_first_name": null,
"counselor_last_name": null,
"lead_source_name": null,
"street": null,
"city": null,
"state": null,
"zip": null,
"country": null,
"last_response": "2013-03-15 14:04:58",
"verified_email_address": null,
"owner_type": "INQUIRY",
"row_id": 1
}
}
],
"sandbox": true
}
Retrieves all Inquiry objects that match given filter conditions.
HTTP Request
GET /inquiries
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
- inquiry_form
- form_version
- answers
- person
- lead
- added_by
- counselor
- address
- comments
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
inquiry | text |
first_name | text |
last_name | text |
inquiry_form | object id |
linked_to_person | bool |
gender | gender |
counselor | admissions_counselor |
status | enum |
source | leadsource |
academic_term | academic_term |
added_on | date |
last_contacted | date_time |
verified | bool |
address_city | text |
address_state | state |
address_country | country |
tag | tag |
custom_field | custom |
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/inquiries" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"first_name": "Samantha",
"last_name": "Curry",
"email": "samantha.c.2002@somewhere.edu",
"address": "{\"street\":\"555 Maple Street\",\"city\":\"Dallas\",\"state\":\"TX\",\"postal\":\"55123\",\"country\":\"US\"}"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/inquiries',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:first_name => 'Samantha',
:last_name => 'Curry',
:email => 'samantha.c.2002@somewhere.edu'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/inquiries',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'first_name': 'Samantha',
'last_name': 'Curry',
'email': 'samantha.c.2002@somewhere.edu'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/inquiries"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
first_name = "Samantha",
last_name = "Curry",
email = "samantha.c.2002@somewhere.edu"
});
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/inquiries');
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([
'first_name' => 'Samantha',
'last_name' => 'Curry',
'email' => 'samantha.c.2002@somewhere.edu'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "inquiry",
"id": 10,
"form_id": null,
"form_version_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Samantha",
"middle_name": null,
"last_name": "Curry",
"email": "samantha.c.2002@somewhere.edu",
"phone": null,
"address_id": 802,
"subject": null,
"content": null,
"program_id": null,
"degree_id": null,
"specialization_id": null,
"academic_term_id": null,
"counselor_id": null,
"status": "waiting_on_us",
"closed_at": null,
"closed_by_id": null,
"lead_source_id": null,
"localization_id": null,
"added_on": "2025-04-14",
"added_at": "2025-04-14T23:32:14+00:00",
"added_by_id": 22,
"sandbox": true
}
Creates a new Inquiry object.
HTTP Request
POST /inquiries
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
first_name | Yes | text (50) | |
middle_name | No | text (50) | |
last_name | Yes | text (50) | |
phone | No | text (45) | |
Yes | text (100) | ||
lead_source_id | No | int | |
program_id | No | int | |
degree_id | No | int | |
specialization_id | No | int | |
academic_term_id | No | int | |
content | No | text | |
added_on | No | date | |
address | No | address | |
subject | No | text (255) | |
comment | No |
Action Parameters
Name | Data Type | Description |
---|---|---|
create_response |
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/inquiries/(inquiry)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/inquiries/(inquiry)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/inquiries/(inquiry)',
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/inquiries/(inquiry)"), 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/inquiries/(inquiry)');
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": "inquiry",
"id": 1,
"form_id": null,
"form_version_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": null,
"address_id": null,
"subject": "Email, scrollbuttons",
"content": "Yeah!",
"program_id": null,
"degree_id": null,
"specialization_id": null,
"academic_term_id": null,
"counselor_id": null,
"status": "waiting_on_us",
"closed_at": null,
"closed_by_id": null,
"lead_source_id": null,
"localization_id": null,
"added_on": "2013-03-15",
"added_at": "2013-03-15T21:06:03+00:00",
"added_by_id": null,
"sandbox": true
}
Retrieves a specific Inquiry object.
HTTP Request
GET /inquiries/(inquiry)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- inquiry_form
- form_version
- answers
- person
- lead
- added_by
- counselor
- address
- comments
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/inquiries/(inquiry)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"first_name": "Ben",
"last_name": "Ford",
"email": "bford@gmail2.edu",
"address": "{\"street\":\"555 Maple Street\",\"city\":\"Dallas\",\"state\":\"TX\",\"postal\":\"55123\",\"country\":\"US\"}"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/inquiries/(inquiry)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:first_name => 'Ben',
:last_name => 'Ford',
:email => 'bford@gmail2.edu'
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/inquiries/(inquiry)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'first_name': 'Ben',
'last_name': 'Ford',
'email': 'bford@gmail2.edu'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/inquiries/(inquiry)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
first_name = "Ben",
last_name = "Ford",
email = "bford@gmail2.edu"
});
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/inquiries/(inquiry)');
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([
'first_name' => 'Ben',
'last_name' => 'Ford',
'email' => 'bford@gmail2.edu'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "inquiry",
"id": 1,
"form_id": null,
"form_version_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Ben",
"middle_name": null,
"last_name": "Ford",
"email": "bford@gmail2.edu",
"phone": null,
"address_id": null,
"subject": "Email, scrollbuttons",
"content": "Yeah!",
"program_id": null,
"degree_id": null,
"specialization_id": null,
"academic_term_id": null,
"counselor_id": null,
"status": "waiting_on_us",
"closed_at": null,
"closed_by_id": null,
"lead_source_id": null,
"localization_id": null,
"added_on": "2013-03-15",
"address": null,
"added_at": "2013-03-15T21:06:03+00:00",
"added_by_id": null,
"sandbox": true
}
Updates an existing Inquiry object. Once an inquiry is linked to a Person, name and contact information fields cannot be updated using this route. Update the related Person instead.
HTTP Request
PUT /inquiries/(inquiry)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
first_name | Yes | text (50) | |
middle_name | No | text (50) | |
last_name | Yes | text (50) | |
phone | No | text (45) | |
Yes | text (100) | ||
lead_source_id | No | int | |
program_id | No | int | |
degree_id | No | int | |
specialization_id | No | int | |
academic_term_id | No | int | |
content | No | text | |
added_on | No | date | |
address | No | address | |
subject | No | text (255) |
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
delete
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/inquiries/(inquiry)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X DELETE
require 'httparty'
response = HTTParty.delete(
'https://yourschool.populiweb.com/api2/inquiries/(inquiry)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/inquiries/(inquiry)',
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/inquiries/(inquiry)"), 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/inquiries/(inquiry)');
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": "inquiry",
"id": 1,
"deleted": true
}
Deletes an existing Inquiry object.
HTTP Request
DELETE /inquiries/(inquiry)
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:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
link_to_person
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/inquiries/(inquiry)/link_to_person" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"person_id": 2
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/inquiries/(inquiry)/link_to_person',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:person_id => 2
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/inquiries/(inquiry)/link_to_person',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'person_id': 2
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/inquiries/(inquiry)/link_to_person"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
person_id = 2
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/inquiries/(inquiry)/link_to_person');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'person_id' => 2
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "inquiry",
"id": 1,
"form_id": null,
"form_version_id": null,
"person_id": 2,
"lead_id": 7,
"first_name": "Ben",
"middle_name": null,
"last_name": "Ford",
"email": "bford@gmail2.edu",
"phone": null,
"address_id": null,
"subject": "Email, scrollbuttons",
"content": "Yeah!",
"program_id": null,
"degree_id": null,
"specialization_id": null,
"academic_term_id": null,
"counselor_id": null,
"status": "waiting_on_us",
"closed_at": null,
"closed_by_id": null,
"lead_source_id": null,
"localization_id": null,
"added_on": "2013-03-15",
"added_at": "2013-03-15T21:06:03+00:00",
"added_by_id": null,
"sandbox": true
}
HTTP Request
GET /inquiries/(inquiry)/link_to_person
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
person_id | Yes | int |
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
InventoryBatch
The InventoryBatch object
The InventoryBatch object looks like this in JSON:
{
"object": "inventory_batch",
"id": 1,
"item_variation_id": 7,
"cost": 90,
"quantity": 55,
"added_on": "2022-07-12",
"added_at": "2022-07-12T18:49:11+00:00",
"added_by_id": 6,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
item_variation_id | No | int |
cost | Yes | decimal |
quantity | No | int |
added_on | No | date |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/inventorybatches" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/inventorybatches',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/inventorybatches',
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/inventorybatches"), 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/inventorybatches');
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": "inventory_batch",
"id": 1,
"item_variation_id": 7,
"cost": 90,
"quantity": 55,
"added_on": "2022-07-12",
"has_adjustments": 0,
"added_at": "2022-07-12T18:49:11+00:00",
"added_by_id": 6
}
],
"sandbox": true
}
Retrieves all InventoryBatch objects.
HTTP Request
GET /inventorybatches
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Bookstore Admin
- Financial Admin
- Bookstore
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/inventorybatches/(inventorybatch)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/inventorybatches/(inventorybatch)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/inventorybatches/(inventorybatch)',
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/inventorybatches/(inventorybatch)"), 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/inventorybatches/(inventorybatch)');
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": "inventory_batch",
"id": 1,
"item_variation_id": 7,
"cost": 90,
"quantity": 55,
"added_on": "2022-07-12",
"added_at": "2022-07-12T18:49:11+00:00",
"added_by_id": 6,
"sandbox": true
}
Retrieves a specific InventoryBatch object.
HTTP Request
GET /inventorybatches/(inventorybatch)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- adjustments
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Bookstore Admin
- Financial Admin
- Bookstore
Invoice
The Invoice object
The Invoice object looks like this in JSON:
{
"object": "invoice",
"id": 7,
"actor_type": "person",
"actor_id": 1,
"number": 1,
"description": null,
"transaction_id": 9,
"amount": 1234.56,
"due_on": "2009-04-07",
"status": "unpaid",
"marked_uncollectible_on": null,
"posted_on": "2015-03-10",
"academic_term_id": null,
"items": [
{
"object": "invoice_item",
"id": 6,
"invoice_id": 7,
"item_type": "fee",
"item_id": 9,
"name": null,
"amount": 20,
"description": "Parking Ticket"
}
],
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
actor_type | Yes | enum (person, contact_org) |
actor_id | Yes | int |
number | Yes | int |
description | Yes | text |
transaction_id | Yes | int |
amount | Yes | decimal |
due_on | Yes | date |
status | No | enum (unpaid, paid, uncollectible) |
marked_uncollectible_on | No | date |
posted_on | No | date |
academic_term_id | Yes | int |
items | No | Array of InvoiceItem objects |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/invoices" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"balance","value":{"type":"RANGE","start":"10.5","end":"900.15"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/invoices',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/invoices',
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/invoices"), 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/invoices');
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": "invoice",
"id": 7,
"actor_type": "person",
"actor_id": 1,
"number": 1,
"description": null,
"transaction_id": 9,
"amount": 1234.56,
"due_on": "2009-04-07",
"status": "unpaid",
"marked_uncollectible_on": null,
"report_data": {
"amount_paid": "0.00",
"balance": "1234.56",
"overdue": 1,
"term_name": null,
"term_start_date": null,
"firstname": "Elizabeth",
"lastname": "Fox",
"preferred_name": "",
"display_name": "Elizabeth Fox",
"personid": 1,
"studentid": 1,
"posted_date": "2015-03-10",
"dummyid": "20020xx000",
"person_amount_paid": null,
"org_amount_paid": null,
"aid_amount_paid": null,
"plan_name": null,
"scheduled_aid_handling": null,
"recurring_money_transfer_linkable_term_level": null,
"recurring_money_transfer_linkable_existing": null,
"on_term_level_payment_plan": 0,
"invoice_due_date": "2022-08-11",
"on_payment_plan": 1,
"on_plan_total": null,
"plan_due_date": null,
"row_id": 7
},
"posted_on": "2015-03-10",
"academic_term_id": null,
"items": [
{
"object": "invoice_item",
"id": 6,
"invoice_id": 7,
"item_type": "fee",
"item_id": 9,
"name": null,
"amount": 20,
"description": "Parking Ticket"
}
]
}
],
"sandbox": true
}
Retrieves all Invoice objects that match given filter conditions.
HTTP Request
GET /invoices
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
- items
- payments
- credits
- courses
- scheduled_aid
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
student | search |
invoice_number | integer |
academic_term | academic_term |
posted_date | date |
status | enum |
invoice_due_date | date |
payment_plan_due_date | date |
total_amount | decimal |
amount_paid | decimal |
balance | decimal |
student_campus | campus |
tag | tag |
on_payment_plan | bool |
added_time | datetime |
lock_type | locktype |
custom_field | custom |
Permissions
One of the following roles is required to call this method:
- Financial Aid
- Financial Auditor
- Financial Admin
- Student Billing
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/invoices/(invoice)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/invoices/(invoice)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/invoices/(invoice)',
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/invoices/(invoice)"), 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/invoices/(invoice)');
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": "invoice",
"id": 7,
"actor_type": "person",
"actor_id": 1,
"number": 1,
"description": null,
"transaction_id": 9,
"amount": 1234.56,
"due_on": "2009-04-07",
"status": "unpaid",
"marked_uncollectible_on": null,
"posted_on": "2015-03-10",
"academic_term_id": null,
"items": [
{
"object": "invoice_item",
"id": 6,
"invoice_id": 7,
"item_type": "fee",
"item_id": 9,
"name": null,
"amount": 20,
"description": "Parking Ticket"
}
],
"sandbox": true
}
Retrieves a specific Invoice object.
HTTP Request
GET /invoices/(invoice)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- items
- payments
- credits
- courses
- scheduled_aid
Permissions
One of the following roles is required to call this method:
- Financial Aid
- Financial Auditor
- Financial Admin
- Student Billing
ISIR
The Isir object
The Isir object looks like this in JSON:
{
"object": "isir",
"id": 6,
"batch_id": 1,
"cps_transaction_number": 1,
"cps_processed_date": "2011-03-20",
"status": "pending",
"content": "2200100405ED01EDIT QUESTION BORN BEFORE ASSUME NO EDIT 1004 VA2078419880102 1 1 VA 2 1 2 3 100000{000000000000{00000{000000000000000000 1222222211111 1 391091111FATHERLASTNAME A19540101000000000 VA 03 121 00500{0000000300500{00999I000000000000000000 011 001002 20110101B I1A20110320 TG53275 200100405 1A20110320 001 Y20110320 Y Y 4 2 0000000000 5200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000{0008550000000{00000000008550000855}000427N 000000{000000{0008550000000{00000000008550000855}000427N00000000{000000000000000000 000000{000000{ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000010000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1 8 8 F 4 149001146124219220221222115116118053117006000000000000000000 10 N 011 N04 N04 NY NY N05 NM YY N\/A 002405N\/A N\/A N\/A N\/A N\/A 777777008888999999 005309 NNNNNNNNNNNNNNYYY NNNNNN01Y 00280000003732 20090315 ",
"aid_year_id": 2,
"aid_application_id": null,
"imported_by_id": null,
"imported_at": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
batch_id | Yes | int |
cps_transaction_number | Yes | int |
cps_processed_date | No | date |
status | Yes | enum (pending, imported, skipped) |
content | Yes | text (10000) |
aid_year_id | No | int |
aid_application_id | No | int |
imported_by_id | No | int |
imported_at | No | datetime |
sandbox | No | -- |
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/isirs/(isir)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/isirs/(isir)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/isirs/(isir)',
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/isirs/(isir)"), 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/isirs/(isir)');
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": "isir",
"id": 6,
"batch_id": 1,
"cps_transaction_number": 1,
"cps_processed_date": "2011-03-20",
"status": "pending",
"content": "2200100405ED01EDIT QUESTION BORN BEFORE ASSUME NO EDIT 1004 VA2078419880102 1 1 VA 2 1 2 3 100000{000000000000{00000{000000000000000000 1222222211111 1 391091111FATHERLASTNAME A19540101000000000 VA 03 121 00500{0000000300500{00999I000000000000000000 011 001002 20110101B I1A20110320 TG53275 200100405 1A20110320 001 Y20110320 Y Y 4 2 0000000000 5200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000{0008550000000{00000000008550000855}000427N 000000{000000{0008550000000{00000000008550000855}000427N00000000{000000000000000000 000000{000000{ 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000010000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1 8 8 F 4 149001146124219220221222115116118053117006000000000000000000 10 N 011 N04 N04 NY NY N05 NM YY N\/A 002405N\/A N\/A N\/A N\/A N\/A 777777008888999999 005309 NNNNNNNNNNNNNNYYY NNNNNN01Y 00280000003732 20090315 ",
"aid_year_id": 2,
"aid_application_id": null,
"imported_by_id": null,
"imported_at": null,
"sandbox": true
}
Retrieves a specific Isir object.
HTTP Request
GET /isirs/(isir)
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:
- Financial Aid
- Financial Admin
- Student Billing
LMS
Run LMS sync
curl "https://yourschool.populiweb.com/api2/lmssync/run" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/lmssync/run',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/lmssync/run',
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/lmssync/run"), 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/lmssync/run');
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:
{}
Begin a sync operation between Populi and an outside LMS (e.g. Canvas), if you have an integration configured.
HTTP Request
GET /lmssync/run
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
direction | No | enum (from_populi, to_populi, both) | Default is both |
Permissions
Only keys that have been granted Populi Account Administrator permissions may call this method.
Lead
The Lead object
The Lead object looks like this in JSON:
{
"object": "lead",
"id": 1,
"person_id": 1,
"status": "prospect",
"program_id": null,
"degree_id": null,
"specialization_id": null,
"academic_term_id": null,
"active": false,
"inactive_on": "2013-10-02",
"lead_source_id": null,
"ceeb_code": null,
"source_comment": null,
"education_level_id": 0,
"declined_reason_id": null,
"declined_reason_comment": null,
"counselor_id": null,
"highschool_graduation_date": null,
"most_recent": false,
"added_on": "2013-10-02",
"import_id": null,
"added_at": "2013-10-02T20:37:53+00:00",
"added_by_id": 185755,
"updated_at": "2013-10-02T14:35:29+00:00",
"updated_by_id": 1999,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
person_id | Yes | int |
status | Yes | enum (prospect, inquiry, application_started, application_completed, accepted, confirmed, enrolled) |
program_id | No | int |
degree_id | No | int |
specialization_id | No | int |
academic_term_id | No | int |
active | Yes | bool |
inactive_on | No | date |
lead_source_id | No | int |
ceeb_code | No | int |
source_comment | No | text |
education_level_id | No | int |
declined_reason_id | No | int |
declined_reason_comment | No | text |
counselor_id | No | int |
highschool_graduation_date | No | date |
most_recent | Yes | bool |
added_on | No | date |
import_id | No | int |
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/leads" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"program","value":"NONE","positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/leads',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/leads',
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/leads"), 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/leads');
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": 200,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "lead",
"id": 6,
"person_id": 12,
"status": "inquiry",
"program_id": null,
"degree_id": null,
"specialization_id": null,
"academic_term_id": null,
"active": true,
"inactive_on": null,
"lead_source_id": null,
"ceeb_code": null,
"source_comment": null,
"education_level_id": null,
"declined_reason_id": null,
"declined_reason_comment": null,
"counselor_id": 185037,
"highschool_graduation_date": null,
"most_recent": false,
"added_on": "2013-10-28",
"import_id": null,
"added_at": "2013-10-28T17:23:53+00:00",
"added_by_id": 185037,
"updated_at": "2013-10-28T17:23:53+00:00",
"updated_by_id": 185037,
"report_data": {
"person_first_name": "Alice",
"person_preferred_name": "",
"person_last_name": "Admin",
"program_name": null,
"academic_term_display_name": null,
"counselor_name": null,
"counselor_first_name": null,
"counselor_last_name": null,
"lead_source_name": null,
"row_id": 6
}
}
],
"sandbox": true
}
Retrieves all Lead objects that match given filter conditions.
HTTP Request
GET /leads
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
- person
- program
- degree
- specialization
- academic_term
- source
- counselor
- addresses
- phone_numbers
- email_addresses
- added_by
- updated_by
- status_changes
- tags
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
first_name | text |
last_name | text |
birthdate | date |
birthday | month_day |
age | integer |
gender | gender |
student_housing | student_housing |
status | enum |
program | program |
degree | degree |
specialization | specialization |
academic_term | academic_term |
counselor | admissions_counselor |
source | leadsource |
education_level | object id |
added_on | date |
updated_at | datetime |
active | bool |
inactive_on | date |
phone | phone |
has_verified_text_messaging_number | bool |
address_city | text |
address_state | state |
address_zip | alphanumeric |
address_country | country |
home_city | text |
home_state | state |
home_country | country |
citizenship | countryobject id |
declined_reason | object id |
provisional | bool |
has_active_student_role | has_active_student_role |
tag | tag |
custom_field | custom |
hsgrad_date | date |
import | object id |
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/leads/(lead)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/leads/(lead)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/leads/(lead)',
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/leads/(lead)"), 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/leads/(lead)');
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": "lead",
"id": 1,
"person_id": 1,
"status": "prospect",
"program_id": null,
"degree_id": null,
"specialization_id": null,
"academic_term_id": null,
"active": false,
"inactive_on": "2013-10-02",
"lead_source_id": null,
"ceeb_code": null,
"source_comment": null,
"education_level_id": 0,
"declined_reason_id": null,
"declined_reason_comment": null,
"counselor_id": null,
"highschool_graduation_date": null,
"most_recent": false,
"added_on": "2013-10-02",
"import_id": null,
"added_at": "2013-10-02T20:37:53+00:00",
"added_by_id": 185755,
"updated_at": "2013-10-02T14:35:29+00:00",
"updated_by_id": 1999,
"sandbox": true
}
Retrieves a specific Lead object.
HTTP Request
GET /leads/(lead)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- person
- program
- degree
- specialization
- academic_term
- source
- counselor
- addresses
- phone_numbers
- email_addresses
- added_by
- updated_by
- status_changes
- tags
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
index (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/leads" \
-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)/leads',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/leads',
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)/leads"), 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)/leads');
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": "lead",
"id": 6,
"person_id": 12,
"status": "inquiry",
"program_id": null,
"degree_id": null,
"specialization_id": null,
"academic_term_id": null,
"active": true,
"inactive_on": null,
"lead_source_id": null,
"ceeb_code": null,
"source_comment": null,
"education_level_id": null,
"declined_reason_id": null,
"declined_reason_comment": null,
"counselor_id": 185037,
"highschool_graduation_date": null,
"most_recent": false,
"added_on": "2013-10-28",
"import_id": null,
"added_at": "2013-10-28T17:23:53+00:00",
"added_by_id": 185037,
"updated_at": "2013-10-28T17:23:53+00:00",
"updated_by_id": 185037
}
],
"sandbox": true
}
Retrieves all Lead objects tied to a specific Person.
HTTP Request
GET /people/(person)/leads
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/leads" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/leads',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/leads',
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)/leads"), Method.Post);
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)/leads');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "lead",
"id": 8,
"person_id": 12,
"status": "prospect",
"program_id": null,
"degree_id": null,
"specialization_id": null,
"academic_term_id": null,
"active": true,
"inactive_on": null,
"lead_source_id": null,
"ceeb_code": null,
"source_comment": null,
"education_level_id": null,
"declined_reason_id": null,
"declined_reason_comment": null,
"counselor_id": null,
"highschool_graduation_date": null,
"most_recent": false,
"added_on": "2025-04-14",
"import_id": null,
"added_at": "2025-04-14T23:32:19+00:00",
"added_by_id": 22,
"updated_at": "2025-04-14T23:32:19+00:00",
"updated_by_id": 22,
"sandbox": true
}
Creates a new Lead object.
HTTP Request
POST /people/(person)/leads
Parameters
None
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
show (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/leads/(lead)" \
-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)/leads/(lead)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/leads/(lead)',
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)/leads/(lead)"), 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)/leads/(lead)');
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": "lead",
"id": 1,
"person_id": 1,
"status": "prospect",
"program_id": null,
"degree_id": null,
"specialization_id": null,
"academic_term_id": null,
"active": false,
"inactive_on": "2013-10-02",
"lead_source_id": null,
"ceeb_code": null,
"source_comment": null,
"education_level_id": 0,
"declined_reason_id": null,
"declined_reason_comment": null,
"counselor_id": null,
"highschool_graduation_date": null,
"most_recent": false,
"added_on": "2013-10-02",
"import_id": null,
"added_at": "2013-10-02T20:37:53+00:00",
"added_by_id": 185755,
"updated_at": "2013-10-02T14:35:29+00:00",
"updated_by_id": 1999,
"sandbox": true
}
Retrieves a specific Lead object.
HTTP Request
GET /people/(person)/leads/(lead)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- person
- program
- degree
- specialization
- academic_term
- source
- counselor
- addresses
- phone_numbers
- email_addresses
- added_by
- updated_by
- status_changes
- tags
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/leads/(lead)" \
-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)/leads/(lead)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/leads/(lead)',
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)/leads/(lead)"), 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)/leads/(lead)');
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": "lead",
"id": 1,
"person_id": 1,
"status": "prospect",
"program_id": null,
"degree_id": null,
"specialization_id": null,
"academic_term_id": null,
"active": false,
"inactive_on": "2013-10-02",
"lead_source_id": null,
"ceeb_code": null,
"source_comment": null,
"education_level_id": 0,
"declined_reason_id": null,
"declined_reason_comment": null,
"counselor_id": null,
"highschool_graduation_date": null,
"most_recent": false,
"added_on": "2013-10-02",
"import_id": null,
"added_at": "2013-10-02T20:37:53+00:00",
"added_by_id": 185755,
"updated_at": "2013-10-02T14:35:29+00:00",
"updated_by_id": 1999,
"sandbox": true
}
Updates an existing Lead object.
HTTP Request
PUT /people/(person)/leads/(lead)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
status | No | enum (prospect, inquiry, application_started, application_completed, accepted, confirmed, enrolled) | |
program_id | No | int | |
degree_id | No | int | |
specialization_id | No | int | |
academic_term_id | No | int | |
lead_source_id | No | int | |
source_comment | No | text | |
education_level_id | No | int | |
declined_reason_comment | No | text | |
declined_reason_id | No | int | |
counselor_id | No | int | |
hsgrad_date | No | date | |
active | No | bool | |
ceeb_code | No | int |
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
delete
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/leads/(lead)" \
-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)/leads/(lead)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/people/(person)/leads/(lead)',
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)/leads/(lead)"), 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)/leads/(lead)');
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": "lead",
"id": 1,
"deleted": true
}
Deletes an existing Lead object.
HTTP Request
DELETE /people/(person)/leads/(lead)
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:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
LeadSource
The LeadSource object
The LeadSource object looks like this in JSON:
{
"object": "lead_source",
"id": 1,
"parent_id": null,
"name": "Word of Mouth",
"retired_by_id": null,
"retired_at": null,
"added_at": "2020-01-01T00:00:00+00:00",
"added_by_id": 1,
"updated_at": null,
"updated_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
parent_id | No | int |
name | Yes | text (255) |
retired_by_id | No | int |
retired_at | No | datetime |
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/leadsources" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/leadsources',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/leadsources',
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/leadsources"), 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/leadsources');
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": "lead_source",
"id": 1,
"parent_id": null,
"name": "Word of Mouth",
"retired_by_id": null,
"retired_at": null,
"added_at": "2020-01-01T00:00:00+00:00",
"added_by_id": 1,
"updated_at": null,
"updated_by_id": null
}
],
"sandbox": true
}
Retrieves all LeadSource objects.
HTTP Request
GET /leadsources
Parameters
None
Permissions
One of the following roles is required to call this method:
- Admissions Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/leadsources/(leadsource)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/leadsources/(leadsource)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/leadsources/(leadsource)',
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/leadsources/(leadsource)"), 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/leadsources/(leadsource)');
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": "lead_source",
"id": 1,
"parent_id": null,
"name": "Word of Mouth",
"retired_by_id": null,
"retired_at": null,
"added_at": "2020-01-01T00:00:00+00:00",
"added_by_id": 1,
"updated_at": null,
"updated_by_id": null,
"sandbox": true
}
Retrieves a specific LeadSource object.
HTTP Request
GET /leadsources/(leadsource)
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:
- Admissions Admin
LedgerEntry
The LedgerEntry object
The LedgerEntry object looks like this in JSON:
{
"object": "ledger_entry",
"id": 19,
"transaction_id": 9,
"direction": "credit",
"account_id": 2,
"actor_type": "person",
"actor_id": 1,
"debit": 0,
"credit": 1234.56,
"invoice_item_id": null,
"fund_id": null,
"is_deposit": false,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
transaction_id | Yes | int |
direction | Yes | enum (debit, credit) |
account_id | Yes | int |
actor_type | Yes | enum (person, contact_org, asset, liability) |
actor_id | Yes | int |
debit | Yes | decimal |
credit | Yes | decimal |
invoice_item_id | No | int |
fund_id | No | int |
is_deposit | Yes | bool |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/ledgerentries" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"account","value":123,"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/ledgerentries',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/ledgerentries',
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/ledgerentries"), 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/ledgerentries');
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 LedgerEntry objects that match given filter conditions.
HTTP Request
GET /ledgerentries
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
- transaction
- fund
- account
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
time_period | date_period |
account | financial_accounts |
debit | decimal |
credit | decimal |
transaction_type | enum |
disbursement_type | enum |
term | academic_term |
degree | degree |
program | program |
transaction_number | integer |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Financial Auditor
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/ledgerentries/(ledgerentry)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/ledgerentries/(ledgerentry)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/ledgerentries/(ledgerentry)',
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/ledgerentries/(ledgerentry)"), 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/ledgerentries/(ledgerentry)');
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": "ledger_entry",
"id": 19,
"transaction_id": 9,
"direction": "credit",
"account_id": 2,
"actor_type": "person",
"actor_id": 1,
"debit": 0,
"credit": 1234.56,
"invoice_item_id": null,
"fund_id": null,
"is_deposit": false,
"sandbox": true
}
Retrieves a specific LedgerEntry object.
HTTP Request
GET /ledgerentries/(ledgerentry)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- transaction
- fund
- account
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Financial Auditor
LessonPage
The LessonPage object
The LessonPage object looks like this in JSON:
{
"object": "lesson_page",
"id": 1,
"course_lesson_id": 1,
"name": "Page 1",
"order_id": 1,
"import_id": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
course_lesson_id | No | int |
name | No | text (255) |
order_id | Yes | int |
import_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/courseofferings/(courseoffering)/lessons/(courselesson)/pages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/lessons/(courselesson)/pages',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/lessons/(courselesson)/pages',
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/courseofferings/(courseoffering)/lessons/(courselesson)/pages"), 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/courseofferings/(courseoffering)/lessons/(courselesson)/pages');
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": "lesson_page",
"id": 3,
"course_lesson_id": 3,
"name": "Page 1",
"order_id": 1,
"import_id": null,
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all LessonPage objects tied to a specific Courseoffering.
HTTP Request
GET /courseofferings/(courseoffering)/lessons/(courselesson)/pages
Parameters
None
Permissions
One of the following roles is required to call this method:
- Registrar
- Academic Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/lessons/(courselesson)/pages/(lessonpage)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/lessons/(courselesson)/pages/(lessonpage)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/lessons/(courselesson)/pages/(lessonpage)',
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/courseofferings/(courseoffering)/lessons/(courselesson)/pages/(lessonpage)"), 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/courseofferings/(courseoffering)/lessons/(courselesson)/pages/(lessonpage)');
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": "lesson_page",
"id": 3,
"course_lesson_id": 3,
"name": "Page 1",
"order_id": 1,
"import_id": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific LessonPage object.
HTTP Request
GET /courseofferings/(courseoffering)/lessons/(courselesson)/pages/(lessonpage)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- sections
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Registrar
- Academic Admin
Letter
The Letter object
The Letter object looks like this in JSON:
{
"object": "letter",
"id": 1,
"sender_id": 157,
"content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Eget felis eget nunc lobortis mattis aliquam faucibus purus in. Ut porttitor leo a diam sollicitudin tempor id eu nisl. Congue quisque egestas diam in arcu. Cursus vitae congue mauris rhoncus aenean. Nisi est sit amet facilisis magna. Duis convallis convallis tellus id interdum. Tellus molestie nunc non blandit massa enim nec dui. At quis risus sed vulputate odio ut enim blandit.\r\n\r\nSincerely,\r\n\r\nLorem Ipsum, ESQ",
"print_on": "2024-02-28",
"num_recipients": 1,
"num_copies": 1,
"layout_id": 1,
"template_id": 1,
"mailing_list_id": null,
"communication_plan_id": 1,
"printed_at": null,
"printed_by_id": null,
"added_at": "2024-02-23T20:17:06+00:00",
"added_by_id": 157,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
sender_id | Yes | int |
content | No | text |
print_on | No | date |
num_recipients | Yes | int |
num_copies | Yes | int |
layout_id | Yes | int |
template_id | No | int |
mailing_list_id | No | int |
communication_plan_id | No | int |
printed_at | No | datetime |
printed_by_id | No | int |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/letters/(letter)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/letters/(letter)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/letters/(letter)',
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/letters/(letter)"), 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/letters/(letter)');
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": "letter",
"id": 1,
"sender_id": 157,
"content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Eget felis eget nunc lobortis mattis aliquam faucibus purus in. Ut porttitor leo a diam sollicitudin tempor id eu nisl. Congue quisque egestas diam in arcu. Cursus vitae congue mauris rhoncus aenean. Nisi est sit amet facilisis magna. Duis convallis convallis tellus id interdum. Tellus molestie nunc non blandit massa enim nec dui. At quis risus sed vulputate odio ut enim blandit.\r\n\r\nSincerely,\r\n\r\nLorem Ipsum, ESQ",
"print_on": "2024-02-28",
"num_recipients": 1,
"num_copies": 1,
"layout_id": 1,
"template_id": 1,
"mailing_list_id": null,
"communication_plan_id": 1,
"printed_at": null,
"printed_by_id": null,
"added_at": "2024-02-23T20:17:06+00:00",
"added_by_id": 157,
"sandbox": true
}
Retrieves a specific Letter object.
HTTP Request
GET /letters/(letter)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- recipients
Permissions
One of the following roles is required to call this method:
- Staff
LetterTemplate
The LetterTemplate object
The LetterTemplate object looks like this in JSON:
{
"object": "letter_template",
"id": 6,
"name": "Acceptance Letter",
"letter": "{!DATE!}\nDear {!RECIPIENT_FIRSTNAME!},Congrats!\n\nSincerely,\n\n\n\n{!SENDER_FIRSTNAME!} {!SENDER_LASTNAME!}\n{!SENDER_TITLE!}",
"print_layout_id": 6,
"added_at": "2010-05-07T22:54:01+00:00",
"added_by_id": 1999,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (200) |
letter | Yes | text |
print_layout_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/lettertemplates" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/lettertemplates',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/lettertemplates',
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/lettertemplates"), 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/lettertemplates');
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": "letter_template",
"id": 6,
"name": "Acceptance Letter",
"letter": "{!DATE!}\nDear {!RECIPIENT_FIRSTNAME!},Congrats!\n\nSincerely,\n\n\n\n{!SENDER_FIRSTNAME!} {!SENDER_LASTNAME!}\n{!SENDER_TITLE!}",
"print_layout_id": 6,
"added_at": "2010-05-07T22:54:01+00:00",
"added_by_id": 1999
}
],
"sandbox": true
}
Retrieves all LetterTemplate objects.
HTTP Request
GET /lettertemplates
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/lettertemplates/(lettertemplate)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/lettertemplates/(lettertemplate)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/lettertemplates/(lettertemplate)',
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/lettertemplates/(lettertemplate)"), 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/lettertemplates/(lettertemplate)');
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": "letter_template",
"id": 6,
"name": "Acceptance Letter",
"letter": "{!DATE!}\nDear {!RECIPIENT_FIRSTNAME!},Congrats!\n\nSincerely,\n\n\n\n{!SENDER_FIRSTNAME!} {!SENDER_LASTNAME!}\n{!SENDER_TITLE!}",
"print_layout_id": 6,
"added_at": "2010-05-07T22:54:01+00:00",
"added_by_id": 1999,
"sandbox": true
}
Retrieves a specific LetterTemplate object.
HTTP Request
GET /lettertemplates/(lettertemplate)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- permissions
- communication_plan_events
- print_layout
- categories
Permissions
One of the following roles is required to call this method:
- Staff
LibraryResource
The LibraryResource object
The LibraryResource object looks like this in JSON:
{
"object": "library_resource",
"id": 6,
"resource_type_id": 11,
"title": "Purgatorio",
"authors": "Dante",
"replacement_price": null,
"lccn": null,
"total_loans": null,
"total_recommendations": null,
"image_file_id": null,
"import_id": null,
"added_at": null,
"added_by_id": null,
"updated_at": "2011-02-01T19:06:08+00:00",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
resource_type_id | No | int |
title | No | text (500) |
authors | No | text (500) |
replacement_price | No | decimal |
lccn | No | text (50) |
total_loans | Yes | int |
total_recommendations | Yes | int |
image_file_id | No | int |
import_id | No | int |
added_at | No | datetime |
added_by_id | No | int |
updated_at | No | datetime |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/libraryresources" \
-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/libraryresources',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/libraryresources',
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/libraryresources"), 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/libraryresources');
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": "library_resource",
"id": 6,
"resource_type_id": 11,
"title": "Purgatorio",
"authors": "Dante",
"replacement_price": null,
"lccn": null,
"total_loans": null,
"total_recommendations": null,
"image_file_id": null,
"import_id": null,
"added_at": null,
"added_by_id": null,
"updated_at": "2011-02-01T19:06:08+00:00",
"report_data": {
"copies": 0,
"resource_type": null
}
}
],
"sandbox": true
}
Retrieves all LibraryResource objects that match given filter conditions.
HTTP Request
GET /libraryresources
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
- resource_copies
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
title | text |
authors | text |
added_at | datetime |
resource_copies | integer |
resource_type | text |
Permissions
One of the following roles is required to call this method:
- Library Admin
- Library Staff
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/libraryresources/(libraryresource)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/libraryresources/(libraryresource)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/libraryresources/(libraryresource)',
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/libraryresources/(libraryresource)"), 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/libraryresources/(libraryresource)');
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": "library_resource",
"id": 6,
"resource_type_id": 11,
"title": "Purgatorio",
"authors": "Dante",
"replacement_price": null,
"lccn": null,
"total_loans": null,
"total_recommendations": null,
"image_file_id": null,
"import_id": null,
"added_at": null,
"added_by_id": null,
"updated_at": "2011-02-01T19:06:08+00:00",
"sandbox": true
}
Retrieves a specific LibraryResource object.
HTTP Request
GET /libraryresources/(libraryresource)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- resource_copies
Link
The Link object
The Link object looks like this in JSON:
{
"object": "link",
"id": 3,
"owner_type": "instance",
"owner_id": 21908,
"name": "Professor Website",
"description": null,
"order_id": 1,
"url": "https:\/\/www.example.com",
"lti_tool_id": null,
"status": "active",
"import_id": null,
"lti_resource_id": null,
"lti_resource_tag": null,
"cloned_from_offering_ids": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | No | int |
owner_type | Yes | enum (instance, lesson, assignment, link_list) |
owner_id | Yes | int |
name | Yes | text (500) |
description | Yes | text |
order_id | No | int |
url | Yes | text (2100) |
lti_tool_id | No | int |
status | Yes | enum (active, deleted) |
import_id | No | int |
lti_resource_id | No | text (500) |
lti_resource_tag | No | text (100) |
cloned_from_offering_ids | No | text (255) |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index (courselesson)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links',
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/courselessons/(courselesson)/links"), 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/courselessons/(courselesson)/links');
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": "link",
"id": 1,
"owner_type": "lesson",
"owner_id": 1,
"name": "SoftChalk WWII",
"description": "blah blah",
"order_id": 1,
"url": "https:\/\/www.softchalkcloud.com\/scorecenter\/lti\/6geILQsDzBpFVA",
"lti_tool_id": 1,
"status": "active",
"import_id": null,
"lti_resource_id": null,
"lti_resource_tag": null,
"cloned_from_offering_ids": null,
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all Links from a course lesson.
HTTP Request
GET /courselessons/(courselesson)/links
Parameters
None
Permissions
One of the following roles is required to call this method:
- Registrar
- Academic Admin
show (courselesson)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)',
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/courselessons/(courselesson)/links/(link)"), 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/courselessons/(courselesson)/links/(link)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "link",
"id": 3,
"owner_type": "instance",
"owner_id": 21908,
"name": "Professor Website",
"description": null,
"order_id": 1,
"url": "https:\/\/www.example.com",
"lti_tool_id": null,
"status": "active",
"import_id": null,
"lti_resource_id": null,
"lti_resource_tag": null,
"cloned_from_offering_ids": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific Link from a course lesson.
HTTP Request
GET /courselessons/(courselesson)/links/(link)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- custom_params
Permissions
One of the following roles is required to call this method:
- Registrar
- Academic Admin
update (courselesson)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"custom_params": "{\"name1\":\"value1\",\"name2\":\"value2\"}"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)',
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/courselessons/(courselesson)/links/(link)"), 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/courselessons/(courselesson)/links/(link)');
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": "link",
"id": 3,
"owner_type": "instance",
"owner_id": 21908,
"name": "Professor Website",
"description": null,
"order_id": 1,
"url": "https:\/\/www.example.com",
"lti_tool_id": null,
"status": "active",
"import_id": null,
"lti_resource_id": null,
"lti_resource_tag": null,
"cloned_from_offering_ids": null,
"custom_params": [
{
"object": "lti_param",
"id": 2,
"owner_type": "link",
"owner_id": 3,
"param_name": "name1",
"param_value": "value1",
"param_type": "resource_link",
"added_at": "2025-04-14T23:32:13+00:00",
"added_by_id": 22,
"updated_at": "2025-04-14T23:32:13+00:00",
"updated_by_id": 22
},
{
"object": "lti_param",
"id": 3,
"owner_type": "link",
"owner_id": 3,
"param_name": "name2",
"param_value": "value2",
"param_type": "resource_link",
"added_at": "2025-04-14T23:32:13+00:00",
"added_by_id": 22,
"updated_at": "2025-04-14T23:32:13+00:00",
"updated_by_id": 22
}
],
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Updates a specific Link in a course lesson.
HTTP Request
PUT /courselessons/(courselesson)/links/(link)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
name | No | text (500) | |
url | No | text (2100) | |
custom_params | No | Object with key/value pairs | Custom parameters for LTI links. Existing parameters will be updated if a matching parameter name is found. Any existing parameters not included in the object will be deleted. |
Permissions
One of the following roles is required to call this method:
- Registrar
- Academic Admin
delete (courselesson)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X DELETE
require 'httparty'
response = HTTParty.delete(
'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)',
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/courselessons/(courselesson)/links/(link)"), 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/courselessons/(courselesson)/links/(link)');
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": "link",
"id": 2,
"deleted": true
}
Deletes a specific Link from a course lesson.
HTTP Request
DELETE /courselessons/(courselesson)/links/(link)
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:
- Registrar
- Academic Admin
index (syllabus and lessons)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links" \
-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/courseofferings/(courseoffering)/links',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links',
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/courseofferings/(courseoffering)/links"), 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/courseofferings/(courseoffering)/links');
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": "link",
"id": 3,
"owner_type": "instance",
"owner_id": 21908,
"name": "Professor Website",
"description": null,
"order_id": 1,
"url": "https:\/\/www.example.com",
"lti_tool_id": null,
"status": "active",
"import_id": null,
"lti_resource_id": null,
"lti_resource_tag": null,
"cloned_from_offering_ids": null,
"custom_params": [],
"added_at": null,
"added_by_id": null,
"report_data": []
}
],
"sandbox": true
}
Retrieves all Links from the course syllabus page and course lessons.
HTTP Request
GET /courseofferings/(courseoffering)/links
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 |
---|---|
id | integer |
name | text |
url | text |
lti_tool_id | integer |
owner_id | integer |
owner_type | text |
lti_resource_id | text |
lti_resource_tag | text |
import_id | integer |
status | text |
added_at | datetime |
added_by | integer |
deleted_at | datetime |
deleted_by | integer |
Permissions
One of the following roles is required to call this method:
- Registrar
- Academic Admin
create (syllabus)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"name": "Author Interview",
"url": "http:\/\/www.youtube.com\/something"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:name => 'Author Interview',
:url => 'http://www.youtube.com/something'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'name': 'Author Interview',
'url': 'http://www.youtube.com/something'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
name = "Author Interview",
url = "http://www.youtube.com/something"
});
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/courseofferings/(courseoffering)/links');
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([
'name' => 'Author Interview',
'url' => 'http://www.youtube.com/something'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "link",
"id": 4,
"owner_type": "instance",
"owner_id": 21908,
"name": "Author Interview",
"description": null,
"order_id": null,
"url": "http:\/\/www.youtube.com\/something",
"lti_tool_id": null,
"status": "active",
"import_id": null,
"lti_resource_id": null,
"lti_resource_tag": null,
"cloned_from_offering_ids": null,
"added_at": "2025-04-14T23:32:13+00:00",
"added_by_id": 22,
"sandbox": true
}
Creates a new Link on the course syllabus page.
HTTP Request
POST /courseofferings/(courseoffering)/links
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
name | Yes | text (500) | |
url | Yes | text (2100) |
Permissions
One of the following roles is required to call this method:
- Registrar
- Academic Admin
show (syllabus)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)',
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/courseofferings/(courseoffering)/links/(link)"), 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/courseofferings/(courseoffering)/links/(link)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "link",
"id": 3,
"owner_type": "instance",
"owner_id": 21908,
"name": "Professor Website",
"description": null,
"order_id": 1,
"url": "https:\/\/www.example.com",
"lti_tool_id": null,
"status": "active",
"import_id": null,
"lti_resource_id": null,
"lti_resource_tag": null,
"cloned_from_offering_ids": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific Link from the course syllabus page.
HTTP Request
GET /courseofferings/(courseoffering)/links/(link)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- custom_params
Permissions
One of the following roles is required to call this method:
- Registrar
- Academic Admin
update (syllabus)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"custom_params": "{\"name1\":\"value1\",\"name2\":\"value2\"}"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)',
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/courseofferings/(courseoffering)/links/(link)"), 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/courseofferings/(courseoffering)/links/(link)');
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": "link",
"id": 3,
"owner_type": "instance",
"owner_id": 21908,
"name": "Professor Website",
"description": null,
"order_id": 1,
"url": "https:\/\/www.example.com",
"lti_tool_id": null,
"status": "active",
"import_id": null,
"lti_resource_id": null,
"lti_resource_tag": null,
"cloned_from_offering_ids": null,
"custom_params": [
{
"object": "lti_param",
"id": 2,
"owner_type": "link",
"owner_id": 3,
"param_name": "name1",
"param_value": "value1",
"param_type": "resource_link",
"added_at": "2025-04-14T23:32:13+00:00",
"added_by_id": 22,
"updated_at": "2025-04-14T23:32:13+00:00",
"updated_by_id": 22
},
{
"object": "lti_param",
"id": 3,
"owner_type": "link",
"owner_id": 3,
"param_name": "name2",
"param_value": "value2",
"param_type": "resource_link",
"added_at": "2025-04-14T23:32:13+00:00",
"added_by_id": 22,
"updated_at": "2025-04-14T23:32:13+00:00",
"updated_by_id": 22
}
],
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Updates a Link on the course syllabus page.
HTTP Request
PUT /courseofferings/(courseoffering)/links/(link)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
name | No | text (500) | |
url | No | text (2100) | |
custom_params | No | Object with key/value pairs | Custom parameters for LTI links. Existing parameters will be updated if a matching parameter name is found. Any existing parameters not included in the object will be deleted. |
Permissions
One of the following roles is required to call this method:
- Registrar
- Academic Admin
delete (syllabus)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X DELETE
require 'httparty'
response = HTTParty.delete(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)',
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/courseofferings/(courseoffering)/links/(link)"), 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/courseofferings/(courseoffering)/links/(link)');
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": "link",
"id": 1,
"deleted": true
}
Deletes a Link from the course syllabus page.
HTTP Request
DELETE /courseofferings/(courseoffering)/links/(link)
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:
- Registrar
- Academic Admin
Localization
The Localization object
The Localization object looks like this in JSON:
{
"object": "localization",
"id": 1,
"name": "Spanish",
"country_code": null,
"language_code": null,
"default": false,
"base_localization_id": 1,
"added_at": "2022-07-13T17:43:08+00:00",
"added_by_id": 10,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | No | text (200) |
country_code | No | char |
language_code | No | text (20) |
default | No | -- |
base_localization_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/localizations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/localizations',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/localizations',
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/localizations"), 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/localizations');
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": "localization",
"id": 1,
"name": "Spanish",
"country_code": null,
"language_code": null,
"default": false,
"base_localization_id": 1,
"added_at": "2022-07-13T17:43:08+00:00",
"added_by_id": 10
}
],
"sandbox": true
}
Retrieves all Localization objects.
HTTP Request
GET /localizations
Parameters
None
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/localizations/(localization)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/localizations/(localization)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/localizations/(localization)',
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/localizations/(localization)"), 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/localizations/(localization)');
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": "localization",
"id": 1,
"name": "Spanish",
"country_code": null,
"language_code": null,
"default": false,
"base_localization_id": 1,
"added_at": "2022-07-13T17:43:08+00:00",
"added_by_id": 10,
"sandbox": true
}
Retrieves a specific Localization object.
HTTP Request
GET /localizations/(localization)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- translations
LockArea
The LockArea object
The LockArea object looks like this in JSON:
{
"object": "lock_area",
"id": 1,
"lock_type_id": 1,
"lock_area": "grades",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
lock_type_id | Yes | int |
lock_area | Yes | enum (charge_to_account, courses, grades, registration, transcript) |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/lockareas" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/lockareas',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/lockareas',
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/lockareas"), 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/lockareas');
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": 7,
"results": 7,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "lock_area",
"id": 1,
"lock_type_id": 1,
"lock_area": "grades"
}
],
"sandbox": true
}
Retrieves all LockArea objects.
HTTP Request
GET /lockareas
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
- Development
LockStudent
The LockStudent object
The LockStudent object looks like this in JSON:
{
"object": "lock_student",
"id": 1,
"person_id": 2,
"lock_type_id": 1,
"reason": "Unpaid invoices.",
"note": null,
"added_at": "2022-07-13T17:58:35+00:00",
"added_by_id": 16,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
person_id | Yes | int |
lock_type_id | Yes | int |
reason | No | text |
note | No | text |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/locks" \
-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)/locks',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/locks',
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)/locks"), 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)/locks');
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": "lock_student",
"id": 2,
"person_id": 12,
"lock_type_id": 1,
"reason": "Unpaid parking tickets.",
"note": null,
"added_at": "2022-08-13T17:58:35+00:00",
"added_by_id": 16
}
],
"sandbox": true
}
Retrieves all LockStudent objects tied to a specific Person.
HTTP Request
GET /people/(person)/locks
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
create_lock
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/locks/create" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"lock_type_id": "3"
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/locks/create',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:lock_type_id => '3'
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/locks/create',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'lock_type_id': '3'
}
)
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)/locks/create"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
lock_type_id = "3"
});
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)/locks/create');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'lock_type_id' => '3'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "lock_student",
"id": 4,
"person_id": 12,
"lock_type_id": 3,
"reason": null,
"note": null,
"added_at": "2025-04-14T23:32:17+00:00",
"added_by_id": 22,
"sandbox": true
}
HTTP Request
GET /people/(person)/locks/create
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
lock_type_id | Yes | int | |
reason | No | text | |
note | No | text |
Permissions
One of the following roles is required to call this method:
- Staff
- Advisor
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/locks/(lockstudent)" \
-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)/locks/(lockstudent)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/locks/(lockstudent)',
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)/locks/(lockstudent)"), 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)/locks/(lockstudent)');
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": "lock_student",
"id": 2,
"person_id": 12,
"lock_type_id": 1,
"reason": "Unpaid parking tickets.",
"note": null,
"added_at": "2022-08-13T17:58:35+00:00",
"added_by_id": 16,
"sandbox": true
}
Retrieves a specific LockStudent object.
HTTP Request
GET /people/(person)/locks/(lockstudent)
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:
- Staff
- Advisor
update_lock
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/locks/(lockstudent)/update" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/people/(person)/locks/(lockstudent)/update',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/locks/(lockstudent)/update',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/locks/(lockstudent)/update"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/locks/(lockstudent)/update');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "lock_student",
"id": 2,
"person_id": 12,
"lock_type_id": 1,
"reason": null,
"note": null,
"added_at": "2022-08-13T17:58:35+00:00",
"added_by_id": 16,
"sandbox": true
}
Updates the lock attribute of an existing LockStudent object.
HTTP Request
PUT /people/(person)/locks/(lockstudent)/update
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
reason | No | text | |
note | No | text |
Permissions
One of the following roles is required to call this method:
- Staff
- Advisor
delete_lock
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/locks/(lockstudent)/delete" \
-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)/locks/(lockstudent)/delete',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/locks/(lockstudent)/delete',
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)/locks/(lockstudent)/delete"), 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)/locks/(lockstudent)/delete');
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": "lock_student",
"id": 2,
"deleted": true
}
HTTP Request
GET /people/(person)/locks/(lockstudent)/delete
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
- Advisor
LockType
The LockType object
The LockType object looks like this in JSON:
{
"object": "lock_type",
"id": 4,
"name": "Courses",
"advisor_permission": "read",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (100) |
advisor_permission | Yes | enum (none, read, write) |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/locktypes" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/locktypes',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/locktypes',
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/locktypes"), 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/locktypes');
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": "lock_type",
"id": 4,
"name": "Courses",
"advisor_permission": "read"
}
],
"sandbox": true
}
Retrieves all LockType objects.
HTTP Request
GET /locktypes
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
- Development
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/locktypes/(locktype)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/locktypes/(locktype)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/locktypes/(locktype)',
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/locktypes/(locktype)"), 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/locktypes/(locktype)');
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": "lock_type",
"id": 4,
"name": "Courses",
"advisor_permission": "read",
"sandbox": true
}
Retrieves a specific LockType object.
HTTP Request
GET /locktypes/(locktype)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- roles
- areas
- students
Permissions
One of the following roles is required to call this method:
- Academic Admin
- Registrar
- Academic Auditor
- Development
Login
The Login object
The Login object looks like this in JSON:
{
"object": "login",
"id": 1,
"user_id": 33,
"username": null,
"outcome": "success",
"is_partial": false,
"server_ip": "102.18.0.7",
"user_ip": "102.18.0.13",
"time": "2024-07-23T21:32:23+00:00",
"browser": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/126.0.0.0 Safari\/537.36",
"browser_fingerprint": 3553873836,
"type": "username_password",
"device_id": 6,
"user_device_id": 1,
"fail_reason": null,
"partial_login_reason": null,
"timezone": "America\/Los_Angeles",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
user_id | No | int |
username | No | text (100) |
outcome | No | enum (success, fail) |
is_partial | Yes | bool |
server_ip | Yes | text (75) |
user_ip | Yes | text (75) |
time | Yes | datetime |
browser | No | text (200) |
browser_fingerprint | No | int |
type | Yes | enum (username_password, sso) |
device_id | No | int |
user_device_id | No | int |
fail_reason | No | enum (blocked, invalid_org, invalid_credentials, wrong_org, wrong_type) |
partial_login_reason | No | enum (enable_two_factor, verify_two_factor, change_password, submit_form) |
timezone | No | text (50) |
sandbox | No | -- |
logins
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/logins" \
-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/logins',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/logins',
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/logins"), 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/logins');
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": "login",
"id": 1,
"user_id": 33,
"username": null,
"outcome": "success",
"is_partial": false,
"server_ip": "102.18.0.7",
"user_ip": "102.18.0.13",
"time": "2024-07-23T21:32:23+00:00",
"browser": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/126.0.0.0 Safari\/537.36",
"browser_fingerprint": 3553873836,
"type": "username_password",
"device_id": 6,
"user_device_id": 1,
"fail_reason": null,
"partial_login_reason": null,
"timezone": "America\/Los_Angeles",
"report_data": {
"time_local": "2024-07-23 14:32:23",
"person_name": "Bobby Booker",
"browser_type": "",
"os_name": "iPhone OS",
"device_type": "PHONE",
"user_agent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/126.0.0.0 Safari\/537.36",
"user_username": "bobbybooker"
}
}
],
"sandbox": true
}
Results are limited to logins in the past 12 months. See user_username field for the User's username. The username field will only have a value for unrecognized failed logins.
HTTP Request
GET /logins
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 |
---|---|
user | search |
username | text |
partial_login | bool |
outcome | enum |
fail_reason | choice |
partial_login_reason | choice |
type | choice |
ip_address | text |
Permissions
Only keys that have been granted Populi Account Administrator permissions may call this method.
MailingList
The MailingList object
The MailingList object looks like this in JSON:
{
"object": "mailing_list",
"id": 1,
"name": "Underclassmen",
"include_spouses": true,
"merge_spouses": false,
"include_org_members": false,
"include_orgs": false,
"added_by_name": "Elizabeth Fox",
"added_at": "2020-01-05T00:20:21+00:00",
"added_by_id": 1,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (255) |
include_spouses | Yes | bool |
merge_spouses | Yes | bool |
include_org_members | Yes | bool |
include_orgs | Yes | bool |
added_by_name | No | text |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/mailinglists" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/mailinglists',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/mailinglists',
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/mailinglists"), 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/mailinglists');
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": "mailing_list",
"id": 1,
"name": "Underclassmen",
"include_spouses": true,
"merge_spouses": false,
"include_org_members": false,
"include_orgs": false,
"added_by_name": "Elizabeth Fox",
"added_at": "2020-01-05T00:20:21+00:00",
"added_by_id": 1
}
],
"sandbox": true
}
Retrieves all MailingList objects.
HTTP Request
GET /mailinglists
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/mailinglists/(mailinglist)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/mailinglists/(mailinglist)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/mailinglists/(mailinglist)',
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/mailinglists/(mailinglist)"), 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/mailinglists/(mailinglist)');
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": "mailing_list",
"id": 1,
"name": "Underclassmen",
"include_spouses": true,
"merge_spouses": false,
"include_org_members": false,
"include_orgs": false,
"added_by_name": "Elizabeth Fox",
"added_at": "2020-01-05T00:20:21+00:00",
"added_by_id": 1,
"sandbox": true
}
Retrieves a specific MailingList object.
HTTP Request
GET /mailinglists/(mailinglist)
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:
- Staff
MealPlan
The MealPlan object
The MealPlan object looks like this in JSON:
{
"object": "meal_plan",
"id": 1,
"name": "Gold",
"amount": 1500,
"status": "active",
"external_account_id": 1,
"account_id": 1,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (100) |
amount | Yes | decimal |
status | Yes | enum (active, retired, deleted) |
external_account_id | Yes | int |
account_id | Yes | 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/mealplans" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/mealplans',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/mealplans',
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/mealplans"), 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/mealplans');
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": "meal_plan",
"id": 1,
"name": "Gold",
"amount": 1500,
"status": "active",
"external_account_id": 1,
"account_id": 1,
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all MealPlan objects.
HTTP Request
GET /mealplans
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Campus Life
- Financial Admin
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/mealplans/(mealplan)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/mealplans/(mealplan)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/mealplans/(mealplan)',
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/mealplans/(mealplan)"), 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/mealplans/(mealplan)');
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": "meal_plan",
"id": 1,
"name": "Gold",
"amount": 1500,
"status": "active",
"external_account_id": 1,
"account_id": 1,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific MealPlan object.
HTTP Request
GET /mealplans/(mealplan)
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:
- Financial Auditor
- Campus Life
- Financial Admin
MealPlanStudent
The MealPlanStudent object
The MealPlanStudent object looks like this in JSON:
{
"object": "meal_plan_student",
"id": 6,
"term_id": 73,
"student_id": 61,
"plan_id": 1,
"amount": 1500,
"adjustment": 0,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
term_id | Yes | int |
student_id | Yes | int |
plan_id | Yes | int |
amount | Yes | decimal |
adjustment | Yes | 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/people/(person)/mealplans" \
-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)/mealplans',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/mealplans',
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)/mealplans"), 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)/mealplans');
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": "meal_plan_student",
"id": 8,
"term_id": 7,
"student_id": 12,
"plan_id": 2,
"amount": 1500,
"adjustment": 0,
"meal_plan": {
"object": "meal_plan",
"id": 2,
"name": "Silver",
"amount": 1255.55,
"status": "active",
"external_account_id": 1,
"account_id": 1,
"added_at": null,
"added_by_id": null
},
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all MealPlanStudent objects tied to a specific Person.
HTTP Request
GET /people/(person)/mealplans
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Campus Life
- Financial Admin
- Student Billing
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/mealplans" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"academic_term_id": 8,
"meal_plan_id": 1
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/mealplans',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:academic_term_id => 8,
:meal_plan_id => 1
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/mealplans',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'academic_term_id': 8,
'meal_plan_id': 1
}
)
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)/mealplans"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
academic_term_id = 8,
meal_plan_id = 1
});
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)/mealplans');
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([
'academic_term_id' => 8,
'meal_plan_id' => 1
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "meal_plan_student",
"id": 183,
"term_id": 8,
"student_id": 12,
"plan_id": 1,
"amount": 0,
"adjustment": 0,
"meal_plan": {
"object": "meal_plan",
"id": 1,
"name": "Gold",
"amount": 1500,
"status": "active",
"external_account_id": 1,
"account_id": 1,
"added_at": null,
"added_by_id": null
},
"added_at": "2025-04-14T23:32:18+00:00",
"added_by_id": 22,
"sandbox": true
}
Creates a new MealPlanStudent object.
HTTP Request
POST /people/(person)/mealplans
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
academic_term_id | Yes | int | |
meal_plan_id | Yes | int |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Student Billing
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/mealplans/(mealplanstudent)" \
-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)/mealplans/(mealplanstudent)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/mealplans/(mealplanstudent)',
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)/mealplans/(mealplanstudent)"), 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)/mealplans/(mealplanstudent)');
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": "meal_plan_student",
"id": 7,
"term_id": 8,
"student_id": 16,
"plan_id": 1,
"amount": 1500,
"adjustment": 0,
"meal_plan": {
"object": "meal_plan",
"id": 1,
"name": "Gold",
"amount": 1500,
"status": "active",
"external_account_id": 1,
"account_id": 1,
"added_at": null,
"added_by_id": null
},
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific MealPlanStudent object.
HTTP Request
GET /people/(person)/mealplans/(mealplanstudent)
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:
- Financial Auditor
- Campus Life
- Financial Admin
- Student Billing
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/mealplans/(mealplanstudent)" \
-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)/mealplans/(mealplanstudent)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/mealplans/(mealplanstudent)',
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)/mealplans/(mealplanstudent)"), 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)/mealplans/(mealplanstudent)');
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": "meal_plan_student",
"id": 7,
"term_id": 8,
"student_id": 16,
"plan_id": 1,
"amount": 0,
"adjustment": 0,
"meal_plan": {
"object": "meal_plan",
"id": 1,
"name": "Gold",
"amount": 1500,
"status": "active",
"external_account_id": 1,
"account_id": 1,
"added_at": null,
"added_by_id": null
},
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Updates an existing MealPlanStudent object.
HTTP Request
PUT /people/(person)/mealplans/(mealplanstudent)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
meal_plan_id | No | int |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Student Billing
delete
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/mealplans/(mealplanstudent)" \
-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)/mealplans/(mealplanstudent)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/people/(person)/mealplans/(mealplanstudent)',
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)/mealplans/(mealplanstudent)"), 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)/mealplans/(mealplanstudent)');
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": "meal_plan_student",
"id": 7,
"deleted": true
}
Deletes an existing MealPlanStudent object.
HTTP Request
DELETE /people/(person)/mealplans/(mealplanstudent)
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:
- Financial Admin
- Student Billing
News
The News object
The News object looks like this in JSON:
{
"object": "news",
"id": 8,
"title": "New Coffee Shop",
"content": "Check out the new coffee shop in the lobby of the school admin building!",
"publish": true,
"publish_time": "2008-01-29T01:08:56+00:00",
"pin": false,
"pin_until": null,
"allow_comments": true,
"visibility": "all",
"added_at": "2008-01-29T01:08:56+00:00",
"added_by_id": 16,
"updated_at": "2008-02-13T21:57:06+00:00",
"updated_by_id": 16,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | No | int |
title | Yes | text (200) |
content | Yes | text |
publish | No | bool |
publish_time | No | datetime |
pin | No | bool |
pin_until | No | date |
allow_comments | Yes | bool |
visibility | Yes | enum (all, select) |
added_at | Yes | 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/news" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"posted_by","value":{"display_text":"Blah","id":"123"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/news',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/news',
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/news"), 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/news');
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": "news",
"id": 8,
"title": "New Coffee Shop",
"content": "Check out the new coffee shop in the lobby of the school admin building!",
"publish": true,
"publish_time": "2008-01-29T01:08:56+00:00",
"pin": false,
"pin_until": null,
"allow_comments": true,
"visibility": "all",
"added_at": "2008-01-29T01:08:56+00:00",
"added_by_id": 16,
"updated_at": "2008-02-13T21:57:06+00:00",
"updated_by_id": 16,
"report_data": {
"author_name": "Abby Admin",
"campus_names": null
}
}
],
"sandbox": true
}
Retrieves all News objects that match given filter conditions.
HTTP Request
GET /news
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
- comments
- likes
- campuses
- roles
- files
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
title | text |
publish | bool |
publish_time | datetime |
pin | bool |
pin_until | date |
allow_comments | bool |
posted_time | datetime |
posted_by | search |
Permissions
One of the following roles is required to call this method:
- Staff
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/news/(news)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/news/(news)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/news/(news)',
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/news/(news)"), 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/news/(news)');
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": "news",
"id": 8,
"title": "New Coffee Shop",
"content": "Check out the new coffee shop in the lobby of the school admin building!",
"publish": true,
"publish_time": "2008-01-29T01:08:56+00:00",
"pin": false,
"pin_until": null,
"allow_comments": true,
"visibility": "all",
"added_at": "2008-01-29T01:08:56+00:00",
"added_by_id": 16,
"updated_at": "2008-02-13T21:57:06+00:00",
"updated_by_id": 16,
"sandbox": true
}
Retrieves a specific News object.
HTTP Request
GET /news/(news)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- comments
- likes
- campuses
- roles
- files
Permissions
One of the following roles is required to call this method:
- Staff
Note
The Note object
The Note object looks like this in JSON:
{
"object": "note",
"id": 14,
"owner_type": "person",
"owner_id": 1,
"content": "They said on the phone they are deferring their enrollment.",
"hidden": false,
"added_at": "2018-01-30T00:04:04+00:00",
"added_by_id": 2,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
owner_type | Yes | enum (person, course, assignment, student, contact_org, contact, transaction, ledger_entry, todo, roster, bookstore_order, aid_year_award, room, transcript) |
owner_id | Yes | int |
content | Yes | text |
hidden | No | bool |
added_at | Yes | datetime |
added_by_id | No | int |
sandbox | No | -- |
index (organization)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/notes" \
-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)/notes',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/organizations/(organization)/notes',
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)/notes"), 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)/notes');
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": "note",
"id": 16,
"owner_type": "contact_org",
"owner_id": 1,
"content": "Has 5 internship slots open for this summer.",
"hidden": false,
"added_at": "2020-01-30T00:04:04+00:00",
"added_by_id": 2
}
],
"sandbox": true
}
Retrieves all Note objects tied to a specific Organization.
HTTP Request
GET /organizations/(organization)/notes
Parameters
None
Expandable Properties
- flag
create (organization)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/notes" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"note": "blah blah",
"is_private": "1",
"visibility_role_ids": "[7, 13, 14]"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/organizations/(organization)/notes',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:note => 'blah blah',
:visibility_role_ids => '[7, 13, 14]'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/organizations/(organization)/notes',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'note': 'blah blah',
'visibility_role_ids': '[7, 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/organizations/(organization)/notes"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
note = "blah blah",
visibility_role_ids = "[7, 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/organizations/(organization)/notes');
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([
'note' => 'blah blah',
'visibility_role_ids' => '[7, 13, 14]'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
"Example response not available."
Creates a new Note object.
HTTP Request
POST /organizations/(organization)/notes
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
note | Yes | text | |
is_private | No | bool | |
visibility_role_ids | Yes | array of Role ids | |
is_flagged | No | bool |
You can optionally include a file upload with this route. Use a form post parameter called "file". Read about request and response format to see how parameters need to be specified differently when there is a file upload.
index (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/notes" \
-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)/notes',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/notes',
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)/notes"), 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)/notes');
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": "note",
"id": 15,
"owner_type": "person",
"owner_id": 12,
"content": "Called and set up a school tour.",
"hidden": false,
"added_at": "2020-01-30T00:04:04+00:00",
"added_by_id": 2
}
],
"sandbox": true
}
Retrieves all Note objects tied to a specific Person.
HTTP Request
GET /people/(person)/notes
Parameters
None
Expandable Properties
- flag
create (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/notes" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"note": "blah blah",
"is_private": "1",
"visibility_role_ids": "[7, 13, 14]"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/notes',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:note => 'blah blah'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/notes',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'note': 'blah blah'
}
)
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)/notes"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
note = "blah blah"
});
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)/notes');
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([
'note' => 'blah blah'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "note",
"id": 17,
"owner_type": "person",
"owner_id": 12,
"content": "blah blah",
"hidden": false,
"added_at": "2025-04-14T23:32:13+00:00",
"added_by_id": 22,
"sandbox": true
}
Creates a new Note object.
HTTP Request
POST /people/(person)/notes
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
note | Yes | text | |
is_private | No | bool | |
visibility_role_ids | No | array of Role ids | Default is [4] |
is_flagged | No | bool |
You can optionally include a file upload with this route. Use a form post parameter called "file". Read about request and response format to see how parameters need to be specified differently when there is a file upload.
Occupation
The Occupation object
The Occupation object looks like this in JSON:
{
"object": "occupation",
"id": 1,
"soc_code": "11-1011",
"name": "Chief Executives",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
soc_code | No | text (10) |
name | No | text (255) |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/occupations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/occupations',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/occupations',
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/occupations"), 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/occupations');
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": "occupation",
"id": 1,
"soc_code": "11-1011",
"name": "Chief Executives"
}
],
"sandbox": true
}
Retrieves all Occupation objects.
HTTP Request
GET /occupations
Parameters
None
Permissions
Any role may call this method.
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/occupations/(occupation)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/occupations/(occupation)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/occupations/(occupation)',
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/occupations/(occupation)"), 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/occupations/(occupation)');
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": "occupation",
"id": 1,
"soc_code": "11-1011",
"name": "Chief Executives",
"sandbox": true
}
Retrieves a specific Occupation object.
HTTP Request
GET /occupations/(occupation)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Permissions
Any role may call this method.
OnlinePayment
The OnlinePayment object
The OnlinePayment object looks like this in JSON:
{
"object": "online_payment",
"id": 6,
"status": "construction",
"type": "credit_card",
"link_type": null,
"link_id": null,
"person_id": null,
"amount": 0,
"net_amount": null,
"preset_amount": null,
"first_name": "Jon",
"last_name": "Doe",
"street": "1000 1st Av",
"city": "Moscow",
"state": "ID",
"postal": "10101",
"country": "US",
"email": "jon@hotmail.org",
"phone": "777-888-7777",
"cc_status": null,
"cc_last_digits": "1111",
"cc_bin": null,
"cc_is_international": false,
"cc_expiration_month": 2,
"cc_expiration_year": 2010,
"cc_transaction_id": "A050B0F28A084EF1B9E445D2792A85B6",
"cc_approval_code": "17360",
"cc_processing_fee": null,
"cc_status_code": "APPROVED",
"cc_status_msg": "APPROVED",
"bank_name": null,
"bank_account_last_four": null,
"last_settlement_check_at": null,
"ach_status": null,
"ach_return_id": null,
"ach_settled_response": null,
"ach_return_message": null,
"ach_transaction_id": null,
"paypal_order_id": null,
"paypal_payer_id": null,
"paypal_authorization_id": null,
"paypal_status": null,
"reference_number": null,
"organization_name": null,
"payment_gateway_id": null,
"payment_gateway_processing_fee": null,
"gateway_customer_token": null,
"gateway_source_token": null,
"payment_frequency": null,
"recurring_interval": null,
"recurring_day": false,
"recurring_until": null,
"recurring_max_times": null,
"recurring_money_transfer_id": null,
"comment": null,
"donate_page_id": null,
"donation_campaign_id": null,
"donation_appeal_id": null,
"draft_date_id": null,
"back_url": null,
"payment_secret": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
status | Yes | enum (construction, checkout, payment, processing, complete, error) |
type | Yes | enum (credit_card, ach, paypal, charge_to_account) |
link_type | No | enum (payment, donation, application, bookstore_order, course_order, transcript_request, form_response, recurring_money_transfer, populi_client) |
link_id | No | int |
person_id | No | int |
amount | Yes | decimal |
net_amount | No | decimal |
preset_amount | No | decimal |
first_name | No | text (75) |
last_name | No | text (75) |
street | No | text (150) |
city | No | text (100) |
state | No | text (50) |
postal | No | text (50) |
country | No | text (50) |
No | text (75) | |
phone | No | text (50) |
cc_status | No | enum (authorized, captured, error, refunded, initialized, setup_complete) |
cc_last_digits | No | char |
cc_bin | No | char |
cc_is_international | Yes | bool |
cc_expiration_month | No | int |
cc_expiration_year | No | int |
cc_transaction_id | No | text (300) |
cc_approval_code | No | text (50) |
cc_processing_fee | No | decimal |
cc_status_code | No | text (50) |
cc_status_msg | No | text (300) |
bank_name | No | text (200) |
bank_account_last_four | No | char |
last_settlement_check_at | No | datetime |
ach_status | No | enum (pending, settled, error, initialized, setup_complete) |
ach_return_id | No | text (200) |
ach_settled_response | No | text (5000) |
ach_return_message | No | text (500) |
ach_transaction_id | No | text (200) |
paypal_order_id | No | text (128) |
paypal_payer_id | No | text (128) |
paypal_authorization_id | No | text (128) |
paypal_status | No | enum (initialized, authorized, captured, error, refunded) |
reference_number | No | text (100) |
organization_name | No | text |
payment_gateway_id | No | int |
payment_gateway_processing_fee | No | decimal |
gateway_customer_token | No | text (100) |
gateway_source_token | No | text (100) |
payment_frequency | No | enum (single, intverval, plan) |
recurring_interval | No | enum (1_week, 2_week, 4_week, 1_month, 3_month, 12_month) |
recurring_day | No | bool |
recurring_until | No | enum (forever, max_times) |
recurring_max_times | No | int |
recurring_money_transfer_id | No | int |
comment | No | text |
donate_page_id | No | int |
donation_campaign_id | No | int |
donation_appeal_id | No | int |
draft_date_id | No | int |
back_url | No | text (1000) |
payment_secret | No | text (100) |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/onlinepayments" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"amount","value":{"type":"RANGE","start":"10.5","end":"900.15"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/onlinepayments',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/onlinepayments',
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/onlinepayments"), 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/onlinepayments');
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 OnlinePayment objects that match given filter conditions.
HTTP Request
GET /onlinepayments
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 |
---|---|
created | date |
link_type | choice |
type | enum |
status | text |
gateway | object id |
payer_account | text |
first_name | text |
last_name | text |
text | |
phone | text |
processing_fee | decimal |
convenience_fee | decimal |
amount | decimal |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Financial Auditor
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/onlinepayments/(onlinepayment)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/onlinepayments/(onlinepayment)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/onlinepayments/(onlinepayment)',
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/onlinepayments/(onlinepayment)"), 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/onlinepayments/(onlinepayment)');
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": "online_payment",
"id": 6,
"status": "construction",
"type": "credit_card",
"link_type": null,
"link_id": null,
"person_id": null,
"amount": 0,
"net_amount": null,
"preset_amount": null,
"first_name": "Jon",
"last_name": "Doe",
"street": "1000 1st Av",
"city": "Moscow",
"state": "ID",
"postal": "10101",
"country": "US",
"email": "jon@hotmail.org",
"phone": "777-888-7777",
"cc_status": null,
"cc_last_digits": "1111",
"cc_bin": null,
"cc_is_international": false,
"cc_expiration_month": 2,
"cc_expiration_year": 2010,
"cc_transaction_id": "A050B0F28A084EF1B9E445D2792A85B6",
"cc_approval_code": "17360",
"cc_processing_fee": null,
"cc_status_code": "APPROVED",
"cc_status_msg": "APPROVED",
"bank_name": null,
"bank_account_last_four": null,
"last_settlement_check_at": null,
"ach_status": null,
"ach_return_id": null,
"ach_settled_response": null,
"ach_return_message": null,
"ach_transaction_id": null,
"paypal_order_id": null,
"paypal_payer_id": null,
"paypal_authorization_id": null,
"paypal_status": null,
"reference_number": null,
"organization_name": null,
"payment_gateway_id": null,
"payment_gateway_processing_fee": null,
"gateway_customer_token": null,
"gateway_source_token": null,
"payment_frequency": null,
"recurring_interval": null,
"recurring_day": false,
"recurring_until": null,
"recurring_max_times": null,
"recurring_money_transfer_id": null,
"comment": null,
"donate_page_id": null,
"donation_campaign_id": null,
"donation_appeal_id": null,
"draft_date_id": null,
"back_url": null,
"payment_secret": null,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific OnlinePayment object.
HTTP Request
GET /onlinepayments/(onlinepayment)
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:
- Financial Admin
- Financial Auditor
Organization
The Organization object
The Organization object looks like this in JSON:
{
"object": "organization",
"id": 1,
"name": "The Oxford School",
"website": "https:\/\/www.wikipedia.org",
"image_file_id": null,
"industry_id": null,
"ceeb_code": null,
"info_changed_at": null,
"added_at": null,
"added_by_id": null,
"type": "College",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (255) |
website | No | text (150) |
image_file_id | No | int |
industry_id | No | int |
ceeb_code | No | int |
info_changed_at | No | datetime |
added_at | No | datetime |
added_by_id | No | int |
type | No | text |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"tag","value":{"display_text":"Blah","id":"123"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/organizations',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/organizations',
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"), 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');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 3,
"results": 3,
"results_per_page": 200,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "organization",
"id": 4,
"name": "Art Academy",
"website": "https:\/\/www.yahoo.com",
"image_file_id": null,
"industry_id": null,
"ceeb_code": null,
"info_changed_at": null,
"added_at": null,
"added_by_id": null,
"report_data": {
"type_name": "College",
"primary_address_id": null,
"primary_address_street": null,
"primary_address_city": null,
"primary_address_state": null,
"primary_address_zip": null,
"primary_address_country": null,
"primary_address_type": null,
"primary_address_public": null,
"contact_primary_email": null,
"contact_primary_phone": null,
"member_count": 1
},
"type": "College"
}
],
"sandbox": true
}
Retrieves all Organization objects that match given filter conditions.
HTTP Request
GET /organizations
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
- tags
- members
- notes
- organization_type
- addresses
- phone_numbers
- email_addresses
- websites
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
address | address |
custom_field | custom |
has_profile_picture | bool |
name | text |
phone | phone |
tag | tag |
type | object id |
website | website |
members | integer |
added_at | datetime |
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Financial Auditor
- Staff
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"name": "Forest Academy"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/organizations',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:name => 'Forest Academy'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/organizations',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'name': 'Forest Academy'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/organizations"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
name = "Forest Academy"
});
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');
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([
'name' => 'Forest Academy'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "organization",
"id": 5,
"name": "Forest Academy",
"website": null,
"image_file_id": null,
"industry_id": null,
"ceeb_code": null,
"info_changed_at": null,
"added_at": "2025-04-14T23:32:15+00:00",
"added_by_id": 22,
"type": null,
"sandbox": true
}
Creates a new Organization object.
HTTP Request
POST /organizations
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
name | Yes | text (255) | |
organization_type_id | No | int |
Permissions
One of the following roles is required to call this method:
- Staff
- Staff
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)" \
-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)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/organizations/(organization)',
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)"), 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)');
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": "organization",
"id": 1,
"name": "The Oxford School",
"website": "https:\/\/www.wikipedia.org",
"image_file_id": null,
"industry_id": null,
"ceeb_code": null,
"info_changed_at": null,
"added_at": null,
"added_by_id": null,
"type": "College",
"sandbox": true
}
Retrieves a specific Organization object.
HTTP Request
GET /organizations/(organization)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- tags
- members
- notes
- organization_type
- addresses
- phone_numbers
- email_addresses
- websites
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Financial Auditor
- Staff
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/organizations/(organization)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/organizations/(organization)',
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)"), 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)');
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": "organization",
"id": 1,
"name": "The Oxford School",
"website": "https:\/\/www.wikipedia.org",
"image_file_id": null,
"industry_id": null,
"ceeb_code": null,
"info_changed_at": null,
"added_at": null,
"added_by_id": null,
"type": "College",
"sandbox": true
}
Updates an existing Organization object.
HTTP Request
PUT /organizations/(organization)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
name | No | text (255) | |
organization_type_id | No | int |
Permissions
One of the following roles is required to call this method:
- Staff
- Staff
delete
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)" \
-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)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/organizations/(organization)',
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)"), 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)');
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": "organization",
"id": 5,
"deleted": true
}
Deletes an existing Organization object.
HTTP Request
DELETE /organizations/(organization)
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:
- Staff
OrganizationDomain
The OrganizationDomain object
The OrganizationDomain object looks like this in JSON:
{
"object": "organization_domain",
"id": 1,
"domain": "nsa.edu",
"primary": true,
"for_usernames": true,
"dmarc_enabled": false,
"spf_verified": false,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
domain | Yes | text (100) |
primary | No | -- |
for_usernames | Yes | bool |
dmarc_enabled | Yes | bool |
spf_verified | Yes | bool |
added_at | No | datetime |
added_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizationdomains" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/organizationdomains',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/organizationdomains',
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/organizationdomains"), 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/organizationdomains');
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": "organization_domain",
"id": 1,
"domain": "nsa.edu",
"primary": true,
"for_usernames": true,
"dmarc_enabled": false,
"spf_verified": false,
"added_at": null,
"added_by_id": null
}
],
"sandbox": true
}
Retrieves all OrganizationDomain objects.
HTTP Request
GET /organizationdomains
Parameters
None
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizationdomains/(organizationdomain)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/organizationdomains/(organizationdomain)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/organizationdomains/(organizationdomain)',
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/organizationdomains/(organizationdomain)"), 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/organizationdomains/(organizationdomain)');
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": "organization_domain",
"id": 1,
"domain": "nsa.edu",
"primary": true,
"for_usernames": true,
"dmarc_enabled": false,
"spf_verified": false,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific OrganizationDomain object.
HTTP Request
GET /organizationdomains/(organizationdomain)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
OrganizationMember
The OrganizationMember object
The OrganizationMember object looks like this in JSON:
{
"object": "organization_member",
"id": 5,
"organization_id": 1,
"person_id": 8,
"type": "member",
"title": null,
"start_date": null,
"end_date": null,
"occupation_id": null,
"full_time": true,
"hours_worked": null,
"salary": null,
"reported_on": null,
"primary": false,
"is_private": false,
"show_on_transcript": false,
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
organization_id | No | int |
person_id | Yes | int |
type | Yes | enum (job, field_of_study, member) |
title | No | text (255) |
start_date | No | date |
end_date | No | date |
occupation_id | No | int |
full_time | Yes | bool |
hours_worked | No | int |
salary | No | int |
reported_on | No | date |
primary | No | bool |
is_private | Yes | bool |
show_on_transcript | Yes | bool |
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)/organizations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"organization_id": 1,
"type": "JOB"
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/organizations',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/organizations',
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)/organizations"), 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)/organizations');
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": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [],
"sandbox": true
}
Retrieves all OrganizationMember objects tied to a specific Person.
HTTP Request
GET /people/(person)/organizations
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
organization_id | No | int | |
type | No | enum (job, field_of_study, member) |
Permissions
One of the following roles is required to call this method:
- Staff
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/organizations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"organization_id": 1,
"type": "job"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/organizations',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:organization_id => 1,
:type => 'job'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/organizations',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'organization_id': 1,
'type': 'job'
}
)
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)/organizations"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
organization_id = 1,
type = "job"
});
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)/organizations');
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([
'organization_id' => 1,
'type' => 'job'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "organization_member",
"id": 9,
"organization_id": 1,
"person_id": 12,
"type": "job",
"title": null,
"start_date": null,
"end_date": null,
"occupation_id": null,
"full_time": false,
"hours_worked": null,
"salary": null,
"reported_on": "2025-04-14",
"primary": true,
"is_private": false,
"show_on_transcript": true,
"contact_organization": {
"object": "organization",
"id": 1,
"name": "The Oxford School",
"website": "https:\/\/www.wikipedia.org",
"image_file_id": null,
"industry_id": null,
"ceeb_code": null,
"info_changed_at": "2025-04-14T23:32:16-0700",
"added_at": null,
"added_by_id": null,
"type": "College"
},
"added_at": "2025-04-14T23:32:17+00:00",
"added_by_id": 22,
"sandbox": true
}
Creates a new OrganizationMember object.
HTTP Request
POST /people/(person)/organizations
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
organization_id | Yes | int | |
type | Yes | enum (job, field_of_study, member) | |
primary | No | bool | |
full_time | No | bool | |
show_on_transcript | No | bool | |
is_private | No | bool | |
title | No | text (255) | |
start_date | No | date | |
end_date | No | date | |
occupation_id | No | int | |
hours_worked | No | int | |
salary | No | int |
Permissions
One of the following roles is required to call this method:
- Staff
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/organizations/(organizationmember)" \
-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)/organizations/(organizationmember)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/organizations/(organizationmember)',
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)/organizations/(organizationmember)"), 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)/organizations/(organizationmember)');
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": "organization_member",
"id": 6,
"organization_id": 4,
"person_id": 12,
"type": "member",
"title": null,
"start_date": null,
"end_date": null,
"occupation_id": null,
"full_time": true,
"hours_worked": null,
"salary": null,
"reported_on": null,
"primary": false,
"is_private": false,
"show_on_transcript": false,
"contact_organization": {
"object": "organization",
"id": 4,
"name": "Art Academy",
"website": "https:\/\/www.yahoo.com",
"image_file_id": null,
"industry_id": null,
"ceeb_code": null,
"info_changed_at": null,
"added_at": null,
"added_by_id": null,
"type": "College"
},
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Retrieves a specific OrganizationMember object.
HTTP Request
GET /people/(person)/organizations/(organizationmember)
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:
- Staff
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/organizations/(organizationmember)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"organization_id": 4
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/people/(person)/organizations/(organizationmember)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/people/(person)/organizations/(organizationmember)',
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)/organizations/(organizationmember)"), 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)/organizations/(organizationmember)');
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": "organization_member",
"id": 6,
"organization_id": 4,
"person_id": 12,
"type": "member",
"title": null,
"start_date": null,
"end_date": null,
"occupation_id": null,
"full_time": true,
"hours_worked": null,
"salary": null,
"reported_on": null,
"primary": false,
"is_private": false,
"show_on_transcript": false,
"contact_organization": {
"object": "organization",
"id": 4,
"name": "Art Academy",
"website": "https:\/\/www.yahoo.com",
"image_file_id": null,
"industry_id": null,
"ceeb_code": null,
"info_changed_at": null,
"added_at": null,
"added_by_id": null,
"type": "College"
},
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Updates an existing OrganizationMember object.
HTTP Request
PUT /people/(person)/organizations/(organizationmember)
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
organization_id | No | int | |
type | No | enum (job, field_of_study, member) | |
primary | No | bool | |
full_time | No | bool | |
show_on_transcript | No | bool | |
is_private | No | bool | |
title | No | text (255) | |
start_date | No | date | |
end_date | No | date | |
occupation_id | No | int | |
hours_worked | No | int | |
salary | No | int |
Permissions
One of the following roles is required to call this method:
- Staff
delete
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/organizations/(organizationmember)" \
-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)/organizations/(organizationmember)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/people/(person)/organizations/(organizationmember)',
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)/organizations/(organizationmember)"), 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)/organizations/(organizationmember)');
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": "organization_member",
"id": 6,
"deleted": true
}
Deletes an existing OrganizationMember object.
HTTP Request
DELETE /people/(person)/organizations/(organizationmember)
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:
- Staff
OrganizationType
The OrganizationType object
The OrganizationType object looks like this in JSON:
{
"object": "organization_type",
"id": 3,
"name": "Business",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (50) |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizationtypes" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/organizationtypes',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/organizationtypes',
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/organizationtypes"), 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/organizationtypes');
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": 6,
"results": 6,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "organization_type",
"id": 3,
"name": "Business"
}
],
"sandbox": true
}
Retrieves all OrganizationType objects.
HTTP Request
GET /organizationtypes
Parameters
None
Permissions
One of the following roles is required to call this method:
- Staff
- Development
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizationtypes/(organizationtype)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/organizationtypes/(organizationtype)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/organizationtypes/(organizationtype)',
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/organizationtypes/(organizationtype)"), 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/organizationtypes/(organizationtype)');
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": "organization_type",
"id": 3,
"name": "Business",
"sandbox": true
}
Retrieves a specific OrganizationType object.
HTTP Request
GET /organizationtypes/(organizationtype)
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:
- Staff
- Development
Payment
The Payment object
The Payment object looks like this in JSON:
{
"object": "payment",
"id": 5,
"student_id": 1,
"transaction_id": 21,
"number": 1,
"amount": 100,
"online_payment_id": null,
"convenience_fee_amount": 0,
"paid_by_type": "person",
"paid_by_id": 2,
"aid_type_id": null,
"refund_source": null,
"reference_number": null,
"receipt_number": "ce9e16ad2e",
"amount_available": 100,
"currency": "USD",
"exchange_rate": null,
"home_currency_amount": 100,
"recurring_money_transfer_id": null,
"aid_disbursement_id": null,
"treat_as_aid": false,
"organization_name": null,
"method": "other",
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
student_id | No | int |
transaction_id | Yes | int |
number | No | int |
amount | Yes | decimal |
online_payment_id | No | int |
convenience_fee_amount | Yes | decimal |
paid_by_type | Yes | enum (person, org, aid_provider) |
paid_by_id | Yes | int |
aid_type_id | No | int |
refund_source | No | enum (all, payments_credits, all_aid, federal_aid, non_federal_aid, aid_type) |
reference_number | Yes | text (100) |
receipt_number | No | text (50) |
amount_available | Yes | decimal |
currency | No | text (3) |
exchange_rate | No | decimal |
home_currency_amount | Yes | decimal |
recurring_money_transfer_id | No | int |
aid_disbursement_id | No | int |
treat_as_aid | Yes | bool |
organization_name | No | text |
method | No | text |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/payments" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"start_date": "2022-01-05",
"end_date": "2023-02-06",
"filter": {"0":{"logic":"ALL","fields":[{"name":"amount","value":{"type":"RANGE","start":"10.5","end":"900.15"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/payments',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:start_date => '2022-01-05',
:end_date => '2023-02-06'
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/payments',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'start_date': '2022-01-05',
'end_date': '2023-02-06'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/payments"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
start_date = "2022-01-05",
end_date = "2023-02-06"
});
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/payments');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'start_date' => '2022-01-05',
'end_date' => '2023-02-06'
]));
$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": 12,
"first_name": "Alice",
"last_name": "Admin",
"middle_name": "",
"prefix": "Mrs.",
"suffix": null,
"preferred_name": null,
"display_name": "Alice Admin",
"gender": "female",
"other_gender": null,
"image_file_id": null,
"birth_date": null,
"status": "active",
"social_security_number": null,
"alien_registration_number": null,
"social_insurance_number": null,
"home_city": null,
"home_state": null,
"home_country": null,
"former_name": null,
"license_plate": null,
"bio": null,
"hispanic_latino": false,
"resident_alien": false,
"localization_id": null,
"notification_email_id": null,
"deceased_date": null,
"import_id": null,
"staff_id": null,
"faculty_id": null,
"degree_level_id": null,
"added_at": null,
"added_by_id": 22,
"updated_at": "2025-04-14T23:32:14+00:00",
"report_data": {
"paymentid": 100,
"payer_type": "PERSON",
"payment_number": 1,
"payerid": 12,
"payment_method": "CHECK",
"posted_date": "2022-10-24",
"amount": "600.00",
"payment_type": "PAYMENT",
"org_name": null,
"transactionid": 100,
"transaction_number": 1,
"online_payment_name": null,
"online_payment_street": null,
"online_payment_city": null,
"online_payment_state": null,
"online_payment_postal": null,
"online_payment_country": null,
"payment_time": "2025-04-14 16:32:14",
"online": 0,
"online_payment_id": null,
"reference_number": "",
"receipt_number": "67fd9afe6d5f8",
"owner_type": "PERSON",
"ownerid": 12,
"payer_name": "Alice Admin",
"treat_as_aid": 0,
"convenience_fee_amount": "0.00",
"echeck_status": null,
"check_id": null,
"check_number": null
},
"private_profile": false,
"is_user": true
}
],
"sandbox": true
}
Retrieves all Payment objects that match given filter conditions. This report requires a start and end posted date range.
HTTP Request
GET /payments
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
start_date | Yes | date | |
end_date | Yes | date | |
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
- transaction
- student
- online_payment
- invoice_payments
- payment_refunds
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
is_aid_payment | bool |
payment_type | choice |
payer_type | choice |
payer_name | text |
is_third_party_aid | bool |
method | choice |
is_online_payment | bool |
amount | decimal |
currency | currency |
student_tag | tag |
student_campus | campus |
student_custom_field | custom |
Permissions
One of the following roles is required to call this method:
- Financial Aid
- Financial Auditor
- Financial Admin
- Student Billing
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/payments/(payment)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/payments/(payment)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/payments/(payment)',
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/payments/(payment)"), 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/payments/(payment)');
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": "payment",
"id": 5,
"student_id": 1,
"transaction_id": 21,
"number": 1,
"amount": 100,
"online_payment_id": null,
"convenience_fee_amount": 0,
"paid_by_type": "person",
"paid_by_id": 2,
"aid_type_id": null,
"refund_source": null,
"reference_number": null,
"receipt_number": "ce9e16ad2e",
"amount_available": 100,
"currency": "USD",
"exchange_rate": null,
"home_currency_amount": 100,
"recurring_money_transfer_id": null,
"aid_disbursement_id": null,
"treat_as_aid": false,
"organization_name": null,
"method": "other",
"sandbox": true
}
Retrieves a specific Payment object.
HTTP Request
GET /payments/(payment)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- transaction
- student
- online_payment
- invoice_payments
- payment_refunds
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Admin
- Student Billing
recurring
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/payments/recurring" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"payer_name","value":{"type":"CONTAINS","text":"blah"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/payments/recurring',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/payments/recurring',
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/payments/recurring"), 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/payments/recurring');
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": "recurring_money_transfer",
"id": 1,
"type": "payment",
"donor_id": 1,
"student_id": null,
"payer_type": null,
"payer_id": null,
"payment_plan_student_id": null,
"treat_as_aid": false,
"pay_beyond_balance": false,
"payment_method": "credit_card",
"gateway_token_provider": "stripe",
"payment_gateway_id": null,
"gateway_customer_token": "cus_MLxeHuvTzFyb2N",
"gateway_source_token": "card_1Ld0FNGz1v34x3yFuC2B0L72",
"start_date": "2022-08-31",
"end_date": null,
"last_charged_on": "2022-09-16",
"last_attempt_at": null,
"last_attempt_by_id": null,
"interval": "1_month",
"day": true,
"max_additional_times": null,
"total_times_charged": 2,
"amount": 90,
"currency": "USD",
"secret": "bfb9d17fa8a24e02f864b12f5a732199",
"first_name": "Donny",
"last_name": "McDonor",
"org_name": null,
"email_address": "donnyd@yahoo.co",
"phone_number": "123-123-1234",
"street": "123 Street",
"city": "Moscow",
"state": "ID",
"postal": "83843",
"country": "US",
"last_digits": "4242",
"card_bin": null,
"card_is_international": false,
"bank_name": null,
"donation_campaign_id": 1,
"donation_appeal_id": null,
"donation_donate_page_id": null,
"donation_fund_id": 2,
"donation_split_fund_id": 1,
"donation_split_fund_amount": 40,
"donation_staff_comment": "virtual terminal recurring test",
"status": "active",
"status_date": "2022-09-16",
"problem_message": null,
"cancel_type": null,
"last_charged_on_date": "2022-09-16",
"times_left": null,
"payment_amount": "90.00",
"payer_name": "McDonor, Donny",
"student_name": null,
"payer_street": null,
"payer_city": null,
"payer_state": null,
"payer_zip": null,
"payer_country": null,
"academic_term_id": null,
"invoice_id": null,
"payment_plan_id": null,
"schedule_type": null,
"recurring_amount": null,
"payment_plan_name": null,
"max_payment_plan_due_date": null,
"future_payment_plan_due_dates": null,
"payment_deadline_amounts": null,
"real_end_date": null,
"added_at": "2022-08-31T23:23:05+00:00",
"added_by_id": 10,
"updated_at": "2022-09-16T21:10:53+00:00",
"updated_by_id": 10
}
],
"sandbox": true
}
HTTP Request
GET /payments/recurring
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 |
---|---|
start_date | date |
end_date | date |
type | choice |
schedule | choice |
last_charged_on | date |
day | integer |
payer_name | text |
payer_type | choice |
linked_to_payer | bool |
payment_method | enum |
times_charged | integer |
times_left | integer |
amount | decimal |
status | enum |
student_tag | tag |
payer_tag | tag |
student_custom_field | custom |
payer_custom_field | custom |
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Admin
- Student Billing
index (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/payments" \
-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)/payments',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/payments',
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)/payments"), 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)/payments');
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": "payment",
"id": 7,
"student_id": 12,
"transaction_id": 12,
"number": 501,
"amount": 150,
"online_payment_id": null,
"convenience_fee_amount": 0,
"paid_by_type": "person",
"paid_by_id": 12,
"aid_type_id": null,
"refund_source": null,
"reference_number": null,
"receipt_number": "ce9sfe5d2e",
"amount_available": 150,
"currency": "USD",
"exchange_rate": null,
"home_currency_amount": 100,
"recurring_money_transfer_id": 1,
"aid_disbursement_id": null,
"treat_as_aid": false,
"organization_name": null,
"method": "cash"
}
],
"sandbox": true
}
Retrieves all Payment objects tied to a specific Person.
HTTP Request
GET /people/(person)/payments
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Admin
- Student Billing
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/payments" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"amount": 600,
"asset_account_id": 1,
"posted_date": "2022-10-24"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/people/(person)/payments',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:amount => 600,
:asset_account_id => 1
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/people/(person)/payments',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
}
json={
'amount': 600,
'asset_account_id': 1
}
)
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)/payments"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
amount = 600,
asset_account_id = 1
});
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)/payments');
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([
'amount' => 600,
'asset_account_id' => 1
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "payment",
"id": 100,
"student_id": 12,
"transaction_id": 100,
"number": 1,
"amount": 600,
"online_payment_id": null,
"convenience_fee_amount": 0,
"paid_by_type": "person",
"paid_by_id": 12,
"aid_type_id": null,
"refund_source": null,
"reference_number": null,
"receipt_number": "67fd9afe6d5f8",
"amount_available": 600,
"currency": "USD",
"exchange_rate": null,
"home_currency_amount": 600,
"recurring_money_transfer_id": null,
"aid_disbursement_id": null,
"treat_as_aid": false,
"organization_name": null,
"method": "check",
"sandbox": true
}
Creates a new Payment object.
HTTP Request
POST /people/(person)/payments
Parameters
Name | Required | Data Type | Description |
---|---|---|---|
amount | Yes | decimal | |
asset_account_id | Yes | int | |
posted_date | No | date | |
paid_by_type | No | enum (person, org) | |
paid_by_id | No | int | |
source_type | No | enum (cash, check, credit_card, ach, other, money_order) | Default is check |
reference_number | No | text (100) | |
currency | No | text (3) | |
exchange_rate | No | decimal |
Action Parameters
Name | Data Type | Description |
---|---|---|
automatically_apply_to_invoices | bool | |
pay_invoices | array of Invoice IDs |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Student Billing
show (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/payments/(payment)" \
-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)/payments/(payment)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/payments/(payment)',
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)/payments/(payment)"), 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)/payments/(payment)');
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": "payment",
"id": 7,
"student_id": 12,
"transaction_id": 12,
"number": 501,
"amount": 150,
"online_payment_id": null,
"convenience_fee_amount": 0,
"paid_by_type": "person",
"paid_by_id": 12,
"aid_type_id": null,
"refund_source": null,
"reference_number": null,
"receipt_number": "ce9sfe5d2e",
"amount_available": 150,
"currency": "USD",
"exchange_rate": null,
"home_currency_amount": 100,
"recurring_money_transfer_id": 1,
"aid_disbursement_id": null,
"treat_as_aid": false,
"organization_name": null,
"method": "cash",
"sandbox": true
}
Retrieves a specific Payment object.
HTTP Request
GET /people/(person)/payments/(payment)
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:
- Financial Auditor
- Financial Admin
- Student Billing
PaymentDeadline
The PaymentDeadline object
The PaymentDeadline object looks like this in JSON:
{
"object": "payment_deadline",
"id": 1,
"owner_type": "invoice",
"owner_id": 7,
"actor_type": "person",
"actor_id": 8,
"due_date": "2022-08-11",
"balance_due": false,
"amount": 0,
"tuition_amount": 0,
"fee_amount": 0,
"room_plan_amount": 0,
"meal_plan_amount": 0,
"bookstore_amount": 0,
"amount_percent": 0,
"tuition_amount_percent": 0,
"fee_amount_percent": 0,
"room_plan_amount_percent": 0,
"meal_plan_amount_percent": 0,
"bookstore_amount_percent": 0,
"generated_amount_due": 580,
"generated_due_to_date": 0,
"amount_due": 430,
"due_status": "due_now",
"check_late_fee_on": null,
"late_fee_added": null,
"late_fee_charge_id": null,
"manual_edit": false,
"force_automatic_charge": false,
"updated_at": "2022-07-12T18:28:09+00:00",
"updated_by_id": 6,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
owner_type | Yes | enum (invoice, payment_plan_student) |
owner_id | No | int |
actor_type | Yes | enum (person, contact_org) |
actor_id | No | int |
due_date | Yes | date |
balance_due | Yes | bool |
amount | Yes | decimal |
tuition_amount | Yes | decimal |
fee_amount | Yes | decimal |
room_plan_amount | Yes | decimal |
meal_plan_amount | Yes | decimal |
bookstore_amount | Yes | decimal |
amount_percent | Yes | decimal |
tuition_amount_percent | Yes | decimal |
fee_amount_percent | Yes | decimal |
room_plan_amount_percent | Yes | decimal |
meal_plan_amount_percent | Yes | decimal |
bookstore_amount_percent | Yes | decimal |
generated_amount_due | Yes | decimal |
generated_due_to_date | Yes | decimal |
amount_due | Yes | decimal |
due_status | Yes | enum (due_later, due_now, paid_on_time, overdue, paid_late) |
check_late_fee_on | No | datetime |
late_fee_added | No | date |
late_fee_charge_id | No | int |
manual_edit | Yes | bool |
force_automatic_charge | Yes | bool |
updated_at | No | datetime |
updated_by_id | No | int |
sandbox | No | -- |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/paymentdeadlines" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"due_date","value":{"type":"RANGE","start":"2021-01-01","end":"2022-03-17"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/paymentdeadlines',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/paymentdeadlines',
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/paymentdeadlines"), 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/paymentdeadlines');
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 PaymentDeadline objects that match given filter conditions.
HTTP Request
GET /paymentdeadlines
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
- payments
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
due_date | date |
student | search |
academic_term | academic_term |
type | choice |
status | paymentdeadlinestatus |
originally_due | decimal |
currently_due | decimal |
tag | tag |
custom_field | custom |
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Admin
- Student Billing
- Financial Aid
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/paymentdeadlines/(paymentdeadline)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/paymentdeadlines/(paymentdeadline)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/paymentdeadlines/(paymentdeadline)',
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/paymentdeadlines/(paymentdeadline)"), 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/paymentdeadlines/(paymentdeadline)');
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": "payment_deadline",
"id": 1,
"owner_type": "invoice",
"owner_id": 7,
"actor_type": "person",
"actor_id": 8,
"due_date": "2022-08-11",
"balance_due": false,
"amount": 0,
"tuition_amount": 0,
"fee_amount": 0,
"room_plan_amount": 0,
"meal_plan_amount": 0,
"bookstore_amount": 0,
"amount_percent": 0,
"tuition_amount_percent": 0,
"fee_amount_percent": 0,
"room_plan_amount_percent": 0,
"meal_plan_amount_percent": 0,
"bookstore_amount_percent": 0,
"generated_amount_due": 580,
"generated_due_to_date": 0,
"amount_due": 430,
"due_status": "due_now",
"check_late_fee_on": null,
"late_fee_added": null,
"late_fee_charge_id": null,
"manual_edit": false,
"force_automatic_charge": false,
"updated_at": "2022-07-12T18:28:09+00:00",
"updated_by_id": 6,
"sandbox": true
}
Retrieves a specific PaymentDeadline object.
HTTP Request
GET /paymentdeadlines/(paymentdeadline)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- payments
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Admin
- Student Billing
- Financial Aid
PaymentPeriod
The PaymentPeriod object
The PaymentPeriod object looks like this in JSON:
{
"object": "payment_period",
"id": 1,
"student_id": 12,
"start_date": "2022-10-01",
"end_date": "2022-10-31",
"sap": "not_calculated",
"sap_policy_id": 1,
"external_id": null,
"added_at": "2022-07-13T21:35:04+00:00",
"added_by_id": 10,
"updated_at": "2022-07-13T21:35:28+00:00",
"updated_by_id": 10,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
student_id | Yes | int |
start_date | Yes | date |
end_date | Yes | date |
sap | Yes | enum (satisfactory, warning, probation, suspension, not_calculated) |
sap_policy_id | No | int |
external_id | No | int |
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/paymentperiods" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"end_date","value":{"type":"RANGE","start":"2021-01-01","end":"2022-03-17"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/paymentperiods',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/paymentperiods',
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/paymentperiods"), 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/paymentperiods');
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": "payment_period",
"id": 1,
"student_id": 12,
"start_date": "2022-10-01",
"end_date": "2022-10-31",
"sap": "not_calculated",
"sap_policy_id": 1,
"external_id": null,
"added_at": "2022-07-13T21:35:04+00:00",
"added_by_id": 10,
"updated_at": "2022-07-13T21:35:28+00:00",
"updated_by_id": 10,
"report_data": {
"student_name": "Taylor Forest",
"units_mapped": 0,
"credits_mapped": "0.00",
"hours_mapped": "0.00",
"overriding_sap": null,
"row_id": 1
}
}
],
"sandbox": true
}
Retrieves all PaymentPeriod objects that match given filter conditions.
HTTP Request
GET /paymentperiods
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
- student
- sap_policy
- enrollments
Filter Condition Parameters
These conditions can be used to narrow the results returned.
Name | Type |
---|---|
student | text |
start_date | date |
end_date | date |
sap | enum |
units_mapped | integer |
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Financial Aid
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/paymentperiods/(paymentperiod)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/paymentperiods/(paymentperiod)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/paymentperiods/(paymentperiod)',
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/paymentperiods/(paymentperiod)"), 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/paymentperiods/(paymentperiod)');
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": "payment_period",
"id": 1,
"student_id": 12,
"start_date": "2022-10-01",
"end_date": "2022-10-31",
"sap": "not_calculated",
"sap_policy_id": 1,
"external_id": null,
"added_at": "2022-07-13T21:35:04+00:00",
"added_by_id": 10,
"updated_at": "2022-07-13T21:35:28+00:00",
"updated_by_id": 10,
"sandbox": true
}
Retrieves a specific PaymentPeriod object.
HTTP Request
GET /paymentperiods/(paymentperiod)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- student
- sap_policy
- enrollments
Permissions
One of the following roles is required to call this method:
- Financial Admin
- Financial Aid
PaymentPlan
The PaymentPlan object
The PaymentPlan object looks like this in JSON:
{
"object": "payment_plan",
"id": 1,
"name": "Calendar Plan",
"status": "active",
"amount": 55,
"amount_type": "flat",
"late_fee": 0,
"late_fee_type": "percent",
"grace_period_days": null,
"max_late_fee": 0,
"schedule_type": "date",
"charge_types_broken_out": false,
"prefer_whole_dollar_amounts": false,
"recurring_money_transfer_linkable_student_level": false,
"recurring_money_transfer_linkable_term_level": false,
"recurring_money_transfer_linkable_existing": false,
"recurring_first_payment": "day_of_month",
"recurring_day_of_month": 1,
"recurring_days_after_start": 30,
"recurring_period_months": 1,
"recurring_amount": 0,
"balance_year": null,
"balance_month": 3,
"balance_day": 3,
"balance_num_days": null,
"fee_id": 2,
"late_fee_id": null,
"min_invoice_amount": 0,
"exclude_aid": false,
"scheduled_aid_handling": "consider_allocation_time",
"tuition_eligible": "all",
"fees_eligible": "selected",
"room_plans_eligible": "none",
"meal_plans_eligible": "all",
"bookstore_eligible": "all",
"auto_remove_on_payoff": false,
"auto_remove_date": null,
"added_at": "2022-07-13T20:47:23+00:00",
"added_by_id": 10,
"updated_at": "2022-07-13T20:54:57+00:00",
"updated_by_id": 10,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
name | Yes | text (200) |
status | Yes | enum (active, deleted) |
amount | Yes | decimal |
amount_type | Yes | enum (flat, percent) |
late_fee | Yes | decimal |
late_fee_type | Yes | enum (flat, percent) |
grace_period_days | Yes | int |
max_late_fee | Yes | decimal |
schedule_type | Yes | enum (date, days_into_term, days_from_applied, recurring) |
charge_types_broken_out | Yes | bool |
prefer_whole_dollar_amounts | Yes | bool |
recurring_money_transfer_linkable_student_level | Yes | bool |
recurring_money_transfer_linkable_term_level | Yes | bool |
recurring_money_transfer_linkable_existing | Yes | bool |
recurring_first_payment | No | enum (day_of_month, days_after_start) |
recurring_day_of_month | No | int |
recurring_days_after_start | No | int |
recurring_period_months | No | int |
recurring_amount | Yes | decimal |
balance_year | Yes | int |
balance_month | Yes | int |
balance_day | Yes | int |
balance_num_days | Yes | int |
fee_id | Yes | int |
late_fee_id | Yes | int |
min_invoice_amount | Yes | decimal |
exclude_aid | Yes | bool |
scheduled_aid_handling | Yes | enum (ignore, consider_allocation_time, always_exclude) |
tuition_eligible | Yes | enum (all, none, selected, excluded) |
fees_eligible | Yes | enum (all, none, selected, excluded) |
room_plans_eligible | Yes | enum (all, none, selected, excluded) |
meal_plans_eligible | Yes | enum (all, none, selected, excluded) |
bookstore_eligible | Yes | enum (all, none, selected, excluded) |
auto_remove_on_payoff | Yes | bool |
auto_remove_date | 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/paymentplans" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/paymentplans',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/paymentplans',
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/paymentplans"), 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/paymentplans');
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": "payment_plan",
"id": 1,
"name": "Calendar Plan",
"status": "active",
"amount": 55,
"amount_type": "flat",
"late_fee": 0,
"late_fee_type": "percent",
"grace_period_days": null,
"max_late_fee": 0,
"schedule_type": "date",
"charge_types_broken_out": false,
"prefer_whole_dollar_amounts": false,
"recurring_money_transfer_linkable_student_level": false,
"recurring_money_transfer_linkable_term_level": false,
"recurring_money_transfer_linkable_existing": false,
"recurring_first_payment": "day_of_month",
"recurring_day_of_month": 1,
"recurring_days_after_start": 30,
"recurring_period_months": 1,
"recurring_amount": 0,
"balance_year": null,
"balance_month": 3,
"balance_day": 3,
"balance_num_days": null,
"fee_id": 2,
"late_fee_id": null,
"min_invoice_amount": 0,
"exclude_aid": false,
"scheduled_aid_handling": "consider_allocation_time",
"tuition_eligible": "all",
"fees_eligible": "selected",
"room_plans_eligible": "none",
"meal_plans_eligible": "all",
"bookstore_eligible": "all",
"auto_remove_on_payoff": false,
"auto_remove_date": null,
"added_at": "2022-07-13T20:47:23+00:00",
"added_by_id": 10,
"updated_at": "2022-07-13T20:54:57+00:00",
"updated_by_id": 10
}
],
"sandbox": true
}
Retrieves all PaymentPlan objects.
HTTP Request
GET /paymentplans
Parameters
None
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Admin
- Student Billing
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/paymentplans/(paymentplan)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/paymentplans/(paymentplan)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/paymentplans/(paymentplan)',
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/paymentplans/(paymentplan)"), 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/paymentplans/(paymentplan)');
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": "payment_plan",
"id": 1,
"name": "Calendar Plan",
"status": "active",
"amount": 55,
"amount_type": "flat",
"late_fee": 0,
"late_fee_type": "percent",
"grace_period_days": null,
"max_late_fee": 0,
"schedule_type": "date",
"charge_types_broken_out": false,
"prefer_whole_dollar_amounts": false,
"recurring_money_transfer_linkable_student_level": false,
"recurring_money_transfer_linkable_term_level": false,
"recurring_money_transfer_linkable_existing": false,
"recurring_first_payment": "day_of_month",
"recurring_day_of_month": 1,
"recurring_days_after_start": 30,
"recurring_period_months": 1,
"recurring_amount": 0,
"balance_year": null,
"balance_month": 3,
"balance_day": 3,
"balance_num_days": null,
"fee_id": 2,
"late_fee_id": null,
"min_invoice_amount": 0,
"exclude_aid": false,
"scheduled_aid_handling": "consider_allocation_time",
"tuition_eligible": "all",
"fees_eligible": "selected",
"room_plans_eligible": "none",
"meal_plans_eligible": "all",
"bookstore_eligible": "all",
"auto_remove_on_payoff": false,
"auto_remove_date": null,
"added_at": "2022-07-13T20:47:23+00:00",
"added_by_id": 10,
"updated_at": "2022-07-13T20:54:57+00:00",
"updated_by_id": 10,
"sandbox": true
}
Retrieves a specific PaymentPlan object.
HTTP Request
GET /paymentplans/(paymentplan)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- schedules
- eligible_charges
- fee
- late_fee
Permissions
One of the following roles is required to call this method:
- Financial Auditor
- Financial Admin
- Student Billing
PaymentPlanStudent
The PaymentPlanStudent object
The PaymentPlanStudent object looks like this in JSON:
{
"object": "payment_plan_student",
"id": 7,
"student_id": 12,
"academic_term_id": 6,
"invoice_id": 9,
"payment_plan_id": null,
"start_date": "2020-09-07",
"as_of_time": null,
"charge_types_broken_out": false,
"total_eligible_charges": 0,
"recurring_amount": 0,
"exclude_aid": false,
"scheduled_aid_handling": "consider_allocation_time",
"schedule_type": "days_from_applied",
"added_at": null,
"added_by_id": null,
"sandbox": true
}
Attribute | Required | Data Type |
---|---|---|
id | Yes | int |
student_id | Yes | int |
academic_term_id | Yes | int |
invoice_id | No | int |
payment_plan_id | Yes | int |
start_date | No | date |
as_of_time | No | datetime |
charge_types_broken_out | Yes | bool |
total_eligible_charges | Yes | decimal |
recurring_amount | Yes | decimal |
exclude_aid | Yes | bool |
scheduled_aid_handling | Yes | enum (ignore, consider_allocation_time, always_exclude) |
schedule_type | Yes | enum (days_from_applied, date, days_into_term, recurring) |
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)/paymentplans" \
-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)/paymentplans',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/paymentplans',
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)/paymentplans"), 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)/paymentplans');
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: