NAV
shell ruby python csharp php

Introduction

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

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

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

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

Authentication

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

Copy to Clipboard
# 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"

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

Copy to Clipboard
GET https://yourschool.populiweb.com/api2/people

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

Example

Copy to Clipboard
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

Copy to Clipboard
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 action.

Example

Copy to Clipboard
POST https://yourschool.populiweb.com/api2/users/55782 { "username": "jimmy57", "action": [ "send_welcome_email": true ] }

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

There are a tiny handful of exceptions to this convention.

Alternate Example, JSON in a URL parameter

Copy to Clipboard
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

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

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

Rate Limits

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

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

Handling 429 response codes by exponentially backing off

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

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

Best practices to avoid rate limits

We recommend the following practices to reduce interruptions:

Example Code

Example code for each call is provided below for each route in shell (curl), Ruby, Python, C#.Net, and PHP. Some of the 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:

Copy to Clipboard
{ "object": "timezone", "timezone": "America\/Los_Angeles", "now": "2024-11-20T12:03:37+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:

Copy to Clipboard
{}

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:

AcademicTerm

The AcademicTerm object

The AcademicTerm object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/academicterms" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 8, "results": 8, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "academic_term", "id": 8, "academic_year_id": 4, "name": "Spring 2010", "display_name": "Spring 2010 2009-2010", "start_date": "2010-02-01", "end_date": "2010-05-15", "grades_date": "2010-05-10", "add_drop_time": "2010-02-15T00:00:00+00:00", "enrollment_start_time": "2010-01-01T00:00:00+00:00", "non_standard": false, "type": "standard", "max_enrolled_credits": null, "max_enrolled_hours": null, "max_audit_credits": null, "max_audit_hours": null, "evaluations_available_from": null, "evaluations_available_to": null, "evaluations_lock_grades_at": null, "online_registration_delay_until": null, "online_registration_randomization_seconds": 0, "evaluations_lock_grades_until": null, "evaluations_available_to_faculty": null, "lms_sync": null, "external_id": null, "start_year": 2009, "end_year": 2010, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all AcademicTerm objects.

HTTP Request

GET /academicterms

Parameters

None

Expandable Properties

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/academicterms/(academicterm)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

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

Retrieves a specific AcademicTerm object.

HTTP Request

GET /academicterms/(academicterm)

Parameters

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

Expandable Properties

Permissions

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

billing

Example code to call this method:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": 0, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "person", "id": 16, "first_name": "Academic", "last_name": "Admin", "middle_name": "", "prefix": null, "suffix": null, "preferred_name": null, "display_name": "Academic Admin", "gender": "female", "other_gender": null, "image_file_id": null, "birth_date": null, "status": "active", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": null, "report_data": { "studentid": 16, "dummyid": "20220xx001", "enrollment_agreements_signed": "0", "enrollment_agreements_unsigned": "0", "tuition": "0.00", "fees": "0.00", "room_plan": "0.00", "meal_plan": "0.00", "bookstore": "0.00", "pending_and_invoices_total_charges": "0.00", "grants": "3644.90", "loans": "0.00", "total_aid": "3644.90", "schedule_names": null, "schedule_ids": null, "row_id": 16 }, "private_profile": false, "is_user": true } ], "sandbox": true }

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

HTTP Request

GET /academicterms/(academicterm)/billing

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

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

Permissions

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

courseofferings

Example code to call this method:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "course_offering", "id": 21910, "academic_term_id": 8, "campus_id": 0, "finalized": false, "finalized_at": null, "max_enrolled": null, "max_auditors": null, "roster_visibility": true, "start_date": "2022-05-20", "end_date": "2022-10-08", "add_drop_time": null, "published": true, "open_to_students_date": "2022-05-20", "closed_to_students_date": "2022-10-08", "course_evaluation_id": null, "evaluation_available_from": null, "evaluation_available_to": null, "evaluation_lock_grades_at": null, "evaluation_lock_grades_until": null, "evaluation_available_to_faculty": null, "faculty_can_manage_roster": false, "faculty_can_override_enrollment": false, "students_can_add_discussions": true, "disable_student_bulletin_board_posts": false, "allow_auditor_assignments": false, "allow_auditor_attendance": false, "waiting_list_management": "automatic", "report_data": { "course_offering_catalog_course_id": 40, "name": "Beginning Latin I", "description": "", "catalog_course_id": 688, "section": "1", "credits": "2.00", "hours": "2.00", "pass_fail": 0, "attendance_hours": "0.00", "enable_clinical_hours": 0, "clinical_hours": "0.00", "fulfills_program_requirements": 1, "affects_standing": 1, "affects_full_time_status": 1, "pass_affects_gpa": 1, "fail_affects_gpa": 1, "pass_fail_pass_affects_gpa": 1, "pass_fail_fail_affects_gpa": 1, "course_abbrv": "LAT101", "department_name": "Undergraduate", "campus_name": null, "num_finalized_students": "0", "num_students": "2", "num_auditors": "0", "num_incomplete": "0", "num_withdrawn": "0", "num_waiting": 1, "primary_faculty_id": null, "primary_faculty_display_name": null, "primary_faculty_first_name": null, "primary_faculty_last_name": null, "other_faculty_ids": null, "other_faculty": null, "teaching_assistants": null, "primary_faculty_email_address": null, "other_faculty_email_addresses": null, "teaching_assistant_email_addresses": null, "add_drop_time_local": "2010-02-14 16:00:00", "department_id": 1, "program_name_ids": null, "hide_self_register": 0, "self_enroll": "YES", "self_audit": 1, "course_books": null, "course_links": null, "delivery_method_ids": null, "delivery_method_names": null, "primary_delivery_method_id": null, "primary_delivery_method_name": null, "has_course_evaluation": 0, "num_course_evaluation_completions": "0", "row_id": 40 }, "show_progress_to_students": false, "catalog_courses": [ { "object": "catalog_course", "id": 40, "course_offering_id": 21910, "catalog_course_id": 688, "primary": true, "abbrv": "LAT101", "name": "Beginning Latin I", "description": null, "section": "1", "credits": 2, "hours": 2, "attendance_hours": 0, "clinical_hours": 0, "affects_standing": true, "affects_full_time_status": true, "pass_fail": false, "pass_affects_gpa": true, "fail_affects_gpa": true, "pass_fail_pass_affects_gpa": true, "pass_fail_fail_affects_gpa": true, "fulfills_program_requirements": true, "minimum_attendance": null, "hide_self_register": false, "self_enroll": "yes", "self_audit": true, "delivery_methods": [], "added_at": null, "added_by_id": null } ] } ], "sandbox": true }

HTTP Request

GET /academicterms/(academicterm)/courseofferings

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

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

Permissions

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

enrollments

Example code to call this method:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "person", "id": 16, "first_name": "Academic", "last_name": "Admin", "middle_name": "", "prefix": null, "suffix": null, "preferred_name": null, "display_name": "Academic Admin", "gender": "female", "other_gender": null, "image_file_id": null, "birth_date": null, "status": "active", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": null, "report_data": { "student_person_id": 16, "student_name": "Academic Admin", "academic_term_id": 8, "academic_term_name": "Spring 2010 2009-2010", "catalog_course_abbrv": "LAT101", "course_offering_id": 21910, "full_course_offering_name": "LAT101-1: Beginning Latin I", "course_student_status": "ENROLLED", "status_mapid": null, "status_map_abbrv": null, "programid": 0, "program_name": null, "grade_abbrv": null, "grade": "91.50", "enrollment_id": 6000002, "course_offering_student_program_id": null, "pass_fail": 0, "student_middle_name": "", "student_preferred_name": "", "academic_term_start_date": "2010-02-01", "course_campus_id": null, "academic_term_end_date": "2010-05-15", "student_first_name": "Academic", "student_last_name": "Admin", "course_offering_section": "1", "course_offering_name": "Beginning Latin I", "credits": "2.00", "hours": "2.00", "retake": null, "course_campus_name": null, "finalized": 0, "program_units": "CREDITS", "catalog_course_id": 688, "row_id": "16_0_21910" }, "private_profile": false, "is_user": true } ], "sandbox": true }

HTTP Request

GET /academicterms/(academicterm)/enrollments

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
student search
program program
academic_term academic_term
transcript_term academic_term
billing_term academic_term
course search
status course_student_status
include_dropped_students bool
include_deleted_students bool
include_waitlisted_students bool
grade decimal
letter text
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:

students

Example code to call this method:

Copy to Clipboard
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": [] }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "person", "id": 16, "first_name": "Academic", "last_name": "Admin", "middle_name": "", "prefix": null, "suffix": null, "preferred_name": null, "display_name": "Academic Admin", "gender": "female", "other_gender": null, "image_file_id": null, "birth_date": null, "status": "active", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": null, "report_data": { "degree_list": null, "specialization_list": null, "standing_name": null, "term_gpa": null, "cum_gpa": null, "term_units_attempted": null, "program_id": null, "program_name": null, "full_time": null, "cum_units_granted": null, "courses_mapped_elsewhere": 0, "row_id": "16_0" }, "private_profile": false, "is_user": true } ], "sandbox": true }

HTTP Request

GET /academicterms/(academicterm)/students

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

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

Permissions

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

waitinglist

Example code to call this method:

Copy to Clipboard
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": [] }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "person", "id": 16, "first_name": "Academic", "last_name": "Admin", "middle_name": "", "prefix": null, "suffix": null, "preferred_name": null, "display_name": "Academic Admin", "gender": "female", "other_gender": null, "image_file_id": null, "birth_date": null, "status": "active", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": null, "report_data": { "waiting_list_added_at": "2022-10-11 17:08:57", "waiting_list_position": 2, "course_offering_id": 21910, "full_course_offering_name": "LAT101-1: Beginning Latin I", "max_enrolled": null, "num_enrolled_incomplete": 2, "openings": null, "row_id": "40_16" }, "private_profile": false, "is_user": true } ], "sandbox": true }

HTTP Request

GET /academicterms/(academicterm)/waitinglist

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

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

Permissions

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

current

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/academicterms/current" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

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

Returns the current default term.

HTTP Request

GET /academicterms/current

Parameters

None

Expandable Properties

Permissions

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

AcademicTermPersonSettings

The AcademicTermPersonSettings object

The AcademicTermPersonSettings object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/termsettings" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 3, "results": 3, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "academic_term_person_settings", "id": 480, "academic_term_id": 4, "person_id": 12, "refund_policy_id": null, "payment_plan_id": null } ], "sandbox": true }

Retrieves all AcademicTermPersonSettings objects tied to a specific Person.

HTTP Request

GET /people/(person)/termsettings

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/termsettings/(academicterm)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

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

Retrieves a specific AcademicTermPersonSettings object.

HTTP Request

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

Parameters

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

Permissions

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

AcademicYear

The AcademicYear object

The AcademicYear object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/academicyears" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 4, "results": 4, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "academic_year", "id": 4, "start_year": 2009, "end_year": 2010, "num_academic_terms": 2 } ], "sandbox": true }

Retrieves all AcademicYear objects.

HTTP Request

GET /academicyears

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/academicyears/(academicyear)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "academic_year", "id": 4, "start_year": 2009, "end_year": 2010, "sandbox": true }

Retrieves a specific AcademicYear object.

HTTP Request

GET /academicyears/(academicyear)

Parameters

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

Expandable Properties

Permissions

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

current

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/academicyears/current" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "academic_year", "id": 4, "start_year": 2009, "end_year": 2010, "sandbox": true }

HTTP Request

GET /academicyears/current

Parameters

None

Permissions

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

Account

The Account object

The Account object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/accounts" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 5, "results": 5, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "account", "id": 3, "name": "Accounts Receivable", "account_number": "12345-8", "description": "Money you do not have, but might later.", "type": "asset", "currency": "USD" } ], "sandbox": true }

Retrieves all Account objects.

HTTP Request

GET /accounts

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/accounts/(account)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "account", "id": 3, "name": "Accounts Receivable", "account_number": "12345-8", "description": "Money you do not have, but might later.", "type": "asset", "currency": "USD", "sandbox": true }

Retrieves a specific Account object.

HTTP Request

GET /accounts/(account)

Parameters

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

Permissions

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

Address

The Address object

The Address object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/addresses" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "address", "id": 800, "owner_id": 1, "owner_type": "organization", "street": "123 Street", "city": "Seattle", "state": "WA", "postal": "89000", "country": "US", "type": "other", "primary": false, "old": false, "public": true, "synced_from": null, "import_id": null, "added_at": null, "added_by_id": 20 } ], "sandbox": true }

Retrieves all Address objects tied to a specific Organization.

HTTP Request

GET /organizations/(organization)/addresses

Parameters

None

Permissions

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

create (organization)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "object": "address", "id": 804, "owner_id": 1, "owner_type": "organization", "street": "444 Oak Ave", "city": "Cityburg", "state": null, "postal": null, "country": null, "type": "main", "primary": false, "old": false, "public": false, "synced_from": null, "import_id": null, "added_at": "2024-11-20T20:03:34+00:00", "added_by_id": 22, "sandbox": true }

Creates a new Address object.

HTTP Request

POST /organizations/(organization)/addresses

Parameters

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

Permissions

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

show (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/addresses/(address)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "address", "id": 777, "owner_id": 1, "owner_type": "person", "street": "6600 Park Crest Court", "city": "Lincoln", "state": "NE", "postal": "68506", "country": "US", "type": "home", "primary": true, "old": false, "public": true, "synced_from": null, "import_id": null, "added_at": null, "added_by_id": 1, "sandbox": true }

Retrieves a specific Address object.

HTTP Request

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

Parameters

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

Permissions

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

update (organization)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "object": "address", "id": 800, "owner_id": 1, "owner_type": "organization", "street": "555 Maple Street", "city": "Townville", "state": "WA", "postal": "89000", "country": "US", "type": "main", "primary": true, "old": false, "public": true, "synced_from": null, "import_id": null, "added_at": null, "added_by_id": 20, "sandbox": true }

Updates an existing Address object.

HTTP Request

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

Parameters

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

Permissions

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

delete (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/addresses/(address)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "address", "id": 800, "deleted": true }

Deletes an existing Address object.

HTTP Request

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

Parameters

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

Permissions

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

index (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/addresses" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "address", "id": 801, "owner_id": 12, "owner_type": "person", "street": "123 Street", "city": "Seattle", "state": "WA", "postal": "89000", "country": "US", "type": "other", "primary": false, "old": false, "public": true, "synced_from": null, "import_id": null, "added_at": null, "added_by_id": 20 } ], "sandbox": true }

Retrieves all Address objects tied to a specific Person.

HTTP Request

GET /people/(person)/addresses

Parameters

None

Permissions

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

create (person)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "object": "address", "id": 805, "owner_id": 12, "owner_type": "person", "street": "222 Ash Court", "city": "Prairie City", "state": null, "postal": null, "country": null, "type": "home", "primary": false, "old": false, "public": false, "synced_from": null, "import_id": null, "added_at": "2024-11-20T20:03:35+00:00", "added_by_id": 22, "sandbox": true }

Creates a new Address object.

HTTP Request

POST /people/(person)/addresses

Parameters

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

Permissions

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

show (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/addresses/(address)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "address", "id": 801, "owner_id": 12, "owner_type": "person", "street": "123 Street", "city": "Seattle", "state": "WA", "postal": "89000", "country": "US", "type": "other", "primary": false, "old": false, "public": true, "synced_from": null, "import_id": null, "added_at": null, "added_by_id": 20, "sandbox": true }

Retrieves a specific Address object.

HTTP Request

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

Parameters

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

Permissions

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

update (person)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "object": "address", "id": 801, "owner_id": 12, "owner_type": "person", "street": "333 Fir Street", "city": "Placeville", "state": "WA", "postal": "89000", "country": "US", "type": "home", "primary": true, "old": false, "public": true, "synced_from": null, "import_id": null, "added_at": null, "added_by_id": 20, "sandbox": true }

Updates an existing Address object.

HTTP Request

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

Parameters

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

Permissions

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

delete (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/addresses/(address)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "address", "id": 801, "deleted": true }

Deletes an existing Address object.

HTTP Request

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

Parameters

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

Permissions

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

Advisee

The Advisee object

The Advisee object looks like this in JSON:

Copy to Clipboard
{ "object": "student", "id": 1, "entrance_term_id": 8, "exit_date": null, "exit_reason": null, "grades_withheld": false, "meal_plan_id": 0, "room_plan_id": 0, "receives_1098t": true, "loa_start_date": null, "loa_end_date": null, "proctored": false, "first_time": false, "max_enrolled_credits": null, "max_enrolled_hours": null, "max_audit_credits": null, "max_audit_hours": null, "student_type_campus": "enroll_audit", "student_type_online": "enroll_audit", "housing": null, "advisor_ids": null, "visible_student_id": "20020xx000", "sandbox": true }
Attribute Required Data Type
id No int
entrance_term_id Yes int
exit_date Yes date
exit_reason Yes int
grades_withheld Yes bool
meal_plan_id No int
room_plan_id No int
receives_1098t Yes bool
loa_start_date No date
loa_end_date No date
proctored No bool
first_time Yes bool
max_enrolled_credits No decimal
max_enrolled_hours No decimal
max_audit_credits No decimal
max_audit_hours No decimal
student_type_campus Yes enum (enroll_audit, enroll, audit, none)
student_type_online Yes enum (enroll_audit, enroll, audit, none)
housing No enum (on_campus, with_parent, off_campus, on_campus_with_dependents)
advisor_ids No Array of Person IDs
visible_student_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "student", "id": 12, "entrance_term_id": 0, "exit_date": null, "exit_reason": null, "grades_withheld": false, "meal_plan_id": 0, "room_plan_id": 0, "receives_1098t": true, "loa_start_date": null, "loa_end_date": null, "proctored": false, "first_time": false, "max_enrolled_credits": null, "max_enrolled_hours": null, "max_audit_credits": null, "max_audit_hours": null, "student_type_campus": "enroll_audit", "student_type_online": "enroll_audit", "housing": null, "visible_student_id": "20220xx002", "report_data": { "advisor_names": "Financial Admin~|~Academic Admin", "advisor_types": "NOT_PRIMARY~|~HIDDEN", "advisor_ids": "17,16", "raw_advisor_names": "Financial Admin (Advisor), Academic Admin (Hidden Advisor)", "current_user_is_advisor": null, "firstname": "Taylor", "preferred_name": "", "lastname": "Forest", "image_id": 0, "last_attendance_date": null, "registration_locked": 1, "registration_locks": "Financial~|~3~|~4~|~*_*_*Registration~|~2~|~3~|~Needs academic counseling", "discipline": null, "color": null, "entrance_term_name": null, "row_id": 12 } } ], "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
custom_field custom

Permissions

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

AidApplication

The AidApplication object

The AidApplication object looks like this in JSON:

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

index

Example code to call this method:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 0, "results": 0, "results_per_page": 200, "pages": 0, "page": 0, "offset": 0, "has_more": false, "data": [], "sandbox": true }

Retrieves all AidApplication objects that match given filter conditions.

HTTP Request

GET /aidapplications

Parameters

Name Required Data Type Description
aid_year_id No int
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

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

Permissions

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

index (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/aidapplications" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "aid_application", "id": 6, "student_id": 35, "aid_year_id": 3, "aid_classification_id": 6, "auto_expand_award_dates": false, "parental_data_missing": false, "dependency": "independent", "enrollment": "full_time", "enrollment_intensity": false, "program_months": 9, "year_coa": 10000, "program_coa": 10000, "year_efc": 10000, "program_efc": 10000, "verification": "selected_by_college", "verification_status": "in_progress", "verification_group": null, "verification_exempt_reason": null, "status": "in_progress", "assigned_to": 2921, "student_agi": 0, "parents_agi": 0, "auto_zero_efc": false, "fisap_total_income": null, "legal_residence_state": null, "housing": null, "award_letter_layout_id": null, "last_isir_id": null, "last_isir_transaction_date": null, "cod_student_level_code": null, "cod_academic_year_start_date": null, "cod_academic_year_end_date": null, "cod_degree_id": null, "cod_program_length": null, "cod_program_length_units": null, "cod_program_credential_level": null, "cod_special_program": null, "cod_weeks_programs_academic_year": null, "cod_default_overpay_code": null, "cod_student_eligibility_code": null, "cod_ability_to_benefit_administrator_code": null, "cod_ability_to_benefit_test_code": null, "cod_ability_to_benefit_state_code": null, "cod_ability_to_benefit_date": null, "cod_program_cip_code": null, "cod_additional_unsubsidized_eligibility": false, "cod_additional_pell_eligibility": false, "cod_campus_id": null, "updated_on": null, "added_at": "2011-05-04T23:15:23+00:00", "added_by_id": 2921, "updated_at": null, "updated_by_id": 2011 } ], "sandbox": true }

Retrieves all AidApplication objects tied to a specific Person.

HTTP Request

GET /people/(person)/aidapplications

Parameters

None

Expandable Properties

Permissions

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

create

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

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

Creates a new AidApplication object.

HTTP Request

POST /people/(person)/aidapplications

Parameters

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

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/aidapplications/(aidapplication)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "aid_application", "id": 6, "student_id": 35, "aid_year_id": 3, "aid_classification_id": 6, "auto_expand_award_dates": false, "parental_data_missing": false, "dependency": "independent", "enrollment": "full_time", "enrollment_intensity": false, "program_months": 9, "year_coa": 10000, "program_coa": 10000, "year_efc": 10000, "program_efc": 10000, "verification": "selected_by_college", "verification_status": "in_progress", "verification_group": null, "verification_exempt_reason": null, "status": "in_progress", "assigned_to": 2921, "student_agi": 0, "parents_agi": 0, "auto_zero_efc": false, "fisap_total_income": null, "legal_residence_state": null, "housing": null, "award_letter_layout_id": null, "last_isir_id": null, "last_isir_transaction_date": null, "cod_student_level_code": null, "cod_academic_year_start_date": null, "cod_academic_year_end_date": null, "cod_degree_id": null, "cod_program_length": null, "cod_program_length_units": null, "cod_program_credential_level": null, "cod_special_program": null, "cod_weeks_programs_academic_year": null, "cod_default_overpay_code": null, "cod_student_eligibility_code": null, "cod_ability_to_benefit_administrator_code": null, "cod_ability_to_benefit_test_code": null, "cod_ability_to_benefit_state_code": null, "cod_ability_to_benefit_date": null, "cod_program_cip_code": null, "cod_additional_unsubsidized_eligibility": false, "cod_additional_pell_eligibility": false, "cod_campus_id": null, "updated_on": null, "added_at": "2011-05-04T23:15:23+00:00", "added_by_id": 2921, "updated_at": null, "updated_by_id": 2011, "sandbox": true }

Retrieves a specific AidApplication object.

HTTP Request

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

Parameters

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

Expandable Properties

Permissions

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

update

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

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

Updates an existing AidApplication object.

HTTP Request

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

Parameters

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

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/aidapplications/(aidapplication)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "aid_application", "id": 7, "deleted": true }

Deletes an existing AidApplication object.

HTTP Request

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

Parameters

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

Permissions

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

AidAuthorization

The AidAuthorization object

The AidAuthorization object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/aidauthorizations" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "aid_authorization", "id": 1, "name": "EXCESS_AID", "description": "Student gives permission to use federal aid to non-aid-applicable charges." } ], "sandbox": true }

Retrieves all AidAuthorization objects.

HTTP Request

GET /aidauthorizations

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/aidauthorizations/(aidauthorization)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "aid_authorization", "id": 1, "name": "EXCESS_AID", "description": "Student gives permission to use federal aid to non-aid-applicable charges.", "sandbox": true }

Retrieves a specific AidAuthorization object.

HTTP Request

GET /aidauthorizations/(aidauthorization)

Parameters

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

Permissions

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

AidAward

The AidAward object

The AidAward object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 5, "results": 5, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "aid_award", "id": 8, "student_id": 16, "aid_year_id": 1, "aid_type_id": 9, "sequence_number": 1, "original_accepted_amount": 4000, "award_limit": 4000, "max_amount": 4000, "net_amount": 4000, "multiplier": null, "auto_calc_percent_amount": false, "fee_percent": null, "status": "accepted", "loan_booked_on": null, "loan_payment_to_servicer_amount": 0, "loan_payment_to_servicer_date": null, "plus_loan_has_endorser": false, "plus_loan_endorser_amount": null, "plus_loan_credit_requirements_met": false, "loan_booked_cod_response_id": null, "year_coa": null, "cod_id": null, "cod_amount": 0, "cod_origination_fee_percent": null, "cod_start_date": null, "cod_end_date": null, "cod_student_level_code": null, "cod_academic_year_start_date": null, "cod_academic_year_end_date": null, "cod_program_length": null, "cod_program_length_units": null, "cod_program_credential_level": null, "cod_special_program": null, "cod_weeks_programs_academic_year": null, "cod_program_cip_code": null, "cod_plus_application_id": null, "cod_borrower_id": null, "refunds_go_to": "student", "cod_most_recent_response_id": null, "cod_status": null, "cod_sync_logic": "automatic", "cod_syncable": true, "cod_syncable_errors": null, "cod_needs_sync": true, "cod_originated": false, "external_id": null, "esign_by_student_at": null, "esign_by_student_ip": null, "work_study_hours_per_week": null, "added_at": "2015-09-09T07:53:22+00:00", "added_by_id": 11, "report_data": { "person_id": 16, "aid_name": "Institutional Grant", "aid_abbrv": "INST", "financial_aid_type": "GRANT", "is_scholarship": 0, "aid_source": "INSTITUTION", "firstname": "Academic", "lastname": "Admin", "amount_scheduled": "440.70", "amount_disbursed": "0.00", "row_id": 8 } } ], "sandbox": true }

Retrieves all AidAward objects that match given filter conditions.

HTTP Request

GET /aidawards

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

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

Permissions

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

index_by_student

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "aid_award", "id": 10, "student_id": 12, "aid_year_id": 1, "aid_type_id": 9, "sequence_number": 2, "original_accepted_amount": 4000, "award_limit": 4000, "max_amount": 4000, "net_amount": 4000, "multiplier": null, "auto_calc_percent_amount": false, "fee_percent": null, "status": "accepted", "loan_booked_on": null, "loan_payment_to_servicer_amount": 0, "loan_payment_to_servicer_date": null, "plus_loan_has_endorser": false, "plus_loan_endorser_amount": null, "plus_loan_credit_requirements_met": false, "loan_booked_cod_response_id": null, "year_coa": null, "cod_id": null, "cod_amount": 0, "cod_origination_fee_percent": null, "cod_start_date": null, "cod_end_date": null, "cod_student_level_code": null, "cod_academic_year_start_date": null, "cod_academic_year_end_date": null, "cod_program_length": null, "cod_program_length_units": null, "cod_program_credential_level": null, "cod_special_program": null, "cod_weeks_programs_academic_year": null, "cod_program_cip_code": null, "cod_plus_application_id": null, "cod_borrower_id": null, "refunds_go_to": "student", "cod_most_recent_response_id": null, "cod_status": null, "cod_sync_logic": "automatic", "cod_syncable": true, "cod_syncable_errors": null, "cod_needs_sync": true, "cod_originated": false, "external_id": null, "esign_by_student_at": null, "esign_by_student_ip": null, "work_study_hours_per_week": null, "added_at": "2015-09-09T07:53:22+00:00", "added_by_id": 11 } ], "sandbox": true }

HTTP Request

GET /people/(person)/aidawards/

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

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

Creates a new AidAward object.

HTTP Request

POST /people/(person)/aidawards

Parameters

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

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "aid_award", "id": 8, "student_id": 16, "aid_year_id": 1, "aid_type_id": 9, "sequence_number": 1, "original_accepted_amount": 4000, "award_limit": 4000, "max_amount": 4000, "net_amount": 4000, "multiplier": null, "auto_calc_percent_amount": false, "fee_percent": null, "status": "accepted", "loan_booked_on": null, "loan_payment_to_servicer_amount": 0, "loan_payment_to_servicer_date": null, "plus_loan_has_endorser": false, "plus_loan_endorser_amount": null, "plus_loan_credit_requirements_met": false, "loan_booked_cod_response_id": null, "year_coa": null, "cod_id": null, "cod_amount": 0, "cod_origination_fee_percent": null, "cod_start_date": null, "cod_end_date": null, "cod_student_level_code": null, "cod_academic_year_start_date": null, "cod_academic_year_end_date": null, "cod_program_length": null, "cod_program_length_units": null, "cod_program_credential_level": null, "cod_special_program": null, "cod_weeks_programs_academic_year": null, "cod_program_cip_code": null, "cod_plus_application_id": null, "cod_borrower_id": null, "refunds_go_to": "student", "cod_most_recent_response_id": null, "cod_status": null, "cod_sync_logic": "automatic", "cod_syncable": true, "cod_syncable_errors": null, "cod_needs_sync": true, "cod_originated": false, "external_id": null, "esign_by_student_at": null, "esign_by_student_ip": null, "work_study_hours_per_week": null, "aid_year": { "object": "aid_year", "id": 1, "name": "2010-2011", "start_date": "2010-07-01", "end_date": "2011-06-30" }, "aid_type": { "object": "aid_type", "id": 9, "startyear": 1, "endyear": 0, "name": "Institutional Grant", "abbrv": "INST", "cod_abbrv": "NULL", "title_iv": false, "type": "grant", "is_scholarship": false, "source": "institution", "multiplier": null, "federal_aid_id": null, "need_based": true, "count_against_need": true, "report_on_1098t": true, "non_eligible_fee_aid": false, "count_as_tuition_discount": false, "counts_as_efa": true, "only_allow_whole_dollar_amounts": false, "allow_partial_acceptance": false, "require_enrollment_verification": false, "status": "active", "veterans_benefits": false, "external_id": null }, "aid_disbursements": [ { "object": "aid_disbursement", "id": 15, "academic_term_id": 8, "student_id": 16, "aid_id": 9, "aid_award_id": 8, "type": "disbursement", "status": "scheduled", "amount": 440.7, "gross_amount": 440.7, "max_amount": 0, "multiplier": null, "scheduled_date": "2023-02-16", "posted_date": null, "status_date": "2023-02-16", "payment_id": null, "refund_id": null, "transaction_id": null, "disbursement_number": true, "sequence_number": false, "enrollment_status": null, "enrollment_intensity": false, "enrollment_verified": false, "enrollment_verified_by_id": null, "enrollment_verified_at": null, "cod_status": null, "cod_amount": 0, "cod_originated": false, "cod_net_amount": 0, "cod_released": false, "cod_needs_sync": true, "cod_program_cip_code": null, "cod_payment_period_start_date": null, "external_id": null, "email_message_id": null, "added_at": null, "added_by_id": null } ], "added_at": "2015-09-09T07:53:22+00:00", "added_by_id": 11, "sandbox": true }

Retrieves a specific AidAward object.

HTTP Request

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

Parameters

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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

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

Updates an existing AidAward object.

HTTP Request

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

Parameters

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

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/aidawards/(aidaward)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "aid_award", "id": 9, "deleted": true }

Deletes an existing AidAward object.

HTTP Request

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

Parameters

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

Permissions

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

AidClassification

The AidClassification object

The AidClassification object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/aidclassifications" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "aid_classification", "id": 6, "name": "Arc Welding", "year_coa_on_campus": 900, "year_coa_off_campus": null, "year_coa_off_campus_with_parents": 900, "program_coa_on_campus": 900, "program_coa_off_campus": null, "program_coa_off_campus_with_parents": null, "enrollment": "full_time", "months": 9, "auto_expand_award_dates": false, "status": "active" } ], "sandbox": true }

Retrieves all AidClassification objects.

HTTP Request

GET /aidclassifications

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/aidclassifications/(aidclassification)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "aid_classification", "id": 6, "name": "Arc Welding", "year_coa_on_campus": 900, "year_coa_off_campus": null, "year_coa_off_campus_with_parents": 900, "program_coa_on_campus": 900, "program_coa_off_campus": null, "program_coa_off_campus_with_parents": null, "enrollment": "full_time", "months": 9, "auto_expand_award_dates": false, "status": "active", "sandbox": true }

Retrieves a specific AidClassification object.

HTTP Request

GET /aidclassifications/(aidclassification)

Parameters

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

Expandable Properties

Permissions

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

AidDisbursement

The AidDisbursement object

The AidDisbursement object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 9, "results": 9, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "aid_disbursement", "id": 8, "academic_term_id": 8, "student_id": 16, "aid_id": 9, "aid_award_id": 7, "type": "disbursement", "status": "scheduled", "amount": 430.7, "gross_amount": 430.7, "max_amount": 0, "multiplier": null, "scheduled_date": "2023-02-14", "posted_date": null, "status_date": "2023-02-14", "payment_id": null, "refund_id": null, "transaction_id": null, "disbursement_number": true, "sequence_number": false, "enrollment_status": null, "enrollment_intensity": false, "enrollment_verified": false, "enrollment_verified_by_id": null, "enrollment_verified_at": null, "cod_status": null, "cod_amount": 0, "cod_originated": false, "cod_net_amount": 0, "cod_released": false, "cod_needs_sync": true, "cod_program_cip_code": null, "cod_payment_period_start_date": null, "external_id": null, "email_message_id": null, "added_at": null, "added_by_id": null, "report_data": { "firstname": "Academic", "lastname": "Admin", "display_name": "Academic Admin", "aid_name": "Institutional Grant", "aid_type": "GRANT", "is_scholarship": 0, "aid_source": "INSTITUTION", "aid_abbrv": "INST", "require_enrollment_verification": 0, "term_name": "Spring 2010 2009-2010", "aid_year_id": 1, "aid_year_name": "2010-2011", "row_id": 8 } } ], "sandbox": true }

Retrieves all AidDisbursement objects that match given filter conditions.

HTTP Request

GET /aiddisbursements

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

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

Permissions

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

index_by_award

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "aid_disbursement", "id": 15, "academic_term_id": 8, "student_id": 16, "aid_id": 9, "aid_award_id": 8, "type": "disbursement", "status": "scheduled", "amount": 440.7, "gross_amount": 440.7, "max_amount": 0, "multiplier": null, "scheduled_date": "2023-02-16", "posted_date": null, "status_date": "2023-02-16", "payment_id": null, "refund_id": null, "transaction_id": null, "disbursement_number": true, "sequence_number": false, "enrollment_status": null, "enrollment_intensity": false, "enrollment_verified": false, "enrollment_verified_by_id": null, "enrollment_verified_at": null, "cod_status": null, "cod_amount": 0, "cod_originated": false, "cod_net_amount": 0, "cod_released": false, "cod_needs_sync": true, "cod_program_cip_code": null, "cod_payment_period_start_date": null, "external_id": null, "email_message_id": null, "added_at": null, "added_by_id": null } ], "sandbox": true }

HTTP Request

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

Parameters

None

Permissions

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

create (disbursement)

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

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

Creates a new AidDisbursement object.

HTTP Request

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

Parameters

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

Permissions

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

show (disbursement)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "object": "aid_disbursement", "id": 8, "academic_term_id": 8, "student_id": 16, "aid_id": 9, "aid_award_id": 7, "type": "disbursement", "status": "scheduled", "amount": 430.7, "gross_amount": 430.7, "max_amount": 0, "multiplier": null, "scheduled_date": "2023-02-14", "posted_date": null, "status_date": "2023-02-14", "payment_id": null, "refund_id": null, "transaction_id": null, "disbursement_number": true, "sequence_number": false, "enrollment_status": null, "enrollment_intensity": false, "enrollment_verified": false, "enrollment_verified_by_id": null, "enrollment_verified_at": null, "cod_status": null, "cod_amount": 0, "cod_originated": false, "cod_net_amount": 0, "cod_released": false, "cod_needs_sync": true, "cod_program_cip_code": null, "cod_payment_period_start_date": null, "external_id": null, "email_message_id": null, "added_at": null, "added_by_id": null, "sandbox": true }

Retrieves a specific AidDisbursement object.

HTTP Request

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

Parameters

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

Expandable Properties

Permissions

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

update (disbursement)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "object": "aid_disbursement", "id": 8, "academic_term_id": 8, "student_id": 16, "aid_id": 9, "aid_award_id": 7, "type": "disbursement", "status": "scheduled", "amount": 430.7, "gross_amount": 430.7, "max_amount": 0, "multiplier": null, "scheduled_date": "2023-02-14", "posted_date": null, "status_date": "2023-02-14", "payment_id": null, "refund_id": null, "transaction_id": null, "disbursement_number": true, "sequence_number": false, "enrollment_status": null, "enrollment_intensity": false, "enrollment_verified": false, "enrollment_verified_by_id": null, "enrollment_verified_at": null, "cod_status": null, "cod_amount": 0, "cod_originated": false, "cod_net_amount": 0, "cod_released": false, "cod_needs_sync": true, "cod_program_cip_code": null, "cod_payment_period_start_date": null, "external_id": null, "email_message_id": null, "added_at": null, "added_by_id": null, "sandbox": true }

Updates an existing AidDisbursement object.

HTTP Request

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

Parameters

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

Permissions

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

delete (disbursement)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "object": "aid_disbursement", "id": 11, "deleted": true }

Deletes an existing AidDisbursement object.

HTTP Request

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

Parameters

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

Permissions

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

post

Example code to call this method:

Copy to Clipboard
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." }' \

Example response:

Copy to Clipboard
{ "object": "aid_disbursement", "id": 8, "academic_term_id": 8, "student_id": 16, "aid_id": 9, "aid_award_id": 7, "type": "disbursement", "status": "posted", "amount": 430.7, "gross_amount": 430.7, "max_amount": 0, "multiplier": null, "scheduled_date": "2023-02-14", "posted_date": "2024-11-20", "status_date": "2024-11-20", "payment_id": 101, "refund_id": null, "transaction_id": 103, "disbursement_number": true, "sequence_number": false, "enrollment_status": null, "enrollment_intensity": false, "enrollment_verified": false, "enrollment_verified_by_id": null, "enrollment_verified_at": null, "cod_status": null, "cod_amount": 0, "cod_originated": false, "cod_net_amount": 0, "cod_released": false, "cod_needs_sync": true, "cod_program_cip_code": null, "cod_payment_period_start_date": null, "external_id": null, "email_message_id": null, "added_at": null, "added_by_id": null, "sandbox": true }

HTTP Request

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

Parameters

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

Action Parameters

Name Data Type Description
notify_student

Permissions

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

create (refund)

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

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

Creates a new AidDisbursement object.

HTTP Request

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

Parameters

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

Permissions

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

show (refund)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "object": "aid_disbursement", "id": 9, "academic_term_id": 8, "student_id": 16, "aid_id": 9, "aid_award_id": 7, "type": "refund_to_source", "status": "scheduled", "amount": 430.7, "gross_amount": 430.7, "max_amount": 0, "multiplier": null, "scheduled_date": "2023-02-14", "posted_date": null, "status_date": "2023-02-14", "payment_id": null, "refund_id": null, "transaction_id": null, "disbursement_number": true, "sequence_number": false, "enrollment_status": null, "enrollment_intensity": false, "enrollment_verified": false, "enrollment_verified_by_id": null, "enrollment_verified_at": null, "cod_status": null, "cod_amount": 0, "cod_originated": false, "cod_net_amount": 0, "cod_released": false, "cod_needs_sync": true, "cod_program_cip_code": null, "cod_payment_period_start_date": null, "external_id": null, "email_message_id": null, "added_at": null, "added_by_id": null, "sandbox": true }

Retrieves a specific AidDisbursement object.

HTTP Request

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

Parameters

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

Permissions

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

update (refund)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "object": "aid_disbursement", "id": 9, "academic_term_id": 8, "student_id": 16, "aid_id": 9, "aid_award_id": 7, "type": "refund_to_source", "status": "scheduled", "amount": -430.7, "gross_amount": 430.7, "max_amount": 0, "multiplier": null, "scheduled_date": "2023-02-14", "posted_date": null, "status_date": "2023-02-14", "payment_id": null, "refund_id": null, "transaction_id": null, "disbursement_number": true, "sequence_number": false, "enrollment_status": null, "enrollment_intensity": false, "enrollment_verified": false, "enrollment_verified_by_id": null, "enrollment_verified_at": null, "cod_status": null, "cod_amount": 0, "cod_originated": false, "cod_net_amount": 0, "cod_released": false, "cod_needs_sync": true, "cod_program_cip_code": null, "cod_payment_period_start_date": null, "external_id": null, "email_message_id": null, "added_at": null, "added_by_id": null, "sandbox": true }

Updates an existing AidDisbursement object.

HTTP Request

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

Parameters

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

Permissions

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

delete (refund)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "object": "aid_disbursement", "id": 12, "deleted": true }

Deletes an existing AidDisbursement object.

HTTP Request

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

Parameters

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

Permissions

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

AidDisbursementBatch

The AidDisbursementBatch object

The AidDisbursementBatch object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "aid_disbursement_batch", "id": 1, "aid_type_ids": "[7]", "campus_id": null, "number": 1, "type": "disbursement", "status": "open", "stage_id": 7, "import_id": null, "transaction_id": null, "notify_students": false, "added_at": "2023-05-23T21:10:45+00:00", "added_by_id": 2923, "updated_at": "2023-05-23T21:37:38+00:00", "updated_by_id": 2923, "report_data": { "stage_name": "Posted to Student Accounts", "num_disbursements": "0", "amount": "0.00", "financial_aid_ids": null, "student_ids": null, "campus_name": null } } ], "sandbox": true }

Retrieves all AidDisbursementBatch objects that match given filter conditions.

HTTP Request

GET /aiddisbursementbatches

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Filter Condition Parameters

These conditions can be used to narrow the results returned.

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

Permissions

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

create

Example code to call this method:

Copy to Clipboard
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]" }' \

Example response:

Copy to Clipboard
{ "object": "aid_disbursement_batch", "id": 2, "aid_type_ids": "[9]", "campus_id": null, "number": 2, "type": "disbursement", "status": "open", "stage_id": 1, "import_id": null, "transaction_id": null, "notify_students": false, "added_at": "2024-11-20T20:03:33+00:00", "added_by_id": 22, "updated_at": null, "updated_by_id": null, "sandbox": true }

Creates a new AidDisbursementBatch object.

HTTP Request

POST /aiddisbursementbatches

Parameters

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

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/aiddisbursementbatches/(aiddisbursementbatch)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "aid_disbursement_batch", "id": 1, "aid_type_ids": "[7]", "campus_id": null, "number": 1, "type": "disbursement", "status": "open", "stage_id": 7, "import_id": null, "transaction_id": null, "notify_students": false, "added_at": "2023-05-23T21:10:45+00:00", "added_by_id": 2923, "updated_at": "2023-05-23T21:37:38+00:00", "updated_by_id": 2923, "sandbox": true }

Retrieves a specific AidDisbursementBatch object.

HTTP Request

GET /aiddisbursementbatches/(aiddisbursementbatch)

Parameters

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

Expandable Properties

Permissions

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

AidStudentAuthorization

The AidStudentAuthorization object

The AidStudentAuthorization object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/aidauthorizations/" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "aid_student_authorization", "id": 13, "student_id": 12, "borrower_id": null, "aid_authorization_id": 2, "aid_year_id": 5, "added_at": "2021-12-23T17:33:30+00:00", "added_by_id": 16 } ], "sandbox": true }

Retrieves all AidStudentAuthorization objects tied to a specific Person.

HTTP Request

GET /people/(person)/aidauthorizations/

Parameters

None

Permissions

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

AidType

The AidType object

The AidType object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/aidtypes" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 12, "results": 12, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "aid_type", "id": 1, "startyear": 1, "endyear": 0, "name": "Pell Grant", "abbrv": "PELL", "cod_abbrv": "PELL", "title_iv": true, "type": "grant", "is_scholarship": false, "source": "federal", "multiplier": null, "federal_aid_id": null, "need_based": true, "count_against_need": true, "report_on_1098t": true, "non_eligible_fee_aid": false, "count_as_tuition_discount": false, "counts_as_efa": true, "only_allow_whole_dollar_amounts": false, "allow_partial_acceptance": false, "require_enrollment_verification": false, "status": "active", "veterans_benefits": false, "external_id": null } ], "sandbox": true }

Retrieves all AidType objects.

HTTP Request

GET /aidtypes

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/aidtypes/(aidtype)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "aid_type", "id": 1, "startyear": 1, "endyear": 0, "name": "Pell Grant", "abbrv": "PELL", "cod_abbrv": "PELL", "title_iv": true, "type": "grant", "is_scholarship": false, "source": "federal", "multiplier": null, "federal_aid_id": null, "need_based": true, "count_against_need": true, "report_on_1098t": true, "non_eligible_fee_aid": false, "count_as_tuition_discount": false, "counts_as_efa": true, "only_allow_whole_dollar_amounts": false, "allow_partial_acceptance": false, "require_enrollment_verification": false, "status": "active", "veterans_benefits": false, "external_id": null, "sandbox": true }

Retrieves a specific AidType object.

HTTP Request

GET /aidtypes/(aidtype)

Parameters

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

Expandable Properties

Permissions

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

AidYear

The AidYear object

The AidYear object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/aidyears" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 19, "results": 19, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "aid_year", "id": 60, "name": "2025-2026", "start_date": "2025-07-01", "end_date": "2026-06-30" } ], "sandbox": true }

Retrieves all AidYear objects.

HTTP Request

GET /aidyears

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/aidyears/(aidyear)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

AidYearSchedule

The AidYearSchedule object

The AidYearSchedule object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/aidyears/(aidyear)/schedules" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/aidyears/(aidyear)/schedules/(aidyearschedule)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

Appeal

The Appeal object

The Appeal object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/appeals" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/appeals/(appeal)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

AppealMedium

The AppealMedium object

The AppealMedium object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/appealmedia" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/appealmedia/(appealmedium)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Application

The Application object

The Application object looks like this in JSON:

Copy to Clipboard
{ "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, "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)
email 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
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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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, "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, "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

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
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
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:

create

Example code to call this method:

Copy to Clipboard
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\"}" }' \

Example response:

Copy to Clipboard
{ "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, "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": "2024-11-20T20:03:34+00:00", "added_by_id": 22 }, "added_at": "2024-11-20T20:03:34+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)
email 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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/applications/(application)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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, "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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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, "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": "2024-11-20T20:03:34+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:

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/applications/(application)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

fields

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/applications/(application)/fields" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 46, "results": 46, "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, "lead_source_id": null, "started_on": "2013-03-19", "submitted_at": "2024-11-20T20:03:34+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": "2024-11-20T20:03:34+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:

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

Copy to Clipboard
{ "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, "lead_source_id": null, "started_on": "2013-03-19", "submitted_at": "2024-11-20T20:03:34+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": "2024-11-20T20:03:34+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:

submit

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/applications/(application)/submit" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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, "lead_source_id": null, "started_on": "2013-03-19", "submitted_at": "2024-11-20T20:03:34+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": "2024-11-20T20:03:34+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:

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/applications/(application)/unlink_person" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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, "lead_source_id": null, "started_on": "2013-03-19", "submitted_at": "2024-11-20T20:03:34+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": "2024-11-20T20:03:34+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:

index by person

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/applications" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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, "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:

ApplicationTemplate

The ApplicationTemplate object

The ApplicationTemplate object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/applicationtemplates" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/applicationtemplates/(applicationtemplate)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

Assignment

The Assignment object

The Assignment object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

create

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "object": "assignment", "id": 40001, "course_offering_id": 21908, "name": "Reading Homework #1", "points": null, "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": "2024-11-20T20:03:33+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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "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": "2024-11-20T12:03:33+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:

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignments/(assignment)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

AssignmentGrade

The AssignmentGrade object

The AssignmentGrade object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

update

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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:

AssignmentGroup

The AssignmentGroup object

The AssignmentGroup object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

create

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "object": "assignment_group", "id": 12, "course_offering_id": 21908, "name": "Weekly Quizes", "weight": null, "extra_credit": false, "drop_lowest": 0, "added_at": "2024-11-20T20:03:33+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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "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:

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/assignmentgroups/(assignmentgroup)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

AssignmentSubmission

The AssignmentSubmission object

The AssignmentSubmission object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

create_comment

Example code to call this method:

Copy to Clipboard
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." }' \

Example response:

Copy to Clipboard
"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:

index

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

create

Example code to call this method:

Copy to Clipboard
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." }' \

Example response:

Copy to Clipboard
"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:

show

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

Automation

The Automation object

The Automation object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/automations" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/automations/(automation)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

AutomationHandler

The AutomationHandler object

The AutomationHandler object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/automationhandler/(automationhandler)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/automationhandlers" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Backup

The Backup object

The Backup object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/backups" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/backups/(backup)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/backups/(backup)/download" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{}

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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/backups/most_recent_completed" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/backups/request" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST

Example response:

Copy to Clipboard
{ "object": "backup", "id": 8, "status": "waiting", "started_at": null, "completed_at": null, "on_complete_email": null, "on_complete_url": null, "added_at": "2024-11-20T20:03:34+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:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/itemcategories" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/itemcategories/(bookstoreitemcategory)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/discountcodes/(bookstorediscountcode)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

BookstoreItem

The BookstoreItem object

The BookstoreItem object looks like this in JSON:

Copy to Clipboard
{ "object": "bookstore_item", "id": 40, "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, "sandbox": true }
Attribute Required Data Type
id No int
category_id No int
name Yes text (200)
description Yes text
status Yes enum (available, not_available, deleted)
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
sandbox No --

index

Example code to call this method:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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, "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, "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

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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/items/(bookstoreitem)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "bookstore_item", "id": 40, "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, "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

Permissions

Any role may call this method.

BookstoreOrder

The BookstoreOrder object

The BookstoreOrder object looks like this in JSON:

Copy to Clipboard
{ "object": "bookstore_order", "id": 10, "user_id": 1257, "first_name": "James", "last_name": "Hill", "email": "jjames@yahoo.com", "phone": "555-995-4444 x 4401", "transaction_id": 0, "online_payment_id": null, "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
user_id Yes int
first_name Yes text (50)
last_name Yes text (50)
email Yes text (50)
phone Yes text (50)
transaction_id Yes int
online_payment_id No 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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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, "user_id": 1257, "first_name": "James", "last_name": "Hill", "email": "jjames@yahoo.com", "phone": "555-995-4444 x 4401", "transaction_id": 0, "online_payment_id": null, "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

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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/orders/(bookstoreorder)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "bookstore_order", "id": 2787, "user_id": 22, "first_name": "API", "last_name": "Dude", "email": null, "phone": null, "transaction_id": 0, "online_payment_id": null, "shipping_method_id": null, "carrier_id": 0, "tracking_number": null, "secret": "ostb673e4094c1991", "source": "internet", "ship_to_name": null, "ship_to_street": null, "ship_to_city": null, "ship_to_state": null, "ship_to_postal": null, "ship_to_country": null, "is_picking_up": true, "item_total": 0, "item_discount": 0, "return_item_total": 0, "shipping": 0, "shipping_discount": 0, "tax_exempt": false, "tax": 0, "return_tax": 0, "total": 0, "status": "construction", "payment_gateway_id": null, "placed_at": null, "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": "2024-11-20T20:03:32+00:00", "added_by_id": 22, "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

Permissions

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

Building

The Building object

The Building object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/buildings" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/buildings/(building)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

COACategory

The COACategory object

The COACategory object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/coacategories" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/coacategories/(coacategory)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

CalendarEvent

The CalendarEvent object

The CalendarEvent object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/events/(calendarevent)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Campaign

The Campaign object

The Campaign object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/campaigns" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/campaigns/(campaign)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Campus

The Campus object

The Campus object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/campuses" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/campuses/(campus)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

CanadianDonationReceipt

The CanadianDonationReceipt object

The CanadianDonationReceipt object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/canadiandonationreceipts/(canadiandonationreceipt)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

CatalogCourse

The CatalogCourse object

The CatalogCourse object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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

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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/catalogcourses/(catalogcourse)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

ChangeLog

The ChangeLog object

The ChangeLog object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/changelog" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "filter": [] }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 96, "results": 96, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "change_log", "id": 946156410, "owner_type_id": 1, "owner_id": 16, "changed_by_id": 22, "changed_by_ip": "10.0.0.1", "changed_time": "2024-11-20T20:03:36+00:00", "type_id": 151, "action": "added", "changed_from": "Cool Kids Plan", "changed_to": null, "report_data": { "changed_time_local": "2024-11-20 12:03:36", "owner_type": "PERSON", "change_type": "DEFAULT_TUITION_SCHEDULE", "changed_by_id": 22, "changed_by_name": "API Dude" } } ], "sandbox": true }

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:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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

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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/checks/(check)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

Citizenship

The Citizenship object

The Citizenship object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/citizenships" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

create

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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:

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/citizenships" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "person", "id": 12, "first_name": "Taylor", "last_name": "Forest", "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, "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T12:03:37+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:

CommunicationPlan

The CommunicationPlan object

The CommunicationPlan object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/communicationplans" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/communicationplans/(communicationplan)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

CommunicationPlanInstance

The CommunicationPlanInstance object

The CommunicationPlanInstance object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/communicationplans" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

create

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

Copy to Clipboard
{ "object": "communication_plan_instance", "id": 3, "person_id": 12, "communication_plan_id": 9, "sender_id": 17, "start_date": "2024-11-20", "added_at": "2024-11-20T20:03:35+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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/communicationplans/(communicationplaninstance)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

Copy to Clipboard
{ "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:

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/communicationplans/(communicationplaninstance)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

Consequence

The Consequence object

The Consequence object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/consequences" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/consequences/(consequence)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Country

The Country object

The Country object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/countries" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

CourseAttendance

The CourseAttendance object

The CourseAttendance object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/attendance/detail" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "filter": [] }' \

Example response:

Copy to Clipboard
{ "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, "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:

CourseDeliveryMethod

The CourseDeliveryMethod object

The CourseDeliveryMethod object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/coursedeliverymethods" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/coursedeliverymethods/(coursedeliverymethod)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

CourseEvaluation

The CourseEvaluation object

The CourseEvaluation object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseevaluations" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseevaluations/(courseevaluation)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

answers

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

Copy to Clipboard
{ "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:

CourseGroup

The CourseGroup object

The CourseGroup object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/coursegroups" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/coursegroups/(coursegroup)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

CourseGroupRequirement

The CourseGroupRequirement object

The CourseGroupRequirement object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/coursegrouprequirements" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/coursegrouprequirements/(coursegrouprequirement)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

CourseLesson

The CourseLesson object

The CourseLesson object looks like this in JSON:

Copy to Clipboard
{ "object": "course_lesson", "id": 1, "course_offering_id": 22746, "name": "Lesson #1", "content": null, "available_at": "2024-11-20T20:03:28+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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/lessons" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:28+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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/lessons/(courselesson)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "course_lesson", "id": 3, "course_offering_id": 21908, "name": "Lesson #1", "content": null, "available_at": "2024-11-20T20:03:28+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

Permissions

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

CourseMeeting

The CourseMeeting object

The CourseMeeting object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/coursemeetings" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/coursemeetings/(coursemeeting)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

update_attendance

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{}

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:

CourseOffering

The CourseOffering object

The CourseOffering object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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

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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

Any role may call this method.

calendar

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/calendar" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/finalize" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST

Example response:

Copy to Clipboard
{ "object": "course_offering", "id": 21908, "academic_term_id": 4, "campus_id": 0, "finalized": true, "finalized_at": "2024-11-20T12:03:38+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:

syllabus

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/syllabus" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/credits" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "filter": [] }' \

Example response:

Copy to Clipboard
{ "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

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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/credits/(credit)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

CustomInfoData

The CustomInfoData object

The CustomInfoData object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/custominfodata" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "filter": [] }' \

Example response:

Copy to Clipboard
{ "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:

index (donation)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show (donation)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

create (donation)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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:

update (donation)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T12:03:33+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:

delete (donation)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/donations/(donation)/custominfodata/(custominfodata)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

index (donor)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show (donor)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

create (donor)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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:

update (donor)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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:

delete (donor)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/donors/(donor)/custominfodata/(custominfodata)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

index (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

create (organization)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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:

update (organization)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T12:03:33+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:

delete (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/custominfodata/(custominfodata)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

index (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/(custominfodata)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

create (person)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+00:00", "added_by_id": 22, "updated_at": "2024-11-20T20:03:33+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:

update (person)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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:

delete (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/(custominfodata)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

index (admissions)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/admissions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show (admissions)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

create (admissions)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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:

update (admissions)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T12:03:33+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:

delete (admissions)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

index (campus life)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/campuslife" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show (campus life)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

create (campus life)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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:

update (campus life)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T12:03:33+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:

delete (campus life)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

index (financial)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financial" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show (financial)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

create (financial)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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:

update (financial)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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:

delete (financial)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

index (financial aid)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/financialaid" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show (financial aid)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

create (financial aid)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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:

update (financial aid)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T12:03:33+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:

delete (financial aid)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

index (student)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/custominfodata/student" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show (student)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

create (student)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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:

update (student)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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:

delete (student)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

index (term student)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

show (term student)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

create (term student)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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:

update (term student)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T12:03:33+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:

delete (term student)

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

CustomInfoField

The CustomInfoField object

See example response for details.

index (admissions)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

show (admissions)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

index (campus life)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

Copy to Clipboard
{ "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:

Copy to Clipboard
{ "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:

show (donation)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

index (donor)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

show (donor)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

index (financial aid)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

show (financial aid)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

index (financial)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

show (financial)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

index (organization)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

show (organization)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

index (person)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

show (person)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

index (student)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

show (student)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

index (term student)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

show (term student)

Example code to call this method:

Example response:

Copy to Clipboard
{ "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:

DataSlicerReport

The DataSlicerReport object

The DataSlicerReport object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/dataslicerreports" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/dataslicerreports/(dataslicerreport)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

results

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{}

Runs the specified Data Slicer report and returns the results as XLS, CSV, or JSON. Up to 10,000 results are returned. No paging.

HTTP Request

GET /dataslicerreports/(dataslicerreport)/results

Parameters

Name Required Data Type Description
export_format No text Export Format can be JSON, CSV, or XLS

Permissions

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

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:

Copy to Clipboard
{ "object": "declined_reason", "id": 1, "name": "Program\/Curriculum ", "sandbox": true }
Attribute Required Data Type
id Yes int
name Yes text (255)
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/declinedreasons" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 7, "results": 7, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "declined_reason", "id": 1, "name": "Program\/Curriculum " } ], "sandbox": true }

Retrieves all DeclinedReason objects.

HTTP Request

GET /declinedreasons

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/declinedreasons/(declinedreason)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "declined_reason", "id": 1, "name": "Program\/Curriculum ", "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:

Degree

The Degree object

The Degree object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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

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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/degrees/(degree)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

students

Example code to call this method:

Copy to Clipboard
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": [] }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "person", "id": 16, "first_name": "Academic", "last_name": "Admin", "middle_name": "", "prefix": null, "suffix": null, "preferred_name": null, "display_name": "Academic Admin", "gender": "female", "other_gender": null, "image_file_id": null, "birth_date": null, "status": "active", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T20:03:33+00:00", "report_data": { "person_id": 16, "active_roles": "4,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

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
degree integer
degree_level integer
last_active date
program integer
specialization integer

Permissions

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

DegreeLevel

The DegreeLevel object

The DegreeLevel object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/degreelevels" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/degreelevels/(degreelevel)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

students

Example code to call this method:

Copy to Clipboard
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": [] }' \

Example response:

Copy to Clipboard
{ "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": "Academic", "last_name": "Admin", "middle_name": "", "prefix": null, "suffix": null, "preferred_name": null, "display_name": "Academic Admin", "gender": "female", "other_gender": null, "image_file_id": null, "birth_date": null, "status": "active", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T20:03:35+00:00", "report_data": { "person_id": 16, "active_roles": "4,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
degree integer
degree_level integer
last_active date
program integer
specialization integer

Permissions

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

Department

The Department object

The Department object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/departments" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/departments/(department)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

DisciplineType

The DisciplineType object

The DisciplineType object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/disciplinetypes" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/disciplinetypes/(disciplinetype)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

DonatePage

The DonatePage object

The DonatePage object looks like this in JSON:

Copy to Clipboard
{ "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, "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
payment_gateway_id No int
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/donatepages" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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, "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/donatepages/(donatepage)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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, "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:

Donation

The Donation object

The Donation object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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

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:

create

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "166997c399e2c0aca7d2f3af960a691d", "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/donations/(donation)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/donations/(donation)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "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:

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

Copy to Clipboard
{ "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:

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/donations/(donation)/unlink_donor" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

Copy to Clipboard
{ "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:

recurring

Example code to call this method:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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:

Donor

The Donor object

The Donor object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "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, "report_data": { "name": null, "person_id": null, "lastname": null, "firstname": null, "person_deceased": 0, "contact_organization_id": null, "org_name": null, "model_status": null, "max_amount": null, "most_recent_donation_date": null, "most_recent_donation_amount": null, "num_donations": 0, "num_donations2": 0, "num_soft_credits": 0, "amount": "0.00", "amount2": "0.00", "soft_credit_amount": "0.00", "amount_including_soft_credits": "0.00", "campaign_ids": null, "appeal_ids": null, "fund_ids": null, "donor_primary_address_id": null, "donor_street": null, "donor_city": null, "donor_state": null, "donor_zip": null, "donor_country": null, "email": null, "phone": null, "assigned_representative": null, "row_id": 14 } } ], "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
email 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
set_amount_comparison donors_amounts_comparison
tag tag
custom_field custom

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/donors/(donor)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

EducationLevel

The EducationLevel object

The EducationLevel object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/educationlevels" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/educationlevels/(educationlevel)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Copy to Clipboard
{ "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
email 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:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "object": "email", "email": "coreycoors@yahoo.com", "action": "resubscribed" }

HTTP Request

POST /emailaddresses/resubscribe

Parameters

Name Required Data Type Description
email Yes text (255)

Permissions

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

unsubscribe

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "object": "email", "email": "billyblanton@yahoo.com", "action": "unsubscribed" }

HTTP Request

POST /emailaddresses/unsubscribe

Parameters

Name Required Data Type Description
email Yes text (255)

Permissions

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

index (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

create (organization)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "object": "email_address", "id": 31, "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": "2024-11-20T20:03:34+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
email Yes text (255)
type Yes enum (home, work, other, school)

Permissions

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

show (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses/(emailaddress)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

update (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses/(emailaddress)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "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
email 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:

delete (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/emailaddresses/(emailaddress)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

index (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/emailaddresses" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

create (person)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "object": "email_address", "id": 32, "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": "2024-11-20T20:03:35+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
email Yes text (255)
type Yes enum (home, work, other, school)

Permissions

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

show (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/emailaddresses/(emailaddress)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

update (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/emailaddresses/(emailaddress)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "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
email 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:

delete (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/emailaddresses/(emailaddress)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

EmailTemplate

The EmailTemplate object

The EmailTemplate object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/emailtemplates" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/emailtemplates/(emailtemplate)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Enrollment

The Enrollment object

The Enrollment object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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:

show (courseoffering)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/students/(enrollment)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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

Permissions

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

update_final_grade

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T12:03:33+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:

attendance

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

finalize

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T12:03:37+00:00", "delivery_method_id": null, "automatically_removed_at": null, "automatically_removed_from": null, "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T12:03:37+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:

index

Example code to call this method:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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": "Academic", "last_name": "Admin", "middle_name": "", "prefix": null, "suffix": null, "preferred_name": null, "display_name": "Academic Admin", "gender": "female", "other_gender": null, "image_file_id": null, "birth_date": null, "status": "active", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T20:03:35+00:00", "report_data": { "student_person_id": 16, "student_name": "Academic 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", "course_campus_id": null, "academic_term_end_date": "2008-05-15", "student_first_name": "Academic", "student_last_name": "Admin", "course_offering_section": "1", "course_offering_name": "Beginning Latin I", "credits": "2.00", "hours": "2.00", "retake": null, "course_campus_name": null, "finalized": 0, "program_units": "CREDITS", "catalog_course_id": 688, "row_id": "16_0_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

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:

create

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

Copy to Clipboard
{ "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:

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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/enrollments/(enrollment)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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:

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/enrollments/(enrollment)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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:

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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/enrollments/(enrollment)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

EnrollmentAgreement

The EnrollmentAgreement object

The EnrollmentAgreement object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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
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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/enrollmentagreements/(enrollmentagreement)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

ExitReason

The ExitReason object

The ExitReason object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/exitreasons" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/exitreasons/(exitreason)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Fee

The Fee object

The Fee object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/fees" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/fees/(fee)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

File

The File object

The File object looks like this in JSON:

Copy to Clipboard
{ "object": "file", "id": 1, "file_data_id": 2, "name": "profile1.jpg", "alt": null, "contenttype": null, "type": "profile_picture", "size": 16814, "added_to": 1, "filename": null, "status": "active", "trashed_by_id": null, "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)
type No enum (person, contact_org, course, assignment, folder, inbox, trash, shared, discipline, application_component, todo, custom_field, transaction, lesson, email, news, fin_aid_application, discussion_topic, discussion_comment, assignment_submission, profile_picture, contact_org_picture, bookstore_item, library_resource, question, page_layout, chat_message, inquiry_response, application_question, application_question_response, application_section_answer, application_note, application_template_section, application_section, digital_resource, editable_template_field, enrollment_agreement, bookstore_item_variation, news_attachment, settings_image, email_template, data_import, catalog_course_picture, course_offering_picture, group, group_picture, syllabus, form, form_field, form_response_field_answer, form_response_note, book, populi_custom_report, setting, form_image)
size Yes int
added_to Yes int
filename No text (255)
status Yes enum (uploading, active, deleted)
trashed_by_id No int
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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/files" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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, "type": "course", "size": 16814, "added_to": 21908, "filename": null, "status": "active", "trashed_by_id": null, "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:

show (courseoffering)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/files/(file)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "file", "id": 2, "file_data_id": 2, "name": "course_handouts.pdf", "alt": null, "contenttype": null, "type": "course", "size": 16814, "added_to": 21908, "filename": null, "status": "active", "trashed_by_id": null, "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/files/(file)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "file", "id": 1, "file_data_id": 2, "name": "profile1.jpg", "alt": null, "contenttype": null, "type": "profile_picture", "size": 16814, "added_to": 1, "filename": null, "status": "active", "trashed_by_id": null, "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

download

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/files/(file)/download" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{}

HTTP Request

GET /files/(file)/download

Parameters

None

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/files/(file)/download_link" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "file", "id": 1, "name": "profile1.jpg", "download_link": "https:\/\/s3.amazonaws.com\/dev.populi.co\/d069f5039d2e80a4edda7b6ba44a034f.jpg?AWSAccessKeyId=AKIAJGVEOZ7CAMYX2QDQ&Expires=1732134010&response-content-disposition=inline;%20filename=%22profile1.jpg%22&Signature=8JquFVzpGgRXl1meaxjjt1J0BZg%3D" }

HTTP Request

GET /files/(file)/download_link

Parameters

None

FinancialTransaction

The FinancialTransaction object

The FinancialTransaction object looks like this in JSON:

Copy to Clipboard
{ "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

Copy to Clipboard
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 }' \

Example response:

Copy to Clipboard
{}

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:

index

Example code to call this method:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T12:03:33+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

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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/transactions/(financialtransaction)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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

Permissions

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

Form

The Form object

The Form object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/forms" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "filter": [] }' \

Example response:

Copy to Clipboard
{ "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

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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/forms/(form)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

FormResponse

The FormResponse object

The FormResponse object looks like this in JSON:

Copy to Clipboard
{ "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)
email 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:

Copy to Clipboard
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": [] }' \

Example response:

Copy to Clipboard
{ "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

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:

Copy to Clipboard
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" ] }' \

Example response:

Copy to Clipboard
{ "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

Fund

The Fund object

The Fund object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/funds" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/funds/(fund)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

GradeScale

The GradeScale object

The GradeScale object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/gradescales" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/gradescales/(gradescale)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

Group

The Group object

The Group object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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

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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/groups/(group)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Honor

The Honor object

The Honor object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/honors" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/honors/(honor)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

IDCardTemplate

The IDCardTemplate object

The IDCardTemplate object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/idcardtemplates" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

Export (person)

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/idcard" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{}

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:

index (PrintLayouts)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/idcardtemplates/printlayouts" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Inquiry

The Inquiry object

The Inquiry object looks like this in JSON:

Copy to Clipboard
{ "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)
email 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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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

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:

create

Example code to call this method:

Copy to Clipboard
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\"}" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20", "added_at": "2024-11-20T20:03:33+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)
email 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)

Action Parameters

Name Data Type Description
create_response

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/inquiries/(inquiry)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
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\"}" }' \

Example response:

Copy to Clipboard
{ "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)
email 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:

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/inquiries/(inquiry)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

Copy to Clipboard
{ "object": "inquiry", "id": 1, "form_id": null, "form_version_id": null, "person_id": 2, "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", "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:

InventoryBatch

The InventoryBatch object

The InventoryBatch object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/inventorybatches" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/inventorybatches/(inventorybatch)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

Invoice

The Invoice object

The Invoice object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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

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
custom_field custom

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/invoices/(invoice)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

ISIR

The Isir object

The Isir object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/isirs/(isir)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

LMS

Run LMS sync

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/lmssync/run" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{}

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:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 3, "results": 3, "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

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
email email
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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/leads/(lead)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

index (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/leads" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/leads" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST

Example response:

Copy to Clipboard
{ "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": "2024-11-20", "import_id": null, "added_at": "2024-11-20T20:03:36+00:00", "added_by_id": 22, "updated_at": "2024-11-20T20:03:36+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:

show (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/leads/(lead)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/leads/(lead)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "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

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/leads/(lead)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

LeadSource

The LeadSource object

The LeadSource object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/leadsources" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/leadsources/(leadsource)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

LedgerEntry

The LedgerEntry object

The LedgerEntry object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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

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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/ledgerentries/(ledgerentry)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

LessonPage

The LessonPage object

The LessonPage object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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

Permissions

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

Letter

The Letter object

The Letter object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/letters/(letter)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

LetterTemplate

The LetterTemplate object

The LetterTemplate object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/lettertemplates" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/lettertemplates/(lettertemplate)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

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

LibraryResource

The LibraryResource object

The LibraryResource object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/libraryresources" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "filter": [] }' \

Example response:

Copy to Clipboard
{ "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

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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/libraryresources/(libraryresource)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Link

The Link object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show (courselesson)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

update (courselesson)

Example code to call this method:

Copy to Clipboard
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\"}" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+00:00", "added_by_id": 22, "updated_at": "2024-11-20T20:03:33+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": "2024-11-20T20:03:33+00:00", "added_by_id": 22, "updated_at": "2024-11-20T20:03:33+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:

delete (courselesson)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courselessons/(courselesson)/links/(link)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

index (syllabus and lessons)

Example code to call this method:

Copy to Clipboard
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": [] }' \

Example response:

Copy to Clipboard
{ "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:

create (syllabus)

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+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:

show (syllabus)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

update (syllabus)

Example code to call this method:

Copy to Clipboard
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\"}" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:33+00:00", "added_by_id": 22, "updated_at": "2024-11-20T20:03:33+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": "2024-11-20T20:03:33+00:00", "added_by_id": 22, "updated_at": "2024-11-20T20:03:33+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:

delete (syllabus)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/links/(link)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

Localization

The Localization object

The Localization object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/localizations" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/localizations/(localization)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

LockArea

The LockArea object

The LockArea object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/lockareas" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

LockStudent

The LockStudent object

The LockStudent object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/locks" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

create_lock

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "object": "lock_student", "id": 4, "person_id": 12, "lock_type_id": 3, "reason": null, "note": null, "added_at": "2024-11-20T20:03:35+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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/locks/(lockstudent)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

update_lock

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

delete_lock

Example code to call this method:

Copy to Clipboard
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

Example response:

Copy to Clipboard
{ "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:

LockType

The LockType object

The LockType object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/locktypes" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/locktypes/(locktype)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

MailingList

The MailingList object

The MailingList object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/mailinglists" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/mailinglists/(mailinglist)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

MealPlan

The MealPlan object

The MealPlan object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/mealplans" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/mealplans/(mealplan)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

MealPlanStudent

The MealPlanStudent object

The MealPlanStudent object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/mealplans" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

create

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:36+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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/mealplans/(mealplanstudent)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/mealplans/(mealplanstudent)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "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:

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/mealplans/(mealplanstudent)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

News

The News object

The News object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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": "Academic 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

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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/news/(news)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

Note

The Note object

The Note object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/notes" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

create (organization)

Example code to call this method:

Copy to Clipboard
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]" }' \

Example response:

Copy to Clipboard
"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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/notes" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

create (person)

Example code to call this method:

Copy to Clipboard
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]" }' \

Example response:

Copy to Clipboard
{ "object": "note", "id": 17, "owner_type": "person", "owner_id": 12, "content": "blah blah", "hidden": false, "added_at": "2024-11-20T20:03:32+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:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/occupations" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/occupations/(occupation)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Copy to Clipboard
{ "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, 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)
email 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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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
email text
phone text
processing_fee decimal
convenience_fee decimal
amount decimal

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/onlinepayments/(onlinepayment)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Organization

The Organization object

The Organization object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
address address
custom_field custom
email email
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:

create

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20T20:03:34+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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "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:

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

OrganizationDomain

The OrganizationDomain object

The OrganizationDomain object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizationdomains" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizationdomains/(organizationdomain)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Copy to Clipboard
{ "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:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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:

create

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "2024-11-20", "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": "2024-11-20T20:03:34-0800", "added_at": null, "added_by_id": null, "type": "College" }, "added_at": "2024-11-20T20:03:35+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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/organizations/(organizationmember)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

update

Example code to call this method:

Copy to Clipboard
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 }' \

Example response:

Copy to Clipboard
{ "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:

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/organizations/(organizationmember)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "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:

OrganizationType

The OrganizationType object

The OrganizationType object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizationtypes" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizationtypes/(organizationtype)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

Payment

The Payment object

The Payment object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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, "added_at": null, "added_by_id": 22, "updated_at": "2024-11-20T20:03:33+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": "2024-11-20 12:03:33", "online": 0, "online_payment_id": null, "reference_number": "", "receipt_number": "673e4095adf59", "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

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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/payments/(payment)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

recurring

Example code to call this method:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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:

index (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/payments" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

create

Example code to call this method:

Copy to Clipboard
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" }' \

Example response:

Copy to Clipboard
{ "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": "673e4095adf59", "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:

show (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/payments/(payment)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

PaymentDeadline

The PaymentDeadline object

The PaymentDeadline object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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

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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/paymentdeadlines/(paymentdeadline)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

PaymentPeriod

The PaymentPeriod object

The PaymentPeriod object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
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}]}} }' \

Example response:

Copy to Clipboard
{ "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": "Alice Admin", "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

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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/paymentperiods/(paymentperiod)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

PaymentPlan

The PaymentPlan object

The PaymentPlan object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/paymentplans" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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:

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/paymentplans/(paymentplan)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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

Permissions

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

PaymentPlanStudent

The PaymentPlanStudent object

The PaymentPlanStudent object looks like this in JSON:

Copy to Clipboard
{ "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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/paymentplans" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "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 }

Retrieves all PaymentPlanStudent objects tied to a specific Person.

HTTP Request

GET /people/(person)/paymentplans

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/paymentplans" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "payment_plan_id": 1 }' \

Example response:

Copy to Clipboard
{ "object": "payment_plan_student", "id": 8, "student_id": 12, "academic_term_id": null, "invoice_id": null, "payment_plan_id": 1, "start_date": "2024-11-20", "as_of_time": "2024-11-20T20:03:36+00:00", "charge_types_broken_out": false, "total_eligible_charges": 0, "recurring_amount": 0, "exclude_aid": true, "scheduled_aid_handling": "consider_allocation_time", "schedule_type": "date", "added_at": "2024-11-20T20:03:36+00:00", "added_by_id": 22, "sandbox": true }

Creates a new PaymentPlanStudent object.

HTTP Request

POST /people/(person)/paymentplans

Parameters

Name Required Data Type Description
payment_plan_id Yes int
academic_term_id No int
recurring_amount No decimal This option is only relevant for plans with a recurring schedule type.
start_date No date
as_of_time No datetime
invoice_ids No array of Invoice ids By default, all possible invoices will be added to the plan. Provide an array of invoice ids to limit the selection.

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/paymentplans/(paymentplanstudent)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "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 }

Retrieves a specific PaymentPlanStudent object.

HTTP Request

GET /people/(person)/paymentplans/(paymentplanstudent)

Parameters

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

Expandable Properties

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/paymentplans/(paymentplanstudent)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "payment_plan_student", "id": 8, "deleted": true }

Deletes an existing PaymentPlanStudent object.

HTTP Request

DELETE /people/(person)/paymentplans/(paymentplanstudent)

Parameters

Name Required Data Type Description
remove_initial_fee No bool

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:

PendingCharge

The PendingCharge object

The PendingCharge object looks like this in JSON:

Copy to Clipboard
{ "object": "pending_charge", "id": 8001, "pending_charge_batch_id": null, "academic_term_id": null, "person_id": 12, "status": "active", "item_type": "fee", "item_id": 9, "amount": 1000, "source": "automatic", "source_type": null, "source_id": null, "description": null, "added_because_description": null, "added_at": "2020-06-08T20:14:45+00:00", "added_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
pending_charge_batch_id No int
academic_term_id No int
person_id Yes int
status Yes enum (active, replaced, deleted, invoiced)
item_type Yes enum (tuition, fee, room_plan, meal_plan, bookstore)
item_id Yes int
amount Yes decimal
source Yes enum (manual, automatic, edit)
source_type No enum (payment_plan_student)
source_id No int
description No text (1000)
added_because_description No text (1000)
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/pendingcharges" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "filter": {"0":{"logic":"ALL","fields":[{"name":"description","value":{"type":"CONTAINS","text":"blah"},"positive":1}]}} }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "pending_charge", "id": 8000, "pending_charge_batch_id": null, "academic_term_id": null, "person_id": 16, "status": "active", "item_type": "fee", "item_id": 9, "amount": 1000, "source": "automatic", "source_type": null, "source_id": null, "description": null, "added_because_description": null, "added_at": "2020-06-08T20:14:45+00:00", "added_by_id": null, "report_data": { "firstname": "Academic", "lastname": "Admin", "middlename": "", "academic_term_name": null, "dummyid": "20220xx001", "added_by_name": null, "item_name": "Parking Tickets!", "row_id": 8000 } } ], "sandbox": true }

Retrieves all PendingCharge objects that match given filter conditions.

HTTP Request

GET /pendingcharges

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
student search
student_campus campus
tag tag
academic_term academic_term
type enum
charge charge
description text
amount decimal
custom_field custom

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/pendingcharges/(pendingcharge)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "pending_charge", "id": 8001, "pending_charge_batch_id": null, "academic_term_id": null, "person_id": 12, "status": "active", "item_type": "fee", "item_id": 9, "amount": 1000, "source": "automatic", "source_type": null, "source_id": null, "description": null, "added_because_description": null, "added_at": "2020-06-08T20:14:45+00:00", "added_by_id": null, "sandbox": true }

Retrieves a specific PendingCharge object.

HTTP Request

GET /pendingcharges/(pendingcharge)

Parameters

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

Expandable Properties

Permissions

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

index (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/pendingcharges" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "pending_charge", "id": 8001, "pending_charge_batch_id": null, "academic_term_id": null, "person_id": 12, "status": "active", "item_type": "fee", "item_id": 9, "amount": 1000, "source": "automatic", "source_type": null, "source_id": null, "description": null, "added_because_description": null, "added_at": "2020-06-08T20:14:45+00:00", "added_by_id": null } ], "sandbox": true }

Retrieves all PendingCharge objects tied to a specific Person.

HTTP Request

GET /people/(person)/pendingcharges

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/pendingcharges" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "amount": 450.25, "item_type": "fee", "item_id": 9 }' \

Example response:

Copy to Clipboard
{ "object": "pending_charge", "id": 8002, "pending_charge_batch_id": null, "academic_term_id": null, "person_id": 12, "status": "active", "item_type": "fee", "item_id": 9, "amount": 450.25, "source": "manual", "source_type": null, "source_id": null, "description": null, "added_because_description": null, "added_at": "2024-11-20T20:03:33+00:00", "added_by_id": 22, "sandbox": true }

Creates a new PendingCharge object.

HTTP Request

POST /people/(person)/pendingcharges

Parameters

Name Required Data Type Description
amount Yes decimal
item_type Yes enum (tuition, fee, room_plan, meal_plan, bookstore)
item_id Yes int
academic_term_id No int
description No text (1000)

Permissions

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

invoice

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/pendingcharges/invoice" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "posted_date": "2023-12-30", "due_date": "2024-02-05" }' \

Example response:

Copy to Clipboard
{ "object": "invoice", "id": 100, "actor_type": "person", "actor_id": 12, "number": 9, "description": null, "transaction_id": 102, "amount": 1450.25, "due_on": "2024-02-05", "status": "paid", "marked_uncollectible_on": null, "posted_on": "2023-12-30", "academic_term_id": null, "items": [ { "object": "invoice_item", "id": 7, "invoice_id": 100, "item_type": "fee", "item_id": 9, "name": "Parking Tickets!", "amount": 1000, "description": null }, { "object": "invoice_item", "id": 8, "invoice_id": 100, "item_type": "fee", "item_id": 9, "name": "Parking Tickets!", "amount": 450.25, "description": null } ], "sandbox": true }

HTTP Request

POST /people/(person)/pendingcharges/invoice

Parameters

Name Required Data Type Description
academic_term_id No int
posted_date No date Default is today
due_date No date
fee_id No int
pending_charge_ids No array of PendingCharge ids

Permissions

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

Person

The Person object

The Person object looks like this in JSON:

Copy to Clipboard
{ "object": "person", "id": 16, "first_name": "Academic", "last_name": "Admin", "middle_name": "", "prefix": null, "suffix": null, "preferred_name": null, "display_name": "Academic Admin", "gender": "female", "other_gender": null, "image_file_id": null, "birth_date": null, "status": "active", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": null, "private_profile": false, "is_user": true, "sandbox": true }
Attribute Required Data Type
id Yes int
first_name Yes text (50)
last_name Yes text (50)
middle_name Yes text (50)
prefix Yes text (20)
suffix Yes text (20)
preferred_name Yes text (255)
display_name Yes text (255)
gender Yes enum (male, female, unknown, other)
other_gender No text (50)
image_file_id No int
birth_date Yes date
status Yes enum (active, deleted, deceased)
social_security_number Yes text (15)
alien_registration_number Yes text (30)
social_insurance_number Yes text (30)
home_city Yes text (50)
home_state Yes text (50)
home_country Yes text (50)
former_name Yes text (50)
license_plate No text (50)
bio No text (160)
hispanic_latino No bool
resident_alien No bool
localization_id No int
notification_email_id No int
deceased_date No date
import_id No int
added_at No datetime
added_by_id No int
updated_at No datetime
private_profile No bool
is_user No bool
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people" \ -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}]}} }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 20, "results": 20, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "person", "id": 35, "first_name": "Dolce", "last_name": "Miller", "middle_name": "", "prefix": null, "suffix": null, "preferred_name": null, "display_name": "Dolce Miller", "gender": "female", "other_gender": null, "image_file_id": null, "birth_date": null, "status": "active", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": null, "report_data": { "person_id": 35, "active_roles": null, "username": null, "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": null, "contact_primary_phone": null, "visible_student_id": "20220xx003" }, "private_profile": false, "is_user": false } ], "sandbox": true }

Retrieves all Person objects that match given filter conditions.

HTTP Request

GET /people

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
address address
age integer
alien_registration_number text
alumni bool
birthdate date
birthday month_day
citizenship countryobject id
currently_enrolled bool
custom_field custom
deceased bool
deceased_date date
email email
first_name text
former_name text
gender gender
has_profile_picture bool
has_verified_email bool
has_verified_text_messaging_number bool
home_city text
home_country country
home_state state
import object id
info_changed datetime
last_active date
last_name text
license_plate text
localization localization
lock_type locktype
login_approvals_enabled bool
middle_name text
organization personcontactorganization
phone phone
populi_name text
preferred_name text
prefix text
private_profile bool
race_ethnicity raceethnicity
race_ethnicity_ipeds baseobject id
resident_alien bool
role role
sin text
ssn text
student_housing student_housing
student_id text
suffix text
tag tag
user_account choice
username text
website website

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "first_name": "Tsedey", "last_name": "Smith" }' \

Example response:

Copy to Clipboard
{ "object": "person", "id": 36, "first_name": "Tsedey", "last_name": "Smith", "middle_name": "", "prefix": null, "suffix": null, "preferred_name": null, "display_name": "Tsedey Smith", "gender": null, "other_gender": null, "image_file_id": null, "birth_date": null, "status": "active", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": "2024-11-20T12:03:35+00:00", "added_by_id": 22, "updated_at": "2024-11-20T12:03:35+00:00", "private_profile": false, "is_user": false, "sandbox": true }

Creates a new Person object.

HTTP Request

POST /people

Parameters

Name Required Data Type Description
first_name Yes text (50)
last_name Yes text (50)
middle_name No text (50)
prefix No text (20)
suffix No text (20)
preferred_name No text (255)
display_name No text (255)
gender No enum (male, female, unknown, other)
birth_date No date
social_security_number No text (15)
alien_registration_number No text (30)
social_insurance_number No text (30)
home_city No text (50)
home_state No text (50)
home_country No text (50)
former_name No text (50)
license_plate No text (50)
bio No text (160)
resident_alien No bool
localization_id No int
is_private No bool
deceased_date No date
import_id No int

Permissions

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

by_student_id

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/by_student_id" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "student_id": "20220xx001" }' \

Example response:

Copy to Clipboard
{ "object": "person", "id": 16, "first_name": "Academic", "last_name": "Admin", "middle_name": "", "prefix": null, "suffix": null, "preferred_name": null, "display_name": "Academic Admin", "gender": "female", "other_gender": null, "image_file_id": null, "birth_date": null, "status": "active", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T20:03:33+00:00", "private_profile": false, "is_user": true, "sandbox": true }

Get a single person by their visible student ID rather than their Populi ID.

HTTP Request

GET /people/by_student_id

Parameters

Name Required Data Type Description
student_id Yes text visible student id

Expandable Properties

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "expand": [ "tags", "addresses" ] }' \

Example response:

Copy to Clipboard
{ "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, "addresses": [ { "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 } ], "tags": [ { "object": "tag", "id": 600, "name": "Special", "autogenerated": null, "added_at": null, "added_by_id": null } ], "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T20:03:33+00:00", "private_profile": false, "is_user": true, "sandbox": true }

Retrieves a specific Person object.

HTTP Request

GET /people/(person)

Parameters

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

Expandable Properties

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT -d '{ "first_name": "Taylor", "last_name": "Forest" }' \

Example response:

Copy to Clipboard
{ "object": "person", "id": 12, "first_name": "Taylor", "last_name": "Forest", "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, "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T12:03:35+00:00", "private_profile": false, "is_user": true, "sandbox": true }

Updates an existing Person object.

HTTP Request

PUT /people/(person)

Parameters

Name Required Data Type Description
first_name No text (50)
last_name No text (50)
middle_name No text (50)
prefix No text (20)
suffix No text (20)
preferred_name No text (255)
display_name No text (255)
former_name No text (50)
gender No enum (male, female, unknown, other)
birth_date No date
social_security_number No text (15)
alien_registration_number No text (30)
social_insurance_number No text (30)
home_city No text (50)
home_state No text (50)
home_country No text (50)
license_plate No text (50)
bio No text (160)
resident_alien No bool
localization_id No int
is_private No bool

Permissions

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

update_profile_picture

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/update_profile_picture" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -F 'file=@/path/to/file.jpg' \

Example response:

Copy to Clipboard
"Example response not available."

Updates the profile_picture attribute of an existing Person object.

HTTP Request

POST /people/(person)/update_profile_picture

Parameters

This routes requires a file upload with the request. Use a form post parameter called "file".

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "person", "id": 21, "deleted": true }

Deletes an existing Person object.

HTTP Request

DELETE /people/(person)

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:

mark_deceased

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/mark_deceased" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST

Example response:

Copy to Clipboard
{ "object": "person", "id": 14, "first_name": "Josephine", "last_name": "Student", "middle_name": "", "prefix": null, "suffix": null, "preferred_name": null, "display_name": "Josephine Student", "gender": "female", "other_gender": null, "image_file_id": null, "birth_date": null, "status": "deceased", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T12:03:37+00:00", "private_profile": false, "is_user": false, "sandbox": true }

HTTP Request

POST /people/(person)/mark_deceased

Parameters

Name Required Data Type Description
deceased_date No date

restore

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/restore" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST

Example response:

Copy to Clipboard
{ "object": "person", "id": 12, "first_name": "Taylor", "last_name": "Forest", "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": true, "resident_alien": true, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T12:03:37+00:00", "private_profile": false, "is_user": true, "sandbox": true }

HTTP Request

POST /people/(person)/restore

Parameters

None

Permissions

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

upload_file

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/upload_file" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -F 'file=@/path/to/file.jpg' \ -F 'parameters={"custom_info_field_id":"2","academic_term_id":"470","visibility_role_ids":"[7, 10, 15]"}' \

Example response:

Copy to Clipboard
"Example response not available."

HTTP Request

POST /people/(person)/upload_file

Parameters

Name Required Data Type Description
custom_info_field_id No int
academic_term_id No int
visibility_role_ids Yes array of Role ids

This routes requires a file upload with the request. 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:

possible_duplicates

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/possibleduplicates" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "first_name": "dolce", "last_name": "miller" }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "person", "id": 35, "first_name": "Dolce", "last_name": "Miller", "middle_name": "", "prefix": null, "suffix": null, "preferred_name": null, "display_name": "Dolce Miller", "gender": "female", "other_gender": null, "image_file_id": null, "birth_date": null, "status": "active", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": null, "private_profile": false, "is_user": false } ], "sandbox": true }

HTTP Request

GET /people/possibleduplicates

Parameters

Name Required Data Type Description
first_name No text (50)
last_name No text (50)
preferred_name No text (255)
gender No enum (male, female, unknown, other)

Permissions

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

PersonRace

The PersonRace object

The PersonRace object looks like this in JSON:

Copy to Clipboard
{ "object": "person_race", "id": 1, "person_id": 15, "race_id": 7, "sandbox": true }
Attribute Required Data Type
id Yes int
person_id Yes int
race_id Yes int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/races" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "person", "id": 12, "first_name": "Taylor", "last_name": "Forest", "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, "races": [], "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T20:03:35+00:00", "private_profile": false, "is_user": true, "sandbox": true }

Retrieves all PersonRace objects tied to a specific Person.

HTTP Request

GET /people/(person)/races

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/races" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "race_id": 1, "hispanic_latino": "1" }' \

Example response:

Copy to Clipboard
{ "object": "person", "id": 12, "first_name": "Taylor", "last_name": "Forest", "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": true, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "races": [ { "object": "race", "id": 1, "name": "American Indian or Alaska Native" } ], "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T12:03:35+00:00", "private_profile": false, "is_user": true, "sandbox": true }

Creates a new PersonRace object.

HTTP Request

POST /people/(person)/races

Parameters

Name Required Data Type Description
race_id No int You do not need to include race_id if you are only setting the hispanic_latino value.
hispanic_latino Yes bool

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/races" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "person", "id": 12, "first_name": "Taylor", "last_name": "Forest", "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": true, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T12:03:37+00:00", "private_profile": false, "is_user": true, "sandbox": true }

Removes all race and ethnicity information about a person.

HTTP Request

DELETE /people/(person)/races

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:

PhoneNumber

The PhoneNumber object

The PhoneNumber object looks like this in JSON:

Copy to Clipboard
{ "object": "phone_number", "id": 3, "owner_id": 1, "owner_type": "organization", "number": "333.555.6666 x 091", "type": "work", "primary": true, "old": false, "public": true, "synced_from": null, "ext": null, "import_id": 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, organization)
number Yes text (45)
type Yes enum (home, work, mobile, fax, other, org, school)
primary Yes bool
old Yes bool
public Yes bool
synced_from Yes int
ext No int
import_id No int
added_at No datetime
added_by_id No int
sandbox No --

index (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "phone_number", "id": 3, "owner_id": 1, "owner_type": "organization", "number": "333.555.6666 x 091", "type": "work", "primary": true, "old": false, "public": true, "synced_from": null, "ext": null, "import_id": null, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all PhoneNumber objects tied to a specific Organization.

HTTP Request

GET /organizations/(organization)/phonenumbers

Parameters

None

Permissions

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

create (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "number": "423-555-1100", "type": "work" }' \

Example response:

Copy to Clipboard
{ "object": "phone_number", "id": 2179, "owner_id": 1, "owner_type": "organization", "number": "(423) 555-1100", "type": "work", "primary": false, "old": false, "public": false, "synced_from": null, "ext": null, "import_id": null, "added_at": "2024-11-20T20:03:34+00:00", "added_by_id": 22, "sandbox": true }

Creates a new PhoneNumber object.

HTTP Request

POST /organizations/(organization)/phonenumbers

Parameters

Name Required Data Type Description
number Yes text (45)
type Yes enum (home, work, mobile, fax, other, org, school)

Permissions

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

show (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "phone_number", "id": 3, "owner_id": 1, "owner_type": "organization", "number": "333.555.6666 x 091", "type": "work", "primary": true, "old": false, "public": true, "synced_from": null, "ext": null, "import_id": null, "added_at": null, "added_by_id": null, "sandbox": true }

Retrieves a specific PhoneNumber object.

HTTP Request

GET /organizations/(organization)/phonenumbers/(phonenumber)

Parameters

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

Permissions

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

update (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "object": "phone_number", "id": 3, "owner_id": 1, "owner_type": "organization", "number": "(333) 555-6666 x 091", "type": "work", "primary": true, "old": false, "public": true, "synced_from": null, "ext": null, "import_id": null, "added_at": null, "added_by_id": null, "sandbox": true }

Updates an existing PhoneNumber object.

HTTP Request

PUT /organizations/(organization)/phonenumbers/(phonenumber)

Parameters

Name Required Data Type Description
number No text (45)
type No enum (home, work, mobile, fax, other, org, school)
is_primary No bool
old No bool
public No bool

Permissions

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

delete (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "phone_number", "id": 3, "deleted": true }

Deletes an existing PhoneNumber object.

HTTP Request

DELETE /organizations/(organization)/phonenumbers/(phonenumber)

Parameters

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

Permissions

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

index (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/phonenumbers" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "phone_number", "id": 100, "owner_id": 12, "owner_type": "person", "number": "333-555-6666", "type": "work", "primary": true, "old": false, "public": true, "synced_from": null, "ext": null, "import_id": null, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all PhoneNumber objects tied to a specific Person.

HTTP Request

GET /people/(person)/phonenumbers

Parameters

None

Permissions

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

create (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/phonenumbers" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "number": "555-555-4443", "type": "home" }' \

Example response:

Copy to Clipboard
{ "object": "phone_number", "id": 2180, "owner_id": 12, "owner_type": "person", "number": "(555) 555-4443", "type": "home", "primary": false, "old": false, "public": false, "synced_from": null, "ext": null, "import_id": null, "added_at": "2024-11-20T20:03:35+00:00", "added_by_id": 22, "sandbox": true }

Creates a new PhoneNumber object.

HTTP Request

POST /people/(person)/phonenumbers

Parameters

Name Required Data Type Description
number Yes text (45)
type Yes enum (home, work, mobile, fax, other, org, school)

Permissions

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

show (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "phone_number", "id": 16, "owner_id": 16, "owner_type": "person", "number": "333.555.6666 x 091", "type": "work", "primary": true, "old": false, "public": true, "synced_from": null, "ext": null, "import_id": null, "added_at": null, "added_by_id": null, "sandbox": true }

Retrieves a specific PhoneNumber object.

HTTP Request

GET /people/(person)/phonenumbers/(phonenumber)

Parameters

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

Permissions

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

update (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "object": "phone_number", "id": 16, "owner_id": 16, "owner_type": "person", "number": "(333) 555-6666 x 091", "type": "work", "primary": true, "old": false, "public": true, "synced_from": null, "ext": null, "import_id": null, "added_at": null, "added_by_id": null, "sandbox": true }

Updates an existing PhoneNumber object.

HTTP Request

PUT /people/(person)/phonenumbers/(phonenumber)

Parameters

Name Required Data Type Description
number No text (45)
type No enum (home, work, mobile, fax, other, org, school)
is_primary No bool
old No bool
public No bool

Permissions

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

delete (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "phone_number", "id": 16, "deleted": true }

Deletes an existing PhoneNumber object.

HTTP Request

DELETE /people/(person)/phonenumbers/(phonenumber)

Parameters

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

Permissions

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

Post

The Post object

The Post object looks like this in JSON:

Copy to Clipboard
{ "object": "post", "id": 6, "content": "Career fair this Saturday!", "owner_type": "person", "owner_id": null, "added_by_instructor": false, "edited_at": null, "edited_post_id": null, "added_at": "2020-04-15T18:36:01+00:00", "added_by_id": 1, "sandbox": true }
Attribute Required Data Type
id Yes int
content Yes text
owner_type No --
owner_id No int
added_by_instructor Yes bool
edited_at No datetime
edited_post_id Yes int
added_at Yes datetime
added_by_id No int
sandbox No --

index (courseoffering)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": 100, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "post", "id": 7, "content": "What are you thoughts on the latest reading?", "owner_type": "course", "owner_id": 21908, "added_by_instructor": true, "edited_at": null, "edited_post_id": null, "author_name": "API Dude", "author_initials": "AD", "author_image_file_id": null, "num_likes": 0, "num_comments": 1, "added_at": "2022-04-15T18:36:01+00:00", "added_by_id": 22 } ], "sandbox": true }

Retrieves all Post objects tied to a specific Courseoffering.

HTTP Request

GET /courseofferings/(courseoffering)/posts

Parameters

None

create (courseoffering)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "content": "What is your favorite flavor of soda?" }' \

Example response:

Copy to Clipboard
{ "object": "post", "id": 151, "content": "What is your favorite flavor of soda?", "owner_type": "course", "owner_id": 21908, "added_by_instructor": false, "edited_at": null, "edited_post_id": null, "added_at": "2024-11-20T20:03:37+00:00", "added_by_id": 22, "sandbox": true }

Creates a new Post object.

HTTP Request

POST /courseofferings/(courseoffering)/posts

Parameters

Name Required Data Type Description
content Yes text

show (courseoffering)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts/(post)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "post", "id": 7, "content": "What are you thoughts on the latest reading?", "owner_type": "course", "owner_id": 21908, "added_by_instructor": true, "edited_at": null, "edited_post_id": null, "added_at": "2022-04-15T18:36:01+00:00", "added_by_id": 22, "sandbox": true }

Retrieves a specific Post object.

HTTP Request

GET /courseofferings/(courseoffering)/posts/(post)

Parameters

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

Expandable Properties

update (courseoffering)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts/(post)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT -d '{ "content": "Hello everyone. Be sure to sign up for a field trip slot next week!" }' \

Example response:

Copy to Clipboard
{ "object": "post", "id": 7, "content": "Hello everyone. Be sure to sign up for a field trip slot next week!", "owner_type": "course", "owner_id": 21908, "added_by_instructor": true, "edited_at": "2024-11-20T20:03:37+00:00", "edited_post_id": null, "added_at": "2022-04-15T18:36:01+00:00", "added_by_id": 22, "sandbox": true }

Updates an existing Post object.

HTTP Request

PUT /courseofferings/(courseoffering)/posts/(post)

Parameters

Name Required Data Type Description
content Yes text

delete (courseoffering)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts/(post)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "post", "id": 7, "deleted": true }

Deletes an existing Post object.

HTTP Request

DELETE /courseofferings/(courseoffering)/posts/(post)

Parameters

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

index (group)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/groups/(group)/posts" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": 100, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "post", "id": 8, "content": "Anyone have ideas for movie night?", "owner_type": "group", "owner_id": 1, "added_by_instructor": false, "edited_at": null, "edited_post_id": null, "author_name": "API Dude", "author_initials": "AD", "author_image_file_id": null, "num_likes": 0, "num_comments": 0, "added_at": "2022-04-15T18:36:01+00:00", "added_by_id": 22 } ], "sandbox": true }

Retrieves all Post objects tied to a specific Group.

HTTP Request

GET /groups/(group)/posts

Parameters

None

show (group)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/groups/(group)/posts/(post)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "post", "id": 8, "content": "Anyone have ideas for movie night?", "owner_type": "group", "owner_id": 1, "added_by_instructor": false, "edited_at": null, "edited_post_id": null, "added_at": "2022-04-15T18:36:01+00:00", "added_by_id": 22, "sandbox": true }

Retrieves a specific Post object.

HTTP Request

GET /groups/(group)/posts/(post)

Parameters

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

Expandable Properties

index (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/posts" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": 100, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "post", "id": 10, "content": "Second recruiting call. Sounded positive.", "owner_type": "person", "owner_id": 12, "added_by_instructor": false, "edited_at": null, "edited_post_id": null, "author_name": "Academic Admin", "author_initials": "AA", "author_image_file_id": null, "num_likes": 0, "num_comments": 0, "added_at": "2022-05-15T18:36:01+00:00", "added_by_id": 16 } ], "sandbox": true }

Retrieves all Post objects tied to a specific Person.

HTTP Request

GET /people/(person)/posts

Parameters

None

show (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/posts/(post)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "post", "id": 9, "content": "Remember to turn in your keys.", "owner_type": "person", "owner_id": 16, "added_by_instructor": false, "edited_at": null, "edited_post_id": null, "added_at": "2022-04-15T18:36:01+00:00", "added_by_id": 22, "sandbox": true }

Retrieves a specific Post object.

HTTP Request

GET /people/(person)/posts/(post)

Parameters

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

Expandable Properties

PrintLayout

The PrintLayout object

The PrintLayout object looks like this in JSON:

Copy to Clipboard
{ "object": "print_layout", "id": 6, "name": "Standard letter", "print_layout_type_id": 1, "active_revision": null, "default": true, "template_type": "odt", "content": null, "subtype": null, "added_at": "2010-05-06T22:07:20+00:00", "added_by_id": 1257, "sandbox": true }
Attribute Required Data Type
id Yes int
name Yes text (200)
print_layout_type_id Yes int
active_revision No int
default No --
template_type Yes enum (odt, html)
content No text
subtype No text (500)
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/printlayouts" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "print_layout", "id": 6, "name": "Standard letter", "print_layout_type_id": 1, "active_revision": null, "default": true, "template_type": "odt", "content": null, "subtype": null, "added_at": "2010-05-06T22:07:20+00:00", "added_by_id": 1257 } ], "sandbox": true }

Retrieves all PrintLayout objects.

HTTP Request

GET /printlayouts

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/printlayouts/(printlayout)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "print_layout", "id": 6, "name": "Standard letter", "print_layout_type_id": 1, "active_revision": null, "default": true, "template_type": "odt", "content": null, "subtype": null, "added_at": "2010-05-06T22:07:20+00:00", "added_by_id": 1257, "sandbox": true }

Retrieves a specific PrintLayout object.

HTTP Request

GET /printlayouts/(printlayout)

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:

types

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/printlayouttypes" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 25, "results": 25, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "print_layout_type", "id": 26, "name": "APPLICATION", "display_name": "Admissions Application" } ], "sandbox": true }

HTTP Request

GET /printlayouttypes

Parameters

None

Permissions

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

Program

The Program object

The Program object looks like this in JSON:

Copy to Clipboard
{ "object": "program", "id": 2, "name": "Certificate", "units": "credits", "graduate_level": false, "default": 1, "default_tuition_schedule_id": null, "grants_academic_credit": true, "standings_include_clinical_hours": false, "continuous_enrollment": false, "payment_period_behavior": "none", "payment_period_default_length": null, "payment_period_max_length": null, "payment_period_max_units": null, "hidden_from_students": false, "external_id": "UG1", "status": "active", "sandbox": true }
Attribute Required Data Type
id Yes int
name Yes text (255)
units Yes enum (credits, hours)
graduate_level Yes bool
default Yes int
default_tuition_schedule_id No int
grants_academic_credit Yes bool
standings_include_clinical_hours Yes bool
continuous_enrollment Yes bool
payment_period_behavior No enum (none, new, extend, manual)
payment_period_default_length No int
payment_period_max_length No int
payment_period_max_units No int
hidden_from_students Yes bool
external_id No text (100)
status Yes enum (active, retired, deleted)
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/programs" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "program", "id": 2, "name": "Certificate", "units": "credits", "graduate_level": false, "default": 1, "default_tuition_schedule_id": null, "grants_academic_credit": true, "standings_include_clinical_hours": false, "continuous_enrollment": false, "payment_period_behavior": "none", "payment_period_default_length": null, "payment_period_max_length": null, "payment_period_max_units": null, "hidden_from_students": false, "external_id": "UG1", "status": "active" } ], "sandbox": true }

Retrieves all Program objects.

HTTP Request

GET /programs

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/programs/(program)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "program", "id": 2, "name": "Certificate", "units": "credits", "graduate_level": false, "default": 1, "default_tuition_schedule_id": null, "grants_academic_credit": true, "standings_include_clinical_hours": false, "continuous_enrollment": false, "payment_period_behavior": "none", "payment_period_default_length": null, "payment_period_max_length": null, "payment_period_max_units": null, "hidden_from_students": false, "external_id": "UG1", "status": "active", "sandbox": true }

Retrieves a specific Program object.

HTTP Request

GET /programs/(program)

Parameters

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

Expandable Properties

Permissions

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

students

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/programs/(program)/students" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "filter": [] }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "person", "id": 16, "first_name": "Academic", "last_name": "Admin", "middle_name": "", "prefix": null, "suffix": null, "preferred_name": null, "display_name": "Academic Admin", "gender": "female", "other_gender": null, "image_file_id": null, "birth_date": null, "status": "active", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T20:03:33+00:00", "report_data": { "person_id": 16, "active_roles": "4,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 /programs/(program)/students

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
degree integer
degree_level integer
last_active date
program integer
specialization integer

Permissions

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

transfer_credit_grade_options

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/programs/(program)/transfercreditsgradeoptions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 4, "results": 4, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": { "grade_scale": { "label": "Letter Grade", "options": [ { "value": 95, "label": "A", "min_points": 94, "max_points": 999.99 }, { "value": 92, "label": "A-", "min_points": 90, "max_points": 93.99 }, { "value": 88, "label": "B+", "min_points": 87, "max_points": 89.99 }, { "value": 85, "label": "B", "min_points": 84, "max_points": 86.99 }, { "value": 82, "label": "B-", "min_points": 80, "max_points": 83.99 }, { "value": 78, "label": "C+", "min_points": 77, "max_points": 79.99 }, { "value": 75, "label": "C", "min_points": 74, "max_points": 76.99 }, { "value": 72, "label": "C-", "min_points": 70, "max_points": 73.99 }, { "value": 65, "label": "F", "min_points": 0, "max_points": 69.99 } ] }, "pass_fail_grade_scale": { "label": "Pass\/Fail", "options": [ { "value": 100, "label": "P", "min_points": 70, "max_points": 999.99 }, { "value": 0, "label": "F", "min_points": 0, "max_points": 69.99 } ] }, "other": { "label": "Other", "options": [ { "value": "W", "label": "W", "full_label": "Withdrawn" }, { "value": "I", "label": "I", "full_label": "Incomplete" } ] }, "custom": { "label": "Other", "options": [ { "value": "CUSTOM_STUDENT_STATUS_1", "label": "WP", "allow_retakes": 0 }, { "value": "CUSTOM_STUDENT_STATUS_2", "label": "WF", "allow_retakes": 0 }, { "value": "CUSTOM_STUDENT_STATUS_3", "label": "INCFULL", "allow_retakes": 0 } ] } } }

HTTP Request

GET /programs/(program)/transfercreditsgradeoptions

Parameters

None

Permissions

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

Question

The Question object

The Question object looks like this in JSON:

Copy to Clipboard
{ "object": "question", "id": 443, "owner_type": "course", "owner_id": 1064, "type": "order", "question": "What are the colors of the rainbow?", "randomize_options": false, "allow_partial_credit": false, "case_sensitive": false, "word_count": null, "file_id": null, "status": "active", "added_time": "2010-06-07T23:08:12+00:00", "import_id": null, "added_by_id": 1257, "sandbox": true }
Attribute Required Data Type
id No int
owner_type Yes enum (course)
owner_id Yes int
type Yes enum (short_answer, multiple_choice, order, essay, multiple_answer, true_false, matching)
question Yes text
randomize_options Yes bool
allow_partial_credit Yes bool
case_sensitive Yes bool
word_count No int
file_id Yes int
status Yes enum (active, deleted)
added_time Yes datetime
import_id No int
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/catalogcourses/(catalogcourse)/questions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "question", "id": 500, "owner_type": "course", "owner_id": 576, "type": "order", "question": "What are the colors of the rainbow?", "randomize_options": false, "allow_partial_credit": false, "case_sensitive": false, "word_count": null, "file_id": null, "status": "active", "added_time": "2022-06-07T23:08:12+00:00", "import_id": null, "added_by_id": 1257 } ], "sandbox": true }

Retrieves all Question objects tied to a specific Catalogcourse.

HTTP Request

GET /catalogcourses/(catalogcourse)/questions

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/catalogcourses/(catalogcourse)/questions/(question)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "question", "id": 500, "owner_type": "course", "owner_id": 576, "type": "order", "question": "What are the colors of the rainbow?", "randomize_options": false, "allow_partial_credit": false, "case_sensitive": false, "word_count": null, "file_id": null, "status": "active", "added_time": "2022-06-07T23:08:12+00:00", "import_id": null, "added_by_id": 1257, "sandbox": true }

Retrieves a specific Question object.

HTTP Request

GET /catalogcourses/(catalogcourse)/questions/(question)

Parameters

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

Expandable Properties

Permissions

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

QuestionCategory

The QuestionCategory object

The QuestionCategory object looks like this in JSON:

Copy to Clipboard
{ "object": "question_category", "id": 1, "catalog_course_id": 591, "name": "Rude", "status": "active", "sandbox": true }
Attribute Required Data Type
id No int
catalog_course_id Yes int
name Yes text (250)
status Yes enum (active, retired)
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/catalogcourses/(catalogcourse)/questioncategories" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 17, "results": 17, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "question_category", "id": 93, "catalog_course_id": 576, "name": "Rap Music", "status": "active" } ], "sandbox": true }

Retrieves all QuestionCategory objects tied to a specific Catalogcourse.

HTTP Request

GET /catalogcourses/(catalogcourse)/questioncategories

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/catalogcourses/(catalogcourse)/questioncategories/(questioncategory)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "question_category", "id": 100, "catalog_course_id": 576, "name": "Stuff", "status": "active", "sandbox": true }

Retrieves a specific QuestionCategory object.

HTTP Request

GET /catalogcourses/(catalogcourse)/questioncategories/(questioncategory)

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:

Race

The Race object

The Race object looks like this in JSON:

Copy to Clipboard
{ "object": "race", "id": 1, "name": "American Indian or Alaska Native", "sandbox": true }
Attribute Required Data Type
id Yes int
name Yes text (255)
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/races" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 5, "results": 5, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "race", "id": 1, "name": "American Indian or Alaska Native" } ], "sandbox": true }

Retrieves all Race objects.

HTTP Request

GET /races

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/races/(race)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "race", "id": 1, "name": "American Indian or Alaska Native", "sandbox": true }

Retrieves a specific Race object.

HTTP Request

GET /races/(race)

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:

Refund

The Refund object

The Refund object looks like this in JSON:

Copy to Clipboard
{ "object": "refund", "id": 6, "student_id": 1, "transaction_id": 21, "number": 1, "amount": 100, "online_payment_id": null, "refund_source": null, "reference_number": null, "receipt_number": "ce9sfe5d2e", "currency": "USD", "exchange_rate": null, "home_currency_amount": 100, "treat_as_aid": false, "organization_name": null, "method": "other", "paid_to_type": "person", "paid_to_id": 2, "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
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)
currency No text (3)
exchange_rate No decimal
home_currency_amount Yes decimal
treat_as_aid Yes bool
organization_name No text
method No text
paid_to_type No text
paid_to_id No int
sandbox No --

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/refunds/(refund)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "refund", "id": 6, "student_id": 1, "transaction_id": 21, "number": 1, "amount": 100, "online_payment_id": null, "refund_source": null, "reference_number": null, "receipt_number": "ce9sfe5d2e", "currency": "USD", "exchange_rate": null, "home_currency_amount": 100, "treat_as_aid": false, "organization_name": null, "method": "other", "paid_to_type": "person", "paid_to_id": 2, "sandbox": true }

Retrieves a specific Refund object.

HTTP Request

GET /refunds/(refund)

Parameters

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

Expandable Properties

Permissions

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

RefundPolicy

The RefundPolicy object

The RefundPolicy object looks like this in JSON:

Copy to Clipboard
{ "object": "refund_policy", "id": 6, "name": "Accelerated Refund Schedule", "type": "custom", "days_full_refund_into_term": null, "prorate_as_of_term_start": false, "days_cutoff": null, "added_at": null, "added_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
name No text (300)
type Yes enum (prorated, custom)
days_full_refund_into_term No int
prorate_as_of_term_start No bool
days_cutoff No int
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/refundpolicies" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "refund_policy", "id": 6, "name": "Accelerated Refund Schedule", "type": "custom", "days_full_refund_into_term": null, "prorate_as_of_term_start": false, "days_cutoff": null, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all RefundPolicy objects.

HTTP Request

GET /refundpolicies

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/refundpolicies/(refundpolicy)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "refund_policy", "id": 6, "name": "Accelerated Refund Schedule", "type": "custom", "days_full_refund_into_term": null, "prorate_as_of_term_start": false, "days_cutoff": null, "added_at": null, "added_by_id": null, "sandbox": true }

Retrieves a specific RefundPolicy object.

HTTP Request

GET /refundpolicies/(refundpolicy)

Parameters

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

Expandable Properties

Permissions

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

RequirementException

The RequirementException object

The RequirementException object looks like this in JSON:

Copy to Clipboard
{ "object": "requirement_exception", "id": 31, "student_id": 12, "degree_id": 2, "specialization_id": 4, "owner_type": "specialization_course_group", "owner_id": 41, "type": "course_group_courses", "value": 2, "note": null, "added_by_id": 24512, "sandbox": true }
Attribute Required Data Type
id No int
student_id Yes int
degree_id Yes int
specialization_id Yes int
owner_type Yes enum (degree, specialization, degree_course_group, specialization_course_group)
owner_id Yes int
type Yes enum (cumulative_gpa, overall_gpa, cumulative_units, resident_units, cumulative_clinical_hours, resident_clinical_hours, cumulative_attendance_hours, resident_attendance_hours, course_group_units, course_group_courses, course_group_clinical_hours, course_group_gpa, course_group_grade_points)
value Yes decimal
note Yes text (1000)
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/requirementexceptions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "requirement_exception", "id": 31, "student_id": 12, "degree_id": 2, "specialization_id": 4, "owner_type": "specialization_course_group", "owner_id": 41, "type": "course_group_courses", "value": 2, "note": null, "added_by_id": 24512 } ], "sandbox": true }

Retrieves all RequirementException objects tied to a specific Person.

HTTP Request

GET /people/(person)/requirementexceptions

Parameters

None

Permissions

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

ReturnReason

The ReturnReason object

The ReturnReason object looks like this in JSON:

Copy to Clipboard
{ "object": "return_reason", "id": 1, "name": "Damaged", "default": true, "retired_by_id": null, "retired_at": null, "added_at": "2022-07-19T18:36:46+00:00", "added_by_id": 10, "sandbox": true }
Attribute Required Data Type
id Yes int
name Yes text (255)
default Yes bool
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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/returnreasons" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "return_reason", "id": 1, "name": "Damaged", "default": true, "retired_by_id": null, "retired_at": null, "added_at": "2022-07-19T18:36:46+00:00", "added_by_id": 10 } ], "sandbox": true }

Retrieves all ReturnReason objects.

HTTP Request

GET /returnreasons

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/returnreasons/(returnreason)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "return_reason", "id": 1, "name": "Damaged", "default": true, "retired_by_id": null, "retired_at": null, "added_at": "2022-07-19T18:36:46+00:00", "added_by_id": 10, "sandbox": true }

Retrieves a specific ReturnReason object.

HTTP Request

GET /returnreasons/(returnreason)

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:

Role

The Role object

The Role object looks like this in JSON:

Copy to Clipboard
{ "object": "role", "id": 7, "name": "Academic Admin", "abbrv": "ADMIN", "sandbox": true }
Attribute Required Data Type
id Yes int
name No text (50)
abbrv Yes text (50)
sandbox No --

index (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/roles" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 3, "results": 3, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "role", "id": 4, "name": "Staff", "abbrv": "STAFF" } ], "sandbox": true }

Retrieves all Role objects tied to a specific Person.

HTTP Request

GET /people/(person)/roles

Parameters

None

Permissions

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

add (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/roles/add" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "role_id": "4" }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 3, "results": 3, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "role", "id": 4, "name": "Staff", "abbrv": "STAFF" } ], "sandbox": true }

HTTP Request

GET /people/(person)/roles/add

Parameters

Name Required Data Type Description
role_id Yes int

remove (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/roles/remove" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "role_id": "4" }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "role", "id": 5, "name": "Student", "abbrv": "STUDENT" } ], "sandbox": true }

HTTP Request

GET /people/(person)/roles/remove

Parameters

Name Required Data Type Description
role_id Yes int

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/roles" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 24, "results": 24, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "role", "id": 7, "name": "Academic Admin", "abbrv": "ADMIN" } ], "sandbox": true }

Retrieves all Role objects.

HTTP Request

GET /roles

Parameters

None

Permissions

Any role may call this method.

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/roles/(role)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "role", "id": 7, "name": "Academic Admin", "abbrv": "ADMIN", "sandbox": true }

Retrieves a specific Role object.

HTTP Request

GET /roles/(role)

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.

Room

The Room object

The Room object looks like this in JSON:

Copy to Clipboard
{ "object": "room", "id": 1, "building_id": 3, "name": "Administrative Offices", "floor": "1", "capacity": null, "default_room_plan_id": null, "retired_at": null, "retired_by_id": null, "added_at": null, "added_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
building_id Yes int
name Yes text (255)
floor Yes int
capacity Yes int
default_room_plan_id 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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/rooms" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 6, "results": 6, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "room", "id": 1, "building_id": 3, "name": "Administrative Offices", "floor": "1", "capacity": null, "default_room_plan_id": null, "retired_at": null, "retired_by_id": null, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all Room objects.

HTTP Request

GET /rooms

Parameters

None

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/rooms/(room)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "room", "id": 1, "building_id": 3, "name": "Administrative Offices", "floor": "1", "capacity": null, "default_room_plan_id": null, "retired_at": null, "retired_by_id": null, "added_at": null, "added_by_id": null, "sandbox": true }

Retrieves a specific Room object.

HTTP Request

GET /rooms/(room)

Parameters

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

schedule

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/rooms/schedule" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "start": "2022-08-01" }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 0, "results": 0, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [] }

This method returns a week's worth of room schedule data, equivalent to the Campus Life -> Facilities Schedule.

HTTP Request

GET /rooms/schedule

Parameters

Name Required Data Type Description
start No date The date of the Monday of the week you want the room schedules for. Defaults to the Monday of the current week.
campus_id No int
building_id No int
room_id No int

Permissions

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

RoomPlan

The RoomPlan object

The RoomPlan object looks like this in JSON:

Copy to Clipboard
{ "object": "room_plan", "id": 1, "name": "Palace", "capacity": true, "amount": 1250, "added_at": null, "added_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
name Yes text (100)
capacity Yes bool
amount Yes decimal
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/roomplans" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "room_plan", "id": 2, "name": "Mansion", "capacity": true, "amount": 965, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all RoomPlan objects.

HTTP Request

GET /roomplans

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/roomplans/(roomplan)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "room_plan", "id": 1, "name": "Palace", "capacity": true, "amount": 1250, "added_at": null, "added_by_id": null, "sandbox": true }

Retrieves a specific RoomPlan object.

HTTP Request

GET /roomplans/(roomplan)

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:

RoomPlanStudent

The RoomPlanStudent object

The RoomPlanStudent object looks like this in JSON:

Copy to Clipboard
{ "object": "room_plan_student", "id": 6, "term_id": 73, "student_id": 2388, "plan_id": 4, "room_id": null, "capacity_used": 1, "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
room_id Yes int
capacity_used Yes int
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/roomplans" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "room_plan_student", "id": 8, "term_id": 7, "student_id": 12, "plan_id": 2, "room_id": null, "capacity_used": 1, "room_plan": { "object": "room_plan", "id": 2, "name": "Mansion", "capacity": true, "amount": 965, "added_at": null, "added_by_id": null }, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all RoomPlanStudent objects tied to a specific Person.

HTTP Request

GET /people/(person)/roomplans

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/roomplans" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "academic_term_id": 8, "room_plan_id": 6 }' \

Example response:

Copy to Clipboard
{ "object": "room_plan_student", "id": 112, "term_id": 8, "student_id": 12, "plan_id": 6, "room_id": null, "capacity_used": null, "room_plan": null, "added_at": "2024-11-20T20:03:36+00:00", "added_by_id": 22, "sandbox": true }

Creates a new RoomPlanStudent object.

HTTP Request

POST /people/(person)/roomplans

Parameters

Name Required Data Type Description
academic_term_id Yes int
room_plan_id Yes int
room_id No int
capacity_used No int

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/roomplans/(roomplanstudent)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "room_plan_student", "id": 7, "term_id": 8, "student_id": 16, "plan_id": 1, "room_id": null, "capacity_used": 1, "room_plan": { "object": "room_plan", "id": 1, "name": "Palace", "capacity": true, "amount": 1250, "added_at": null, "added_by_id": null }, "added_at": null, "added_by_id": null, "sandbox": true }

Retrieves a specific RoomPlanStudent object.

HTTP Request

GET /people/(person)/roomplans/(roomplanstudent)

Parameters

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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/roomplans/(roomplanstudent)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "object": "room_plan_student", "id": 7, "term_id": 8, "student_id": 16, "plan_id": 1, "room_id": null, "capacity_used": 1, "room_plan": { "object": "room_plan", "id": 1, "name": "Palace", "capacity": true, "amount": 1250, "added_at": null, "added_by_id": null }, "added_at": null, "added_by_id": null, "sandbox": true }

Updates an existing RoomPlanStudent object.

HTTP Request

PUT /people/(person)/roomplans/(roomplanstudent)

Parameters

Name Required Data Type Description
room_plan_id No int
room_id No int
capacity_used No int

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/roomplans/(roomplanstudent)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "room_plan_student", "id": 7, "deleted": true }

Deletes an existing RoomPlanStudent object.

HTTP Request

DELETE /people/(person)/roomplans/(roomplanstudent)

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:

Rubric

The Rubric object

The Rubric object looks like this in JSON:

Copy to Clipboard
{ "object": "rubric", "id": 1, "course_offering_id": null, "cloned_from_id": null, "name": "Non-fiction Writing 1", "description": null, "published": false, "retired_by_id": null, "retired_at": null, "added_at": "2022-07-18T23:18:05+00:00", "added_by_id": 10, "sandbox": true }
Attribute Required Data Type
id Yes int
course_offering_id No int
cloned_from_id No int
name No text (255)
description No text (1000)
published Yes bool
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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/rubrics" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "rubric", "id": 1, "course_offering_id": null, "cloned_from_id": null, "name": "Non-fiction Writing 1", "description": null, "published": false, "retired_by_id": null, "retired_at": null, "added_at": "2022-07-18T23:18:05+00:00", "added_by_id": 10 } ], "sandbox": true }

Retrieves all Rubric objects.

HTTP Request

GET /rubrics

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/rubrics/(rubric)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "rubric", "id": 1, "course_offering_id": null, "cloned_from_id": null, "name": "Non-fiction Writing 1", "description": null, "published": false, "retired_by_id": null, "retired_at": null, "added_at": "2022-07-18T23:18:05+00:00", "added_by_id": 10, "sandbox": true }

Retrieves a specific Rubric object.

HTTP Request

GET /rubrics/(rubric)

Parameters

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

Expandable Properties

Permissions

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

SAPOverride

The SAPOverride object

The SAPOverride object looks like this in JSON:

Copy to Clipboard
{ "object": "sap_override", "id": 1, "student_id": 13, "academic_term_id": null, "owner_type": "payment_period", "owner_id": 1, "sap": "satisfactory", "can_appeal": true, "added_at": "2022-07-14T22:40:31+00:00", "added_by_id": 10, "updated_at": 2022, "updated_by_id": 10, "sandbox": true }
Attribute Required Data Type
id Yes int
student_id Yes int
academic_term_id No int
owner_type Yes enum (term, payment_period)
owner_id Yes int
sap Yes enum (satisfactory, warning, probation, suspension, not_calculated)
can_appeal Yes bool
added_at No datetime
added_by_id No int
updated_at No int
updated_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/sapoverrides" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "sap_override", "id": 3, "student_id": 12, "academic_term_id": null, "owner_type": "term", "owner_id": 1, "sap": "satisfactory", "can_appeal": true, "added_at": "2022-07-14T22:40:31+00:00", "added_by_id": 10, "updated_at": 2022, "updated_by_id": 10 } ], "sandbox": true }

Retrieves all SAPOverride objects tied to a specific Person.

HTTP Request

GET /people/(person)/sapoverrides

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/sapoverrides/(sapoverride)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "sap_override", "id": 2, "student_id": 16, "academic_term_id": null, "owner_type": "term", "owner_id": 1, "sap": "satisfactory", "can_appeal": true, "added_at": "2022-07-14T22:40:31+00:00", "added_by_id": 10, "updated_at": 2022, "updated_by_id": 10, "sandbox": true }

Retrieves a specific SAPOverride object.

HTTP Request

GET /people/(person)/sapoverrides/(sapoverride)

Parameters

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

Expandable Properties

Permissions

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

SAPPolicy

The SAPPolicy object

The SAPPolicy object looks like this in JSON:

Copy to Clipboard
{ "object": "sappolicy", "id": 1, "program_id": 1, "cum_gpa": 2, "term_gpa": 0, "cum_gpa_including_transfer": 0, "term_gpa_including_transfer": 0, "percent_cum_units_granted": 0, "percent_term_units_granted": 66.6, "percent_cum_units_granted_including_transfer": 0, "steps": "pp2", "superterm_only": false, "term_withdrawal_behavior": "not_calculated", "added_at": "2022-07-13T21:31:22+00:00", "added_by_id": 10, "updated_at": "2022-07-13T21:31:22+00:00", "updated_by_id": 10, "sandbox": true }
Attribute Required Data Type
id Yes int
program_id Yes int
cum_gpa No decimal
term_gpa No decimal
cum_gpa_including_transfer No decimal
term_gpa_including_transfer No decimal
percent_cum_units_granted No decimal
percent_term_units_granted No decimal
percent_cum_units_granted_including_transfer No decimal
steps Yes enum (ay1, ay2, pp2, pp3, pp0)
superterm_only Yes bool
term_withdrawal_behavior Yes enum (not_calculated, satisfactory, failure)
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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/sappolicies" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "sappolicy", "id": 1, "program_id": 1, "cum_gpa": 2, "term_gpa": 0, "cum_gpa_including_transfer": 0, "term_gpa_including_transfer": 0, "percent_cum_units_granted": 0, "percent_term_units_granted": 66.6, "percent_cum_units_granted_including_transfer": 0, "steps": "pp2", "superterm_only": false, "term_withdrawal_behavior": "not_calculated", "added_at": "2022-07-13T21:31:22+00:00", "added_by_id": 10, "updated_at": "2022-07-13T21:31:22+00:00", "updated_by_id": 10 } ], "sandbox": true }

Retrieves all SAPPolicy objects.

HTTP Request

GET /sappolicies

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/sappolicies/(sappolicy)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "sappolicy", "id": 1, "program_id": 1, "cum_gpa": 2, "term_gpa": 0, "cum_gpa_including_transfer": 0, "term_gpa_including_transfer": 0, "percent_cum_units_granted": 0, "percent_term_units_granted": 66.6, "percent_cum_units_granted_including_transfer": 0, "steps": "pp2", "superterm_only": false, "term_withdrawal_behavior": "not_calculated", "added_at": "2022-07-13T21:31:22+00:00", "added_by_id": 10, "updated_at": "2022-07-13T21:31:22+00:00", "updated_by_id": 10, "sandbox": true }

Retrieves a specific SAPPolicy object.

HTTP Request

GET /sappolicies/(sappolicy)

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:

SalesReceipt

The SalesReceipt object

The SalesReceipt object looks like this in JSON:

Copy to Clipboard
{ "object": "sales_receipt", "id": 1, "receipt_number": 1, "transaction_id": 14, "online_payment_id": 1, "amount": 22, "payment_method": "credit_card", "reference_number": null, "added_at": "2022-07-13T18:32:47+00:00", "added_by_id": 10, "sandbox": true }
Attribute Required Data Type
id Yes int
receipt_number Yes int
transaction_id No int
online_payment_id No int
amount Yes decimal
payment_method No enum (cash, check, credit_card)
reference_number No --
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/salesreceipts" \ -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}]}} }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "financial_transaction", "id": 14, "type": "sales_receipt", "status": "posted", "number": 1239, "posted_on": "2015-03-10", "actor_type": "person", "actor_id": 12, "voided_at": null, "voided_by_id": null, "link_type": null, "link_id": 0, "amount": 10, "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, "report_data": { "personid": 12, "dummyid": "20220xx002", "person_name": "Forest, Taylor", "orderid": null, "source": null, "invoiceid": null, "invoice_number": null, "sales_receipt_id": 1, "sales_receipt_secret": "8fe2c10cf09febfa1ec1ac20969ec857", "receipt_number": 1, "application_fee_id": null, "application_fee_name": null, "transcript_request_fee_id": null, "transcript_request_fee_name": null, "form_response_id": null, "form_fee_id": null, "form_fee_name": null, "row_id": 14 } } ], "sandbox": true }

Retrieves all SalesReceipt objects that match given filter conditions.

HTTP Request

GET /salesreceipts

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
transaction_number integer
first_name text
last_name text
type choice
source choice
fee object id
posted_date date
amount decimal
tag tag
custom_field custom

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/salesreceipts/(salesreceipt)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "sales_receipt", "id": 1, "receipt_number": 1, "transaction_id": 14, "online_payment_id": 1, "amount": 22, "payment_method": "credit_card", "reference_number": null, "added_at": "2022-07-13T18:32:47+00:00", "added_by_id": 10, "sandbox": true }

Retrieves a specific SalesReceipt object.

HTTP Request

GET /salesreceipts/(salesreceipt)

Parameters

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

Expandable Properties

ShippingMethod

The ShippingMethod object

The ShippingMethod object looks like this in JSON:

Copy to Clipboard
{ "object": "shipping_method", "id": 20, "name": "Standard: 3-5 business days", "type": "per_item", "carrier_id": 0, "international": false, "amount": 1.5, "default": false, "order_id": 6, "retired": null, "sandbox": true }
Attribute Required Data Type
id No int
name Yes text (100)
type Yes enum (flat, per_item, per_pound, carrier_plan)
carrier_id Yes int
international No --
amount Yes decimal
default No --
order_id Yes int
retired Yes date
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/shippingmethods" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "shipping_method", "id": 20, "name": "Standard: 3-5 business days", "type": "per_item", "carrier_id": 0, "international": false, "amount": 1.5, "default": false, "order_id": 6, "retired": null } ], "sandbox": true }

Retrieves all ShippingMethod objects.

HTTP Request

GET /shippingmethods

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/shippingmethods/(shippingmethod)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "shipping_method", "id": 20, "name": "Standard: 3-5 business days", "type": "per_item", "carrier_id": 0, "international": false, "amount": 1.5, "default": false, "order_id": 6, "retired": null, "sandbox": true }

Retrieves a specific ShippingMethod object.

HTTP Request

GET /shippingmethods/(shippingmethod)

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:

Specialization

The Specialization object

The Specialization object looks like this in JSON:

Copy to Clipboard
{ "object": "specialization", "id": 2, "degree_id": 1, "type": "major", "department_id": 0, "name": "English", "description": "English", "abbrv": "ENG", "cip_code": null, "status": "active", "external_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
degree_id Yes int
type Yes enum (major, minor, concentration, emphasis, track, option, other)
department_id Yes int
name Yes text (250)
description No text (500)
abbrv Yes text (100)
cip_code Yes text (20)
status Yes enum (construction, active, retired)
external_id No text (100)
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/degrees/(degree)/specializations" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "specialization", "id": 2, "degree_id": 1, "type": "major", "department_id": 0, "name": "English", "description": "English", "abbrv": "ENG", "cip_code": null, "status": "active", "external_id": null } ], "sandbox": true }

Retrieves all Specialization objects tied to a specific Degree.

HTTP Request

GET /degrees/(degree)/specializations

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/degrees/(degree)/specializations/(specialization)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "specialization", "id": 2, "degree_id": 1, "type": "major", "department_id": 0, "name": "English", "description": "English", "abbrv": "ENG", "cip_code": null, "status": "active", "external_id": null, "academic_requirements": [], "sandbox": true }

Retrieves a specific Specialization object.

HTTP Request

GET /degrees/(degree)/specializations/(specialization)

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:

students

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/degrees/(degree)/specializations/(specialization)/students" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "filter": [] }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "person", "id": 16, "first_name": "Academic", "last_name": "Admin", "middle_name": "", "prefix": null, "suffix": null, "preferred_name": null, "display_name": "Academic Admin", "gender": "female", "other_gender": null, "image_file_id": null, "birth_date": null, "status": "active", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T20:03:35+00:00", "report_data": { "person_id": 16, "active_roles": "4,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)/specializations/(specialization)/students

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
degree integer
degree_level integer
last_active date
program integer
specialization integer

Permissions

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

StandardizedTest

The StandardizedTest object

The StandardizedTest object looks like this in JSON:

Copy to Clipboard
{ "object": "standardized_test", "id": 2, "name": "ACT", "sandbox": true }
Attribute Required Data Type
id Yes int
name Yes text (50)
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/standardizedtests" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 5, "results": 5, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "standardized_test", "id": 2, "name": "ACT" } ], "sandbox": true }

Retrieves all StandardizedTest objects.

HTTP Request

GET /standardizedtests

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/standardizedtests/(standardizedtest)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "standardized_test", "id": 2, "name": "ACT", "sections": [ { "object": "standardized_test_section", "id": 3, "test_id": 2, "name": "Arts", "minscore": 1, "maxscore": 36, "increment": 1, "optional": false, "version": null, "order_id": null, "used_in_totals_calc": false }, { "object": "standardized_test_section", "id": 4, "test_id": 2, "name": "English", "minscore": 1, "maxscore": 36, "increment": 1, "optional": false, "version": null, "order_id": null, "used_in_totals_calc": false }, { "object": "standardized_test_section", "id": 5, "test_id": 2, "name": "Math", "minscore": 1, "maxscore": 36, "increment": 1, "optional": false, "version": null, "order_id": null, "used_in_totals_calc": false } ], "sandbox": true }

Retrieves a specific StandardizedTest object.

HTTP Request

GET /standardizedtests/(standardizedtest)

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:

StandardizedTestScore

The StandardizedTestScore object

The StandardizedTestScore object looks like this in JSON:

Copy to Clipboard
{ "object": "standardized_test_score", "id": 6, "test_id": 1, "person_id": 12, "score": 1500, "test_date": "2014-02-26", "received_date": "2014-02-26", "primary": true, "added_at": null, "added_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
test_id Yes int
person_id Yes int
score Yes decimal
test_date Yes date
received_date Yes date
primary Yes bool
added_at No datetime
added_by_id No int
sandbox No --

index (by person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/standardizedtestscores" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "standardized_test_score", "id": 6, "test_id": 1, "person_id": 12, "score": 1500, "test_date": "2014-02-26", "received_date": "2014-02-26", "primary": true, "standardized_test": { "object": "standardized_test", "id": 1, "name": "SAT", "sections": [ { "object": "standardized_test_section", "id": 1, "test_id": 1, "name": "Math", "minscore": 200, "maxscore": 800, "increment": 10, "optional": false, "version": null, "order_id": null, "used_in_totals_calc": false }, { "object": "standardized_test_section", "id": 2, "test_id": 1, "name": "Verbal", "minscore": 200, "maxscore": 800, "increment": 10, "optional": false, "version": null, "order_id": null, "used_in_totals_calc": false } ] }, "standardized_test_section_scores": [ { "object": "standardized_test_section_score", "id": 8, "standardized_test_score_id": 6, "section_id": 2, "person_id": 12, "score": 580, "added_at": null, "added_by_id": null } ], "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all StandardizedTestScore objects tied to a specific Person.

HTTP Request

GET /people/(person)/standardizedtestscores

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/standardizedtestscores" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "standardized_test_id": 1, "score": "900", "test_date": "2000-05-06", "received_date": "2000-09-07" }' \

Example response:

Copy to Clipboard
{ "object": "standardized_test_score", "id": 8, "test_id": 1, "person_id": 12, "score": 900, "test_date": "2000-05-06T00:00:00-0700", "received_date": "2000-09-07T00:00:00-0700", "primary": true, "standardized_test": { "object": "standardized_test", "id": 1, "name": "SAT", "sections": [ { "object": "standardized_test_section", "id": 1, "test_id": 1, "name": "Math", "minscore": 200, "maxscore": 800, "increment": 10, "optional": false, "version": null, "order_id": null, "used_in_totals_calc": false }, { "object": "standardized_test_section", "id": 2, "test_id": 1, "name": "Verbal", "minscore": 200, "maxscore": 800, "increment": 10, "optional": false, "version": null, "order_id": null, "used_in_totals_calc": false } ] }, "standardized_test_section_scores": [], "added_at": "2024-11-20T20:03:36+00:00", "added_by_id": 22, "sandbox": true }

Creates a new StandardizedTestScore object.

HTTP Request

POST /people/(person)/standardizedtestscores

Parameters

Name Required Data Type Description
standardized_test_id Yes int
score Yes decimal
test_date Yes date
received_date Yes date
primary No bool

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/standardizedtestscores/(standardizedtestscore)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "standardized_test_score", "id": 6, "test_id": 1, "person_id": 12, "score": 1500, "test_date": "2014-02-26", "received_date": "2014-02-26", "primary": true, "standardized_test": { "object": "standardized_test", "id": 1, "name": "SAT", "sections": [ { "object": "standardized_test_section", "id": 1, "test_id": 1, "name": "Math", "minscore": 200, "maxscore": 800, "increment": 10, "optional": false, "version": null, "order_id": null, "used_in_totals_calc": false }, { "object": "standardized_test_section", "id": 2, "test_id": 1, "name": "Verbal", "minscore": 200, "maxscore": 800, "increment": 10, "optional": false, "version": null, "order_id": null, "used_in_totals_calc": false } ] }, "standardized_test_section_scores": [ { "object": "standardized_test_section_score", "id": 8, "standardized_test_score_id": 6, "section_id": 2, "person_id": 12, "score": 580, "added_at": null, "added_by_id": null } ], "added_at": null, "added_by_id": null, "sandbox": true }

Retrieves a specific StandardizedTestScore object.

HTTP Request

GET /people/(person)/standardizedtestscores/(standardizedtestscore)

Parameters

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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/standardizedtestscores/(standardizedtestscore)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "object": "standardized_test_score", "id": 6, "test_id": 1, "person_id": 12, "score": 1500, "test_date": "2014-02-26", "received_date": "2014-02-26", "primary": false, "standardized_test": { "object": "standardized_test", "id": 1, "name": "SAT", "sections": [ { "object": "standardized_test_section", "id": 1, "test_id": 1, "name": "Math", "minscore": 200, "maxscore": 800, "increment": 10, "optional": false, "version": null, "order_id": null, "used_in_totals_calc": false }, { "object": "standardized_test_section", "id": 2, "test_id": 1, "name": "Verbal", "minscore": 200, "maxscore": 800, "increment": 10, "optional": false, "version": null, "order_id": null, "used_in_totals_calc": false } ] }, "standardized_test_section_scores": [ { "object": "standardized_test_section_score", "id": 8, "standardized_test_score_id": 6, "section_id": 2, "person_id": 12, "score": 580, "added_at": null, "added_by_id": null } ], "added_at": null, "added_by_id": null, "sandbox": true }

Updates an existing StandardizedTestScore object.

HTTP Request

PUT /people/(person)/standardizedtestscores/(standardizedtestscore)

Parameters

Name Required Data Type Description
score No decimal
test_date No date
received_date No date
primary No bool

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/standardizedtestscores/(standardizedtestscore)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "standardized_test_score", "id": 6, "deleted": true }

Deletes an existing StandardizedTestScore object.

HTTP Request

DELETE /people/(person)/standardizedtestscores/(standardizedtestscore)

Parameters

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

Permissions

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

index (by test)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/standardizedtestscores" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "standardized_test_id": 1 }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "standardized_test_score", "id": 7, "test_id": 1, "person_id": 16, "score": 1500, "test_date": "2014-02-26", "received_date": "2014-02-26", "primary": true, "added_at": null, "added_by_id": null, "report_data": { "person_display_name": "Academic Admin", "person_first_name": "Academic", "person_last_name": "Admin", "row_id": "16_7", "math_score": null, "math_standardized_test_section_score_id": null, "verbal_score": null, "verbal_standardized_test_section_score_id": null } } ], "sandbox": true }

Retrieves all StandardizedTestScore objects.

HTTP Request

GET /standardizedtestscores

Parameters

Name Required Data Type Description
standardized_test_id Yes int
include_non_primary_scores No bool

Permissions

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

StandardizedTestSectionScore

The StandardizedTestSectionScore object

The StandardizedTestSectionScore object looks like this in JSON:

Copy to Clipboard
{ "object": "standardized_test_section_score", "id": 6, "standardized_test_score_id": null, "section_id": 1, "person_id": 1, "score": 540, "added_at": null, "added_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
standardized_test_score_id No int
section_id Yes int
person_id Yes int
score Yes decimal
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/standardizedtestscores/(standardizedtestscore)/sections" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "standardized_test_section_score", "id": 8, "standardized_test_score_id": 6, "section_id": 2, "person_id": 12, "score": 580, "standardized_test_section": { "object": "standardized_test_section", "id": 2, "test_id": 1, "name": "Verbal", "minscore": 200, "maxscore": 800, "increment": 10, "optional": false, "version": null, "order_id": null, "used_in_totals_calc": false }, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all StandardizedTestSectionScore objects tied to a specific Person.

HTTP Request

GET /people/(person)/standardizedtestscores/(standardizedtestscore)/sections

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/standardizedtestscores/(standardizedtestscore)/sections" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "standardized_test_section_id": 1, "score": "455" }' \

Example response:

Copy to Clipboard
{ "object": "standardized_test_section_score", "id": 9, "standardized_test_score_id": 6, "section_id": 1, "person_id": 12, "score": 455, "standardized_test_section": { "object": "standardized_test_section", "id": 1, "test_id": 1, "name": "Math", "minscore": 200, "maxscore": 800, "increment": 10, "optional": false, "version": null, "order_id": null, "used_in_totals_calc": false }, "added_at": "2024-11-20T20:03:36+00:00", "added_by_id": 22, "sandbox": true }

Creates a new StandardizedTestSectionScore object.

HTTP Request

POST /people/(person)/standardizedtestscores/(standardizedtestscore)/sections

Parameters

Name Required Data Type Description
standardized_test_section_id Yes int
score Yes decimal

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/standardizedtestscores/(standardizedtestscore)/sections/(standardizedtestsectionscore)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "standardized_test_section_score", "id": 6, "standardized_test_score_id": null, "section_id": 1, "person_id": 1, "score": 540, "standardized_test_section": { "object": "standardized_test_section", "id": 1, "test_id": 1, "name": "Math", "minscore": 200, "maxscore": 800, "increment": 10, "optional": false, "version": null, "order_id": null, "used_in_totals_calc": false }, "added_at": null, "added_by_id": null, "sandbox": true }

Retrieves a specific StandardizedTestSectionScore object.

HTTP Request

GET /people/(person)/standardizedtestscores/(standardizedtestscore)/sections/(standardizedtestsectionscore)

Parameters

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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/standardizedtestscores/(standardizedtestscore)/sections/(standardizedtestsectionscore)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT -d '{ "score": "465" }' \

Example response:

Copy to Clipboard
{ "object": "standardized_test_section_score", "id": 6, "standardized_test_score_id": null, "section_id": 1, "person_id": 1, "score": 465, "standardized_test_section": { "object": "standardized_test_section", "id": 1, "test_id": 1, "name": "Math", "minscore": 200, "maxscore": 800, "increment": 10, "optional": false, "version": null, "order_id": null, "used_in_totals_calc": false }, "added_at": null, "added_by_id": null, "sandbox": true }

Updates an existing StandardizedTestSectionScore object.

HTTP Request

PUT /people/(person)/standardizedtestscores/(standardizedtestscore)/sections/(standardizedtestsectionscore)

Parameters

Name Required Data Type Description
score Yes decimal

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/standardizedtestscores/(standardizedtestscore)/sections/(standardizedtestsectionscore)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "standardized_test_section_score", "id": 7, "deleted": true }

Deletes an existing StandardizedTestSectionScore object.

HTTP Request

DELETE /people/(person)/standardizedtestscores/(standardizedtestscore)/sections/(standardizedtestsectionscore)

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:

Student

The Student object

The Student object looks like this in JSON:

Copy to Clipboard
{ "object": "student", "id": 1, "visible_student_id": "20020xx000", "entrance_term_id": 8, "first_time": false, "last_academic_term_id": null, "exit_date": null, "exit_reason_id": null, "receives_1098t": true, "loa_start_date": null, "loa_end_date": null, "proctored": false, "max_enrolled_credits": null, "max_enrolled_hours": null, "max_audit_credits": null, "max_audit_hours": null, "student_type_campus": "enroll_audit", "student_type_online": "enroll_audit", "housing": null, "sandbox": true }
Attribute Required Data Type
id Yes int
visible_student_id No int
entrance_term_id No int
first_time Yes bool
last_academic_term_id No int
exit_date Yes date
exit_reason_id No int
receives_1098t Yes bool
loa_start_date No date
loa_end_date No date
proctored No bool
max_enrolled_credits No decimal
max_enrolled_hours No decimal
max_audit_credits No decimal
max_audit_hours No decimal
student_type_campus Yes enum (enroll_audit, enroll, audit, none)
student_type_online Yes enum (enroll_audit, enroll, audit, none)
housing No enum (on_campus, with_parent, off_campus, on_campus_with_dependents)
sandbox No --

degree_audit

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/degreeaudit" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "degree_id": 1, "academic_year_id": 4, "specialization_id": 1 }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 10, "results": 10, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": { "degree_requirement_id": null, "specialization_requirement_id": null, "degree": [], "specialization": [], "unused_courses": [], "unused_transfer_courses": [], "course_substitutions": [], "course_waivers": [], "course_exclusions": [], "requirement_exceptions": [] } }

HTTP Request

GET /people/(person)/degreeaudit

Parameters

Name Required Data Type Description
degree_id Yes int
academic_year_id Yes int
specialization_id No int

Permissions

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

This is a heavy call. For performance reasons, only one heavy call may be made at a time.

deposits (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/deposits" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "person", "id": 12, "first_name": "Alice", "last_name": "Admin", "middle_name": "", "prefix": "Mrs.", "suffix": null, "preferred_name": null, "display_name": "Alice Admin", "gender": "female", "other_gender": null, "image_file_id": null, "birth_date": null, "status": "unpaid", "social_security_number": null, "alien_registration_number": null, "social_insurance_number": null, "home_city": null, "home_state": null, "home_country": null, "former_name": null, "license_plate": null, "bio": null, "hispanic_latino": false, "resident_alien": false, "localization_id": null, "notification_email_id": null, "deceased_date": null, "import_id": null, "accountid": 6, "account_number": "CACHING", "account_name": "Government Chedder", "amount": "100.00", "invoice_ids": null, "latest_invoice_id": null, "paid_date": null, "has_form_sales_receipts": 0, "latest_form_sales_receipt_added_date": null, "latest_form_transaction_id": null, "transactionid": 15, "deposit_paid": 0, "latest_deposit_is_from_form": false, "visible_student_id": "20220xx002", "added_at": null, "added_by_id": null, "updated_at": null, "private_profile": false, "is_user": true } ], "sandbox": true }

HTTP Request

GET /people/(person)/deposits

Parameters

None

Permissions

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

discipline

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/discipline" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "discipline", "id": 10, "student_id": 12, "discipline_type_id": 5, "comment": "Discipline data has been scrubbed from the system to prevent blackmail.", "show_on_transcript": true, "program_id": null, "start_date": "2005-01-28", "end_date": "2005-03-31", "generate_tag": true, "discipline_type": { "object": "discipline_type", "id": 5, "name": "Warning", "report_as": "warning" }, "added_at": null, "added_by_id": 102, "updated_at": null, "updated_by_id": null } ], "sandbox": true }

HTTP Request

GET /people/(person)/discipline

Parameters

None

Permissions

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

enrollments

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/enrollments" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "enrollment", "id": 6000003, "course_offering_id": 21910, "catalog_course_id": 688, "student_id": 12, "status": "enrolled", "status_expires_at": null, "pending_reason": null, "final_comment": null, "final_grade": 91.5, "final_attendance": 0, "released_final_grade": null, "commented_by_id": null, "enrolled_by_id": null, "enrolled_by_type": "registrar", "status_date": "2022-10-05", "enrolled_date": null, "credits": 2, "hours": 2, "attendance_hours": null, "clinical_hours": null, "pass_fail": false, "finalized": false, "finalized_at": null, "delivery_method_id": null, "automatically_removed_at": null, "automatically_removed_from": null, "added_at": null, "added_by_id": null, "updated_at": null, "display_status": "Enrolled" } ], "sandbox": true }

HTTP Request

GET /people/(person)/enrollments

Parameters

None

Permissions

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

export_transcript

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/export_transcript" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "program_id": "2", "print_layout_id": "5", "export_format": "ODT" }' \

Example response:

Copy to Clipboard
{}

To generate using the built-in PDF layout, set export_format to PDF. To use a custom layout, provide print_layout_id.

HTTP Request

GET /people/(person)/export_transcript

Parameters

Name Required Data Type Description
program_id Yes int
print_layout_id No int
export_format No text

Permissions

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

This is a heavy call. For performance reasons, only one heavy call may be made at a time.

export_grade_report

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/gradereport" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "academic_term_id": "24", "program_id": "2" }' \

Example response:

Copy to Clipboard
{}

HTTP Request

GET /people/(person)/gradereport

Parameters

Name Required Data Type Description
academic_term_id Yes int
program_id Yes int

Permissions

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

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/onlinepaymentlink" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "link", "person_id": 12, "url": "https:\/\/nsa.populiweb.com\/router\/paymentlink\/4a4d06713f628e97865eaeab3080a657" }

HTTP Request

GET /people/(person)/onlinepaymentlink

Parameters

Name Required Data Type Description
force_regenerate No bool Set to true to generate a new link, which will invalidate any previous links. Default is false

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/student" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "student", "id": 12, "visible_student_id": "20220xx002", "entrance_term_id": 0, "first_time": false, "last_academic_term_id": null, "exit_date": null, "exit_reason_id": null, "receives_1098t": true, "loa_start_date": null, "loa_end_date": null, "proctored": false, "max_enrolled_credits": null, "max_enrolled_hours": null, "max_audit_credits": null, "max_audit_hours": null, "student_type_campus": "enroll_audit", "student_type_online": "enroll_audit", "housing": null, "sandbox": true }

Retrieves a specific Student object.

HTTP Request

GET /people/(person)/student

Parameters

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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/student/update" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "object": "student", "id": 12, "visible_student_id": "20220xx002", "entrance_term_id": 0, "first_time": false, "last_academic_term_id": null, "exit_date": null, "exit_reason_id": null, "receives_1098t": true, "loa_start_date": null, "loa_end_date": null, "proctored": false, "max_enrolled_credits": null, "max_enrolled_hours": null, "max_audit_credits": null, "max_audit_hours": null, "student_type_campus": "enroll_audit", "student_type_online": "enroll_audit", "housing": null, "sandbox": true }

Updates an existing Student object.

HTTP Request

PUT /people/(person)/student/update

Parameters

Name Required Data Type Description
student_id No int
is_loa No bool
loa_start_date No date
loa_end_date No date
proctored No bool
max_enrolled_credits No decimal
max_enrolled_hours No decimal
max_audit_credits No decimal
max_audit_hours No decimal

Permissions

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

transcript

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transcript" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "program_id": "2" }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": { "programs": { "2": { "programid": "2", "level": "Undergraduate", "name": "Certificate", "units": "CREDITS", "hidden_from_students": 0, "started_on": "2004-10-20", "exit_date": null, "exit_reason": null, "standings_include_clinical_hours": 0, "lock_gpa_data": false, "transcript_note": { "errors": null }, "entrance_term_id": null, "entrance_term_display_name": null, "sort_by": 0 } }, "transfer_credits": { "2": { "institutions": { "1": { "contact_org_name": "The Oxford School", "transfer_courses": [ { "course_group_id": null, "course_id": 687, "course_num": "SPAN306", "course_name": "Spanish 6", "description": "Spanish 7", "attempted_units": 2.6, "earned_units": 2.6, "earned_standing_units": 2.6, "grade_abbrv": "A", "letter_grade": "A", "quality_points": 10.4, "gpa_units": 2.6, "attempted_contra-units": 0, "earned_contra-units": null, "attempted_attendance_hours": null, "earned_attendance_hours": null, "attempted_clinical_hours": null, "earned_clinical_hours": null, "attendance_hours_that_affect_standing": null, "clinical_hours_that_affect_standing": null, "applied_to_course_abbrv": "LAT100", "applied_to_course_name": "Beginning Latin", "show_on_transcript": 1 } ] } }, "totals": { "institutions": { "1": { "quality_points": 10.4, "gpa_units": 2.6, "attempted_units": 2.6, "earned_units": 2.6, "earned_standing_units": 2.6, "attempted_contra-units": 0, "earned_contra-units": null, "attempted_attendance_hours": null, "earned_attendance_hours": null, "attempted_clinical_hours": null, "earned_clinical_hours": null, "attendance_hours_that_affect_standing": null, "clinical_hours_that_affect_standing": null, "clinical_course_earned_units": null, "non_clinical_course_earned_units": 2.6, "clinical_course_earned_contra_units": null, "non_clinical_course_earned_contra_units": null } } }, "effective_date_units": [] } } } }

This route will return a lot of student data, the structure of which is too complex to articulate here.

HTTP Request

GET /people/(person)/transcript

Parameters

Name Required Data Type Description
program_id Yes int

Permissions

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

This is a heavy call. For performance reasons, only one heavy call may be made at a time.

transcript_notes

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transcriptnotes" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "transcript_note", "id": 1, "student_id": 12, "program_id": 2, "academic_term_id": null, "note": "Special accomodations for tests.", "added_at": "2022-10-10T00:00:00+00:00", "added_by_id": 16, "updated_at": null, "updated_by_id": null } ], "sandbox": true }

HTTP Request

GET /people/(person)/transcriptnotes

Parameters

None

Permissions

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

balances

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/personbalances" \ -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}]}} }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "person_id": 1, "display_name": "Elizabeth Fox", "first_name": "Elizabeth", "last_name": "Fox", "balance": "1234.56" } ] }

HTTP Request

GET /personbalances

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
balance decimal
uncollectible_invoices invoiceuncollectible
program program
has_active_student_role has_active_student_role
on_active_payment_plan bool
has_active_recurring_payment bool
student_campus campus
tag tag
lock_type locktype
custom_field custom

Permissions

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

StudentAdvisor

The StudentAdvisor object

The StudentAdvisor object looks like this in JSON:

Copy to Clipboard
{ "object": "student_advisor", "id": 2, "student_id": 11, "advisor_id": 16, "type": "primary", "added_at": "2024-11-20T20:03:39+00:00", "added_by_id": 13, "sandbox": true }
Attribute Required Data Type
id Yes int
student_id Yes int
advisor_id Yes int
type Yes enum (not_primary, primary, hidden)
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/advisors" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "student_advisor", "id": 4, "student_id": 12, "advisor_id": 16, "type": "hidden", "added_at": "2024-11-20T20:03:28+00:00", "added_by_id": 13 } ], "sandbox": true }

Retrieves all StudentAdvisor objects tied to a specific Person.

HTTP Request

GET /people/(person)/advisors

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/advisors" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "advisor_id": 17 }' \

Example response:

Copy to Clipboard
{ "object": "student_advisor", "id": 5, "student_id": 12, "advisor_id": 17, "type": "not_primary", "added_at": "2024-11-20T20:03:36+00:00", "added_by_id": 22, "sandbox": true }

Creates a new StudentAdvisor object.

HTTP Request

POST /people/(person)/advisors

Parameters

Name Required Data Type Description
advisor_id Yes int
type No enum (not_primary, primary, hidden)

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/advisors/(studentadvisor)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "student_advisor", "id": 2, "deleted": true }

Deletes an existing StudentAdvisor object.

HTTP Request

DELETE /people/(person)/advisors/(studentadvisor)

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:

StudentCampus

The StudentCampus object

The StudentCampus object looks like this in JSON:

Copy to Clipboard
{ "object": "student_campus", "id": 6, "student_id": 1, "campus_id": 8, "added_at": null, "added_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
student_id Yes int
campus_id Yes int
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/campuses" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "student_campus", "id": 8, "student_id": 12, "campus_id": 8, "campus": { "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 }, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all StudentCampus objects tied to a specific Person.

HTTP Request

GET /people/(person)/campuses

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/campuses" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "campus_id": 8 }' \

Example response:

Copy to Clipboard
{ "object": "student_campus", "id": 8, "student_id": 12, "campus_id": 8, "added_at": null, "added_by_id": null, "sandbox": true }

Creates a new StudentCampus object.

HTTP Request

POST /people/(person)/campuses

Parameters

Name Required Data Type Description
campus_id Yes int

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/campuses/(studentcampus)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "student_campus", "id": 7, "student_id": 16, "campus_id": 8, "added_at": null, "added_by_id": null, "sandbox": true }

Retrieves a specific StudentCampus object.

HTTP Request

GET /people/(person)/campuses/(studentcampus)

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:

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/campuses/(studentcampus)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "student_campus", "id": 7, "deleted": true }

Deletes an existing StudentCampus object.

HTTP Request

DELETE /people/(person)/campuses/(studentcampus)

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:

StudentConsequence

The StudentConsequence object

The StudentConsequence object looks like this in JSON:

Copy to Clipboard
{ "object": "student_consequence", "id": 1, "student_id": 8, "consequence_id": 1, "description": "Warning Letter to Parents", "status": "pending", "pending_charge_id": null, "added_on": "2022-07-19", "added_at": "2022-07-19T16:20:01+00:00", "added_by_id": 10, "sandbox": true }
Attribute Required Data Type
id Yes int
student_id Yes int
consequence_id Yes int
description No text
status No enum (pending, applied, waived, deleted)
pending_charge_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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/consequences" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "student_consequence", "id": 3, "student_id": 12, "consequence_id": 1, "description": "Warning Letter to Guardians", "status": "pending", "pending_charge_id": null, "added_on": "2022-07-19", "added_at": "2022-08-19T16:20:01+00:00", "added_by_id": 10 } ], "sandbox": true }

Retrieves all StudentConsequence objects tied to a specific Person.

HTTP Request

GET /people/(person)/consequences

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/consequences/(studentconsequence)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "student_consequence", "id": 2, "student_id": 16, "consequence_id": 1, "description": "Warning Letter to Parents", "status": "pending", "pending_charge_id": null, "added_on": "2022-07-19", "added_at": "2022-07-19T16:20:01+00:00", "added_by_id": 10, "sandbox": true }

Retrieves a specific StudentConsequence object.

HTTP Request

GET /people/(person)/consequences/(studentconsequence)

Parameters

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

Expandable Properties

Permissions

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

StudentDefaultTuitionSchedule

The StudentDefaultTuitionSchedule object

The StudentDefaultTuitionSchedule object looks like this in JSON:

Copy to Clipboard
{ "object": "student_default_tuition_schedule", "id": 6, "student_id": 12, "tuition_schedule_id": 1, "added_at": null, "added_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
student_id No int
tuition_schedule_id No int
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/defaulttuitionschedules" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "student_default_tuition_schedule", "id": 6, "student_id": 12, "tuition_schedule_id": 1, "tuition_schedule": { "object": "tuition_schedule", "id": 1, "name": "Cool Kids Plan", "units": "hours", "status": "active", "refund_type": "prorated", "refund_policy_id": null, "added_at": null, "added_by_id": null }, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all StudentDefaultTuitionSchedule objects tied to a specific Person.

HTTP Request

GET /people/(person)/defaulttuitionschedules

Parameters

None

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/defaulttuitionschedules/create" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT -d '{ "tuition_schedule_id": 1 }' \

Example response:

Copy to Clipboard
{ "object": "student_default_tuition_schedule", "id": 65, "student_id": 16, "tuition_schedule_id": 1, "added_at": "2024-11-20T20:03:36+00:00", "added_by_id": 22, "sandbox": true }

Updates an existing StudentDefaultTuitionSchedule object.

HTTP Request

PUT /people/(person)/defaulttuitionschedules/create

Parameters

Name Required Data Type Description
tuition_schedule_id Yes int

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/defaulttuitionschedules/(studentdefaulttuitionschedule)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "student_default_tuition_schedule", "id": 6, "student_id": 12, "tuition_schedule_id": 1, "added_at": null, "added_by_id": null, "sandbox": true }

Retrieves a specific StudentDefaultTuitionSchedule object.

HTTP Request

GET /people/(person)/defaulttuitionschedules/(studentdefaulttuitionschedule)

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:

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/defaulttuitionschedules/(studentdefaulttuitionschedule)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "student_default_tuition_schedule", "id": 6, "deleted": true }

Deletes an existing StudentDefaultTuitionSchedule object.

HTTP Request

DELETE /people/(person)/defaulttuitionschedules/(studentdefaulttuitionschedule)

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:

StudentDegree

The StudentDegree object

The StudentDegree object looks like this in JSON:

Copy to Clipboard
{ "object": "student_degree", "id": 1, "student_id": 1, "degree_id": 1, "status": "active", "graduation_date": null, "active_date": "2006-08-18", "inactive_date": null, "catalog_year_id": 1, "anticipated_completion_date": null, "show_on_transcript": true, "sandbox": true }
Attribute Required Data Type
id No int
student_id Yes int
degree_id Yes int
status Yes enum (active, inactive, granted, deleted)
graduation_date Yes date
active_date Yes date
inactive_date Yes date
catalog_year_id Yes int
anticipated_completion_date No date
show_on_transcript Yes bool
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/degrees" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "student_degree", "id": 5, "student_id": 12, "degree_id": 2, "status": "active", "graduation_date": null, "active_date": "2006-08-18", "inactive_date": null, "catalog_year_id": 1, "anticipated_completion_date": null, "show_on_transcript": true, "degree": { "object": "degree", "id": 2, "program_id": 1, "degree_level_id": 1, "department_id": 1, "name": "Bachelor of Arts Spanish", "description": "Bachelor of Arts Degree Spanish", "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 all StudentDegree objects tied to a specific Person.

HTTP Request

GET /people/(person)/degrees

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/degrees" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "degree_id": 1, "catalog_year_id": 4 }' \

Example response:

Copy to Clipboard
{ "object": "student_degree", "id": 6, "student_id": 12, "degree_id": 1, "status": "active", "graduation_date": null, "active_date": "2024-11-20", "inactive_date": null, "catalog_year_id": 4, "anticipated_completion_date": null, "show_on_transcript": false, "sandbox": true }

Creates a new StudentDegree object.

HTTP Request

POST /people/(person)/degrees

Parameters

Name Required Data Type Description
degree_id Yes int
catalog_year_id Yes int
active_date No date
show_on_transcript No bool
anticipated_completion_date No date

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/degrees/(studentdegree)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "student_degree", "id": 3, "student_id": 16, "degree_id": 1, "status": "active", "graduation_date": null, "active_date": "2006-08-18", "inactive_date": null, "catalog_year_id": 1, "anticipated_completion_date": null, "show_on_transcript": true, "sandbox": true }

Retrieves a specific StudentDegree object.

HTTP Request

GET /people/(person)/degrees/(studentdegree)

Parameters

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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/degrees/(studentdegree)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "object": "student_degree", "id": 3, "student_id": 16, "degree_id": 1, "status": "active", "graduation_date": null, "active_date": "2024-11-20", "inactive_date": null, "catalog_year_id": 1, "anticipated_completion_date": null, "show_on_transcript": false, "sandbox": true }

Updates an existing StudentDegree object.

HTTP Request

PUT /people/(person)/degrees/(studentdegree)

Parameters

Name Required Data Type Description
status No enum (active, inactive, granted, deleted)
show_on_transcript No bool
active_date No date
catalog_year_id No int

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/degrees/(studentdegree)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "student_degree", "id": 4, "deleted": true }

Deletes an existing StudentDegree object.

HTTP Request

DELETE /people/(person)/degrees/(studentdegree)

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:

StudentFlag

The StudentFlag object

The StudentFlag object looks like this in JSON:

Copy to Clipboard
{ "object": "student_flag", "id": 2, "student_id": 2, "advisor_id": null, "course_offering_id": 22524, "color": "red", "reason": null, "attendance_percent": 0, "consecutive_absences": 3, "average_assignment_grade": 20, "low_assignment_grade": 20, "auto_generated": true, "notified_at": null, "resolved_by_id": null, "resolved_at": null, "ended_at": null, "course_student_id": 1, "added_at": "2022-07-19T16:43:57+00:00", "added_by_id": 10, "sandbox": true }
Attribute Required Data Type
id Yes int
student_id Yes int
advisor_id No int
course_offering_id No int
color Yes enum (red, yellow, green)
reason No text
attendance_percent No decimal
consecutive_absences No int
average_assignment_grade No decimal
low_assignment_grade No decimal
auto_generated No bool
notified_at No datetime
resolved_by_id No int
resolved_at No datetime
ended_at No datetime
course_student_id No int
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/flags" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "student_flag", "id": 3, "student_id": 16, "advisor_id": null, "course_offering_id": 21908, "color": "yellow", "reason": null, "attendance_percent": 0, "consecutive_absences": 3, "average_assignment_grade": 20, "low_assignment_grade": 20, "auto_generated": true, "notified_at": null, "resolved_by_id": null, "resolved_at": null, "ended_at": null, "course_student_id": 6000000, "added_at": "2022-08-19T16:43:57+00:00", "added_by_id": 10 } ], "sandbox": true }

Retrieves all StudentFlag objects tied to a specific Person.

HTTP Request

GET /people/(person)/flags

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/flags/(studentflag)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "student_flag", "id": 3, "student_id": 16, "advisor_id": null, "course_offering_id": 21908, "color": "yellow", "reason": null, "attendance_percent": 0, "consecutive_absences": 3, "average_assignment_grade": 20, "low_assignment_grade": 20, "auto_generated": true, "notified_at": null, "resolved_by_id": null, "resolved_at": null, "ended_at": null, "course_student_id": 6000000, "added_at": "2022-08-19T16:43:57+00:00", "added_by_id": 10, "sandbox": true }

Retrieves a specific StudentFlag object.

HTTP Request

GET /people/(person)/flags/(studentflag)

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:

StudentHonor

The StudentHonor object

The StudentHonor object looks like this in JSON:

Copy to Clipboard
{ "object": "student_honor", "id": 1, "person_id": 12, "honor_id": 1, "link_id": null, "added_at": "2022-07-13T23:29:39+00:00", "added_by_id": 10, "sandbox": true }
Attribute Required Data Type
id Yes int
person_id Yes int
honor_id Yes int
link_id Yes int
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/honors" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "student_honor", "id": 1, "person_id": 12, "honor_id": 1, "link_id": null, "added_at": "2022-07-13T23:29:39+00:00", "added_by_id": 10 } ], "sandbox": true }

Retrieves all StudentHonor objects tied to a specific Person.

HTTP Request

GET /people/(person)/honors

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/honors" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "honor_id": 1, "link_id": 1 }' \

Example response:

Copy to Clipboard
{ "object": "student_honor", "id": 2, "person_id": 16, "honor_id": 1, "link_id": 1, "added_at": "2022-07-13T23:29:39+00:00", "added_by_id": 10, "sandbox": true }

Creates a new StudentHonor object.

HTTP Request

POST /people/(person)/honors

Parameters

Name Required Data Type Description
honor_id Yes int
link_id Yes int This will be the ID of a Program, Degree, or Academic Term, depending on the type of Honor being created.

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/honors/(studenthonor)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "student_honor", "id": 2, "person_id": 16, "honor_id": 1, "link_id": 1, "added_at": "2022-07-13T23:29:39+00:00", "added_by_id": 10, "sandbox": true }

Retrieves a specific StudentHonor object.

HTTP Request

GET /people/(person)/honors/(studenthonor)

Parameters

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

Expandable Properties

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/honors/(studenthonor)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "student_honor", "id": 2, "deleted": true }

Deletes an existing StudentHonor object.

HTTP Request

DELETE /people/(person)/honors/(studenthonor)

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:

StudentProgram

The StudentProgram object

The StudentProgram object looks like this in JSON:

Copy to Clipboard
{ "object": "student_program", "id": 5, "student_id": 12, "program_id": 2, "started_on": "2004-10-20", "entrance_term_id": null, "exit_date": null, "exit_reason_id": null, "education_level_id": null, "enrollment_status": "automatic", "first_time": false, "most_recent": true, "transfer_student": false, "name": "Certificate", "units": "credits", "added_at": null, "added_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
student_id Yes int
program_id Yes int
started_on No date
entrance_term_id No int
exit_date No date
exit_reason_id No int
education_level_id No int
enrollment_status Yes enum (automatic, full_time, three_quarter_time, half_time, less_than_half_time)
first_time Yes bool
most_recent Yes bool
transfer_student No --
name No text
units No text
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/programs" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "student_program", "id": 5, "student_id": 12, "program_id": 2, "started_on": "2004-10-20", "entrance_term_id": null, "exit_date": null, "exit_reason_id": null, "education_level_id": null, "enrollment_status": "automatic", "first_time": false, "most_recent": true, "transfer_student": true, "name": "Certificate", "units": "credits", "program": { "object": "program", "id": 2, "name": "Certificate", "units": "credits", "graduate_level": false, "default": 1, "default_tuition_schedule_id": null, "grants_academic_credit": true, "standings_include_clinical_hours": false, "continuous_enrollment": false, "payment_period_behavior": "none", "payment_period_default_length": null, "payment_period_max_length": null, "payment_period_max_units": null, "hidden_from_students": false, "external_id": "UG1", "status": "active" }, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all StudentProgram objects tied to a specific Person.

HTTP Request

GET /people/(person)/programs

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/programs" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "program_id": 1, "started_on": "2021-09-30" }' \

Example response:

Copy to Clipboard
{ "object": "student_program", "id": 6, "student_id": 12, "program_id": 1, "started_on": "2021-09-30", "entrance_term_id": null, "exit_date": null, "exit_reason_id": null, "education_level_id": null, "enrollment_status": "automatic", "first_time": false, "most_recent": false, "transfer_student": false, "added_at": "2024-11-20T20:03:36+00:00", "added_by_id": 22, "sandbox": true }

Creates a new StudentProgram object.

HTTP Request

POST /people/(person)/programs

Parameters

Name Required Data Type Description
program_id Yes int
started_on Yes date
entrance_term_id No int
education_level_id No int
enrollment_status No enum (automatic, full_time, three_quarter_time, half_time, less_than_half_time)
is_transfer_student No bool

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/programs/(studentprogram)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT -d '{ "status": "active" }' \

Example response:

Copy to Clipboard
{ "object": "student_program", "id": 3, "student_id": 16, "program_id": 1, "started_on": "2003-10-20", "entrance_term_id": null, "exit_date": null, "exit_reason_id": null, "education_level_id": null, "enrollment_status": "automatic", "first_time": false, "most_recent": true, "transfer_student": false, "name": "Undergraduate", "units": "credits", "added_at": null, "added_by_id": null, "sandbox": true }

Updates an existing StudentProgram object.

HTTP Request

PUT /people/(person)/programs/(studentprogram)

Parameters

Name Required Data Type Description
status No enum
started_on No date
entrance_term_id No int
education_level_id No int
enrollment_status No enum (automatic, full_time, three_quarter_time, half_time, less_than_half_time)
is_transfer_student No bool
exit_date No date
exit_reason_id No int

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/programs/(studentprogram)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "student_program", "id": 4, "deleted": true }

Deletes an existing StudentProgram object.

HTTP Request

DELETE /people/(person)/programs/(studentprogram)

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:

StudentSpecialization

The StudentSpecialization object

The StudentSpecialization object looks like this in JSON:

Copy to Clipboard
{ "object": "student_specialization", "id": 1, "specialization_id": 1, "student_id": 1, "student_degree_id": 1, "granted_date": null, "show_on_transcript": true, "added_at": null, "added_by_id": null, "updated_at": null, "updated_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
specialization_id Yes int
student_id Yes int
student_degree_id Yes int
granted_date Yes date
show_on_transcript 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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/degrees/(studentdegree)/specializations" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "student_specialization", "id": 2, "specialization_id": 2, "student_id": 16, "student_degree_id": 3, "granted_date": null, "show_on_transcript": true, "specialization": { "object": "specialization", "id": 2, "degree_id": 1, "type": "major", "department_id": 0, "name": "English", "description": "English", "abbrv": "ENG", "cip_code": null, "status": "active", "external_id": null }, "added_at": null, "added_by_id": null, "updated_at": null, "updated_by_id": null } ], "sandbox": true }

Retrieves all StudentSpecialization objects tied to a specific Person.

HTTP Request

GET /people/(person)/degrees/(studentdegree)/specializations

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/degrees/(studentdegree)/specializations/(studentspecialization)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "student_specialization", "id": 2, "specialization_id": 2, "student_id": 16, "student_degree_id": 3, "granted_date": null, "show_on_transcript": true, "added_at": null, "added_by_id": null, "updated_at": null, "updated_by_id": null, "sandbox": true }

Retrieves a specific StudentSpecialization object.

HTTP Request

GET /people/(person)/degrees/(studentdegree)/specializations/(studentspecialization)

Parameters

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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/degrees/(studentdegree)/specializations/(studentspecialization)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "object": "student_specialization", "id": 2, "specialization_id": 2, "student_id": 16, "student_degree_id": 3, "granted_date": null, "show_on_transcript": false, "added_at": null, "added_by_id": null, "updated_at": "2024-11-20T20:03:36+00:00", "updated_by_id": 22, "sandbox": true }

Updates an existing StudentSpecialization object.

HTTP Request

PUT /people/(person)/degrees/(studentdegree)/specializations/(studentspecialization)

Parameters

Name Required Data Type Description
show_on_transcript No bool
granted_date No date

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/degrees/(studentdegree)/specializations/(studentspecialization)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "student_specialization", "id": 2, "deleted": true }

Deletes an existing StudentSpecialization object.

HTTP Request

DELETE /people/(person)/degrees/(studentdegree)/specializations/(studentspecialization)

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:

StudentViolation

The StudentViolation object

The StudentViolation object looks like this in JSON:

Copy to Clipboard
{ "object": "student_violation", "id": 1, "student_id": 12, "violation_id": 1, "description": "Curfew Violation, after midnight", "pending_charge_id": null, "added_on": "2022-07-19", "added_at": "2022-07-19T16:19:56+00:00", "added_by_id": 10, "sandbox": true }
Attribute Required Data Type
id Yes int
student_id Yes int
violation_id Yes int
description No text
pending_charge_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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/violations" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "student_violation", "id": 1, "student_id": 12, "violation_id": 1, "description": "Curfew Violation, after midnight", "pending_charge_id": null, "added_on": "2022-07-19", "added_at": "2022-07-19T16:19:56+00:00", "added_by_id": 10 } ], "sandbox": true }

Retrieves all StudentViolation objects tied to a specific Person.

HTTP Request

GET /people/(person)/violations

Parameters

None

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/violations/(studentviolation)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "student_violation", "id": 2, "student_id": 16, "violation_id": 1, "description": "Curfew Violation, after midnight", "pending_charge_id": null, "added_on": "2022-07-19", "added_at": "2022-07-19T16:19:56+00:00", "added_by_id": 10, "sandbox": true }

Retrieves a specific StudentViolation object.

HTTP Request

GET /people/(person)/violations/(studentviolation)

Parameters

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

Expandable Properties

Tag

The Tag object

The Tag object looks like this in JSON:

Copy to Clipboard
{ "object": "tag", "id": 500, "name": "Active Lead", "autogenerated": 1, "added_at": null, "added_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
name Yes text (100)
autogenerated Yes int
added_at No datetime
added_by_id No int
sandbox No --

index (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/tags" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "tag", "id": 600, "name": "Special", "autogenerated": null, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all Tag objects tied to a specific Organization.

HTTP Request

GET /organizations/(organization)/tags

Parameters

None

Permissions

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

add (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/tags/add" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "tag_id": 501 }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "tag", "id": 600, "name": "Special", "autogenerated": null, "added_at": null, "added_by_id": null } ], "sandbox": true }

HTTP Request

GET /organizations/(organization)/tags/add

Parameters

Name Required Data Type Description
tag_id No int tag_id or name is required.
name No text (100) You can supply the name of the tag instead of the tag_id.

Permissions

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

remove (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/tags/remove" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "tag_id": 501 }' \

Example response:

Copy to Clipboard
{ "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 /organizations/(organization)/tags/remove

Parameters

Name Required Data Type Description
tag_id No int tag_id or name is required.
name No text (100) You can supply the name of the tag instead of the tag_id.

Permissions

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

index (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/tags" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 4, "results": 4, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "tag", "id": 500, "name": "Active Lead", "autogenerated": 1, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all Tag objects tied to a specific Person.

HTTP Request

GET /people/(person)/tags

Parameters

None

Permissions

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

add (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/tags/add" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "tag_id": 501 }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 5, "results": 5, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "tag", "id": 500, "name": "Active Lead", "autogenerated": 1, "added_at": null, "added_by_id": null } ], "sandbox": true }

HTTP Request

GET /people/(person)/tags/add

Parameters

Name Required Data Type Description
tag_id No int tag_id or name is required.
name No text (100) You can supply the name of the tag instead of the tag_id.

Permissions

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

remove (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/tags/remove" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "tag_id": 501 }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 3, "results": 3, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "tag", "id": 500, "name": "Active Lead", "autogenerated": 1, "added_at": null, "added_by_id": null } ], "sandbox": true }

HTTP Request

GET /people/(person)/tags/remove

Parameters

Name Required Data Type Description
tag_id No int tag_id or name is required.
name No text (100) You can supply the name of the tag instead of the tag_id.

Permissions

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

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/tags" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 17, "results": 17, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "tag", "id": 500, "name": "Active Lead", "autogenerated": 1, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all Tag objects.

HTTP Request

GET /tags

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/tags" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "name": "Career Fair" }' \

Example response:

Copy to Clipboard
{ "object": "tag", "id": 601, "name": "Career Fair", "autogenerated": null, "added_at": "2024-11-20T20:03:34+00:00", "added_by_id": 22, "sandbox": true }

If you try to create a Tag that already exists (same name), the existing Tag object will be returned.

HTTP Request

POST /tags

Parameters

Name Required Data Type Description
name Yes text (100)

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/tags/(tag)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "tag", "id": 500, "name": "Active Lead", "autogenerated": 1, "added_at": null, "added_by_id": null, "sandbox": true }

Retrieves a specific Tag object.

HTTP Request

GET /tags/(tag)

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:

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/tags/(tag)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "tag", "id": 600, "deleted": true }

Custom tags can be deleted. System tags or autogenerated tags cannot be deleted.

HTTP Request

DELETE /tags/(tag)

Parameters

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

Permissions

Only keys that have been granted Populi Account Administrator permissions may call this method.

Todo

The Todo object

The Todo object looks like this in JSON:

Copy to Clipboard
{ "object": "todo", "id": 8, "name": "Print new brocures", "assigned_to": 1, "assigned_by_id": 1, "attached_to": null, "completed_by_id": 1, "due_date": "2019-07-02", "completed_time": null, "added_time": "2019-06-26T00:57:21+00:00", "communication_plan_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
name Yes text (500)
assigned_to Yes int
assigned_by_id No int
attached_to No int
completed_by_id No int
due_date Yes date
completed_time No datetime
added_time Yes datetime
communication_plan_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/todos" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": 200, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "todo", "id": 8, "name": "Print new brocures", "assigned_to": 1, "assigned_by_id": 1, "attached_to": null, "completed_by_id": 1, "due_date": "2019-07-02", "completed_time": null, "added_time": "2019-06-26T00:57:21+00:00", "communication_plan_id": null } ], "sandbox": true }

Retrieves all Todo objects.

HTTP Request

GET /todos

Parameters

Name Required Data Type Description
page No int

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/todos" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "name": "Send out Fall promo postcards." }' \

Example response:

Copy to Clipboard
{ "object": "todo", "id": 9, "name": "Send out Fall promo postcards.", "assigned_to": 22, "assigned_by_id": 22, "attached_to": null, "completed_by_id": null, "due_date": null, "completed_time": null, "added_time": "2024-11-20T12:03:34+00:00", "communication_plan_id": null, "sandbox": true }

Creates a new Todo object.

HTTP Request

POST /todos

Parameters

Name Required Data Type Description
name Yes text (500)
assigned_to No int
attached_to No int
due_date No date

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/todos/(todo)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "todo", "id": 8, "name": "Print new brocures", "assigned_to": 1, "assigned_by_id": 1, "attached_to": null, "completed_by_id": 1, "due_date": "2019-07-02", "completed_time": null, "added_time": "2019-06-26T00:57:21+00:00", "communication_plan_id": null, "sandbox": true }

Retrieves a specific Todo object.

HTTP Request

GET /todos/(todo)

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:

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/todos/(todo)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "todo", "id": 8, "deleted": true }

Deletes an existing Todo object.

HTTP Request

DELETE /todos/(todo)

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:

complete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/todos/(todo)/complete" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST

Example response:

Copy to Clipboard
{ "object": "todo", "id": 8, "name": "Print new brocures", "assigned_to": 1, "assigned_by_id": 1, "attached_to": null, "completed_by_id": 22, "due_date": "2019-07-02", "completed_time": "2024-11-20T20:03:34+00:00", "added_time": "2019-06-26T00:57:21+00:00", "communication_plan_id": null, "sandbox": true }

HTTP Request

POST /todos/(todo)/complete

Parameters

None

Permissions

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

TodoTemplate

The TodoTemplate object

The TodoTemplate object looks like this in JSON:

Copy to Clipboard
{ "object": "todo_template", "id": 10, "name": null, "todo": "Admissions Followup Call #1", "added_at": "2019-04-20T21:50:54+00:00", "added_by_id": 125, "sandbox": true }
Attribute Required Data Type
id Yes int
name Yes text (200)
todo Yes text (300)
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/todotemplates" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "todo_template", "id": 10, "name": null, "todo": "Admissions Followup Call #1", "added_at": "2019-04-20T21:50:54+00:00", "added_by_id": 125 } ], "sandbox": true }

Retrieves all TodoTemplate objects.

HTTP Request

GET /todotemplates

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/todotemplates/(todotemplate)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "todo_template", "id": 10, "name": null, "todo": "Admissions Followup Call #1", "added_at": "2019-04-20T21:50:54+00:00", "added_by_id": 125, "sandbox": true }

Retrieves a specific TodoTemplate object.

HTTP Request

GET /todotemplates/(todotemplate)

Parameters

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

Expandable Properties

Permissions

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

TranscriptRequest

The TranscriptRequest object

The TranscriptRequest object looks like this in JSON:

Copy to Clipboard
{ "object": "transcript_request", "id": 1, "status": "active", "person_id": 8, "student_firstname": null, "student_lastname": null, "student_ssn": null, "student_birthdate": null, "student_last_enrolled_year": null, "program_id": 1, "delivery_method_id": 3, "recipient_name": "Bob's University", "email": null, "street": "123 Street", "city": "Moscow", "state": "ID", "postal": "83843", "country": "US", "notes": "blah", "fee_id": 1, "fee_amount": 22, "charge_method": "credit_card", "online_payment_id": 1, "sales_receipt_id": 1, "pending_charge_id": null, "requester_name": "Wally Wanderer", "requester_electronic_signature": "Wally W", "requester_email": "wally@populi.co", "requester_phone": "123-123-1234", "secret": "72b5c7ee3d15f15932ea3a1813251b29", "completed_at": "2022-07-13T18:32:47+00:00", "completed_by_id": 10, "refunded_at": null, "refunded_by_id": null, "added_at": "2022-07-13T18:31:48+00:00", "added_by_id": 10, "sandbox": true }
Attribute Required Data Type
id Yes int
status Yes enum (construction, active, deleted, closed)
person_id No int
student_firstname No text (50)
student_lastname No text (50)
student_ssn No text (15)
student_birthdate No date
student_last_enrolled_year No text (10)
program_id No int
delivery_method_id Yes int
recipient_name No text (200)
email No text (200)
street No text (300)
city No text (100)
state No text (50)
postal No text (50)
country No text (50)
notes No text (1000)
fee_id No int
fee_amount Yes decimal
charge_method No enum (account, credit_card, external)
online_payment_id No int
sales_receipt_id No int
pending_charge_id No int
requester_name No text (200)
requester_electronic_signature No text (200)
requester_email No text (200)
requester_phone No text (200)
secret No text (200)
completed_at No datetime
completed_by_id No int
refunded_at No datetime
refunded_by_id No int
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/transcriptrequests" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "filter": {"0":{"logic":"ALL","fields":[{"name":"delivery_method","value":"BLAH","positive":1}]}} }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 0, "results": 0, "results_per_page": 200, "pages": 0, "page": 0, "offset": 0, "has_more": false, "data": [], "sandbox": true }

Retrieves all TranscriptRequest objects that match given filter conditions.

HTTP Request

GET /transcriptrequests

Parameters

Name Required Data Type Description
filter No mixed See available filter conditions
page No int The page of results to return if more than 200 records are found.

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
student_name text
program program
delivery_method choice
requested_at date
is_complete bool
completed_at date
linked_to_populi_record bool

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/transcriptrequests/(transcriptrequest)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "transcript_request", "id": 1, "status": "active", "person_id": 8, "student_firstname": null, "student_lastname": null, "student_ssn": null, "student_birthdate": null, "student_last_enrolled_year": null, "program_id": 1, "delivery_method_id": 3, "recipient_name": "Bob's University", "email": null, "street": "123 Street", "city": "Moscow", "state": "ID", "postal": "83843", "country": "US", "notes": "blah", "fee_id": 1, "fee_amount": 22, "charge_method": "credit_card", "online_payment_id": 1, "sales_receipt_id": 1, "pending_charge_id": null, "requester_name": "Wally Wanderer", "requester_electronic_signature": "Wally W", "requester_email": "wally@populi.co", "requester_phone": "123-123-1234", "secret": "72b5c7ee3d15f15932ea3a1813251b29", "completed_at": "2022-07-13T18:32:47+00:00", "completed_by_id": 10, "refunded_at": null, "refunded_by_id": null, "added_at": "2022-07-13T18:31:48+00:00", "added_by_id": 10, "sandbox": true }

Retrieves a specific TranscriptRequest object.

HTTP Request

GET /transcriptrequests/(transcriptrequest)

Parameters

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

Expandable Properties

Permissions

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

TranscriptRequestDeliveryMethod

The TranscriptRequestDeliveryMethod object

The TranscriptRequestDeliveryMethod object looks like this in JSON:

Copy to Clipboard
{ "object": "transcript_request_delivery_method", "id": 1, "name": "Print and Mail", "workflow": "print", "added_at": "2016-11-01T00:00:00+00:00", "added_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
name Yes text (200)
workflow Yes enum (none, print, email)
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/transcriptrequestdeliverymethods" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 2, "results": 2, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "transcript_request_delivery_method", "id": 1, "name": "Print and Mail", "workflow": "print", "added_at": "2016-11-01T00:00:00+00:00", "added_by_id": null } ], "sandbox": true }

Retrieves all TranscriptRequestDeliveryMethod objects.

HTTP Request

GET /transcriptrequestdeliverymethods

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/transcriptrequestdeliverymethods/(transcriptrequestdeliverymethod)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "transcript_request_delivery_method", "id": 1, "name": "Print and Mail", "workflow": "print", "added_at": "2016-11-01T00:00:00+00:00", "added_by_id": null, "sandbox": true }

Retrieves a specific TranscriptRequestDeliveryMethod object.

HTTP Request

GET /transcriptrequestdeliverymethods/(transcriptrequestdeliverymethod)

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:

TranscriptRequestFeeRule

The TranscriptRequestFeeRule object

The TranscriptRequestFeeRule object looks like this in JSON:

Copy to Clipboard
{ "object": "transcript_request_fee_rule", "id": 1, "delivery_method_id": 3, "program_id": null, "fee_id": 1, "amount": 22, "added_at": "2022-07-13T18:30:24+00:00", "added_by_id": 10, "sandbox": true }
Attribute Required Data Type
id Yes int
delivery_method_id No int
program_id No int
fee_id Yes int
amount No decimal
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/transcriptrequestfeerules" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "transcript_request_fee_rule", "id": 1, "delivery_method_id": 3, "program_id": null, "fee_id": 1, "amount": 22, "added_at": "2022-07-13T18:30:24+00:00", "added_by_id": 10 } ], "sandbox": true }

Retrieves all TranscriptRequestFeeRule objects.

HTTP Request

GET /transcriptrequestfeerules

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/transcriptrequestfeerules/(transcriptrequestfeerule)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "transcript_request_fee_rule", "id": 1, "delivery_method_id": 3, "program_id": null, "fee_id": 1, "amount": 22, "added_at": "2022-07-13T18:30:24+00:00", "added_by_id": 10, "sandbox": true }

Retrieves a specific TranscriptRequestFeeRule object.

HTTP Request

GET /transcriptrequestfeerules/(transcriptrequestfeerule)

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:

TransferCredit

The TransferCredit object

The TransferCredit object looks like this in JSON:

Copy to Clipboard
{ "object": "transfer_credit", "id": 1, "person_id": 1, "transfer_institution_id": 1, "description": "Spanish 1", "credits": 2, "hours": null, "attendance_hours": null, "clinical_hours": null, "fulfills_program_requirements": true, "pass_affects_gpa": true, "fail_affects_gpa": true, "pass_fail_pass_affects_gpa": true, "pass_fail_fail_affects_gpa": true, "affects_standing": true, "course_number": "SPAN101", "course_name": "Spanish 1", "applied_date": null, "effective_date": null, "course_group_id": null, "catalog_course_id": 687, "status": "approved", "status_at": null, "status_by_id": null, "organization_id": 1, "organization_name": "The Oxford School", "added_at": null, "added_by_id": null, "updated_at": null, "updated_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
person_id Yes int
transfer_institution_id Yes int
description No text (5000)
credits No decimal
hours No decimal
attendance_hours No decimal
clinical_hours No decimal
fulfills_program_requirements 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
affects_standing Yes bool
course_number Yes text (50)
course_name Yes text (255)
applied_date No date
effective_date No date
course_group_id No int
catalog_course_id No int
status Yes enum (approved, pending, rejected)
status_at No datetime
status_by_id No int
organization_id No int
organization_name No text
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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transfercredits" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "transfer_credit", "id": 7, "person_id": 12, "transfer_institution_id": 3, "description": "Spanish 7", "credits": 2.6, "hours": null, "attendance_hours": null, "clinical_hours": null, "fulfills_program_requirements": true, "pass_affects_gpa": true, "fail_affects_gpa": true, "pass_fail_pass_affects_gpa": true, "pass_fail_fail_affects_gpa": true, "affects_standing": true, "course_number": "SPAN306", "course_name": "Spanish 6", "applied_date": null, "effective_date": null, "course_group_id": null, "catalog_course_id": 687, "status": "approved", "status_at": null, "status_by_id": null, "organization_id": 1, "organization_name": "The Oxford School", "added_at": null, "added_by_id": null, "updated_at": null, "updated_by_id": null } ], "sandbox": true }

Retrieves all TransferCredit objects tied to a specific Person.

HTTP Request

GET /people/(person)/transfercredits

Parameters

None

Expandable Properties

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "course_number": "MATH 102", "course_name": "Algebra II", "credits": "3.00", "catalog_course_id": 778, "status": "pending" }' \

Example response:

Copy to Clipboard
{ "object": "transfer_credit", "id": 8, "person_id": 12, "transfer_institution_id": 3, "description": null, "credits": 3, "hours": null, "attendance_hours": null, "clinical_hours": null, "fulfills_program_requirements": true, "pass_affects_gpa": true, "fail_affects_gpa": true, "pass_fail_pass_affects_gpa": false, "pass_fail_fail_affects_gpa": true, "affects_standing": true, "course_number": "MATH 102", "course_name": "Algebra II", "applied_date": null, "effective_date": null, "course_group_id": null, "catalog_course_id": 778, "status": "pending", "status_at": null, "status_by_id": null, "added_at": "2024-11-20T20:03:35+00:00", "added_by_id": 22, "updated_at": "2024-11-20T20:03:35+00:00", "updated_by_id": 22, "sandbox": true }

Creates a new TransferCredit object.

HTTP Request

POST /people/(person)/transferinstitutions/(transferinstitution)/transfercredits

Parameters

Name Required Data Type Description
course_number Yes text (50)
course_name Yes text (255)
credits No decimal
hours No decimal
clinical_hours No decimal
attendance_hours No decimal
fulfills_program_requirements No bool Default is true
pass_affects_gpa No bool Default is true
fail_affects_gpa No bool Default is true
pass_fail_pass_affects_gpa No bool Default is false
pass_fail_fail_affects_gpa No bool Default is true
affects_standing No bool Default is true
catalog_course_id No int
course_group_id No int
effective_date No date
status Yes enum (approved, pending, rejected)
description No text (5000)

Action Parameters

Name Data Type Description
applies_to_all_programs

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "transfer_credit", "id": 7, "person_id": 12, "transfer_institution_id": 3, "description": "Spanish 7", "credits": 2.6, "hours": null, "attendance_hours": null, "clinical_hours": null, "fulfills_program_requirements": true, "pass_affects_gpa": true, "fail_affects_gpa": true, "pass_fail_pass_affects_gpa": true, "pass_fail_fail_affects_gpa": true, "affects_standing": true, "course_number": "SPAN306", "course_name": "Spanish 6", "applied_date": null, "effective_date": null, "course_group_id": null, "catalog_course_id": 687, "status": "approved", "status_at": null, "status_by_id": null, "added_at": null, "added_by_id": null, "updated_at": null, "updated_by_id": null, "sandbox": true }

Retrieves a specific TransferCredit object.

HTTP Request

GET /people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)

Parameters

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

Expandable Properties

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT -d '{ "course_group_id": 1 }' \

Example response:

Copy to Clipboard
{ "object": "transfer_credit", "id": 8, "person_id": 12, "transfer_institution_id": 3, "description": null, "credits": 3, "hours": null, "attendance_hours": null, "clinical_hours": null, "fulfills_program_requirements": true, "pass_affects_gpa": true, "fail_affects_gpa": true, "pass_fail_pass_affects_gpa": false, "pass_fail_fail_affects_gpa": true, "affects_standing": true, "course_number": "MATH 102", "course_name": "Algebra II", "applied_date": null, "effective_date": null, "course_group_id": 1, "catalog_course_id": null, "status": "pending", "status_at": null, "status_by_id": null, "added_at": "2024-11-20T20:03:35+00:00", "added_by_id": 22, "updated_at": "2024-11-20T20:03:35+00:00", "updated_by_id": 22, "sandbox": true }

Updates an existing TransferCredit object.

HTTP Request

PUT /people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)

Parameters

Name Required Data Type Description
course_number No text (50)
course_name No text (255)
credits No decimal
hours No decimal
clinical_hours No decimal
attendance_hours No decimal
fulfills_program_requirements No bool
pass_affects_gpa No bool
fail_affects_gpa No bool
pass_fail_pass_affects_gpa No bool
pass_fail_fail_affects_gpa No bool
affects_standing No bool
catalog_course_id No int
course_group_id No int
effective_date No date
status No enum (approved, pending, rejected)
description No text (5000)

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "transfer_credit", "id": 8, "deleted": true }

Deletes an existing TransferCredit object.

HTTP Request

DELETE /people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)

Parameters

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

Permissions

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

index (transfercredit)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/transfercredits" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "filter": [] }' \

Example response:

Copy to Clipboard
{ "object": "list", "count": 7, "results": 7, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "transfer_credit", "id": 7, "person_id": 12, "transfer_institution_id": 3, "description": "Spanish 7", "credits": 2.6, "hours": null, "attendance_hours": null, "clinical_hours": null, "fulfills_program_requirements": true, "pass_affects_gpa": true, "fail_affects_gpa": true, "pass_fail_pass_affects_gpa": true, "pass_fail_fail_affects_gpa": true, "affects_standing": true, "course_number": "SPAN306", "course_name": "Spanish 6", "applied_date": null, "effective_date": null, "course_group_id": null, "catalog_course_id": 687, "status": "approved", "status_at": null, "status_by_id": null, "person_display_name": "Alice Admin", "organization_id": 1, "organization_name": "The Oxford School", "catalog_course_abbrv": "LAT100", "catalog_course_name": "Beginning Latin", "course_group_name": null, "program_id": 1, "program_name": "Undergraduate", "grade": "98.00", "graded_academic_term_id": 5, "pass_fail": 0, "retake": 0, "previously_has_been_taken": 0, "catalog_course_count_retakes_as_earned": 0, "student_status": "ENROLLED", "custom_student_status_abbrv": null, "added_at": null, "added_by_id": null, "updated_at": null, "updated_by_id": null } ], "sandbox": true }

Retrieves all TransferCredit objects that match given filter conditions.

HTTP Request

GET /transfercredits

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
added_at datetime
affects_standing bool
applied_to choice
catalog_course search
course_group object id
credits decimal
custom_field custom
fail_affects_gpa bool
fulfills_program_requirements bool
graded_academic_term academic_term
has_active_student_role has_active_student_role
hours decimal
institution search
pass_affects_gpa bool
pass_fail_fail_affects_gpa bool
pass_fail_pass_affects_gpa bool
program object id
status enum
status_updated datetime
student search
student_campus campus
tag tag
transfer_course_name text
transfer_course_number text
updated_at datetime

Permissions

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

TransferCreditProgram

The TransferCreditProgram object

The TransferCreditProgram object looks like this in JSON:

Copy to Clipboard
{ "object": "transfer_credit_program", "id": 1, "transfer_credit_id": 1, "program_id": 1, "grade": 99, "graded_academic_term_id": 5, "pass_fail": false, "retake": false, "retake_by_id": "system", "previously_has_been_taken": false, "student_status": "enrolled", "custom_student_status_id": null, "show_on_transcript": true, "added_at": null, "added_by_id": null, "updated_at": null, "updated_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
transfer_credit_id Yes int
program_id Yes int
grade No decimal
graded_academic_term_id No int
pass_fail No bool
retake No bool
retake_by_id No int
previously_has_been_taken Yes bool
student_status Yes enum (enrolled, withdrawn, incomplete)
custom_student_status_id No int
show_on_transcript 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:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)/programs" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "transfer_credit_program", "id": 7, "transfer_credit_id": 7, "program_id": 1, "grade": 98, "graded_academic_term_id": 5, "pass_fail": false, "retake": false, "retake_by_id": "system", "previously_has_been_taken": false, "student_status": "enrolled", "custom_student_status_id": null, "show_on_transcript": true, "added_at": null, "added_by_id": null, "updated_at": null, "updated_by_id": null } ], "sandbox": true }

Retrieves all TransferCreditProgram objects tied to a specific Person.

HTTP Request

GET /people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)/programs

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)/programs" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "program_id": 2, "grade": "98.00", "is_transfer_student": "1" }' \

Example response:

Copy to Clipboard
{ "object": "transfer_credit_program", "id": 8, "transfer_credit_id": 7, "program_id": 2, "grade": 98, "graded_academic_term_id": 8, "pass_fail": false, "retake": false, "retake_by_id": "person", "previously_has_been_taken": false, "student_status": "enrolled", "custom_student_status_id": null, "show_on_transcript": true, "added_at": "2024-11-20T20:03:35+00:00", "added_by_id": 22, "updated_at": "2024-11-20T20:03:35+00:00", "updated_by_id": 22, "sandbox": true }

Creates a new TransferCreditProgram object.

HTTP Request

POST /people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)/programs

Parameters

Name Required Data Type Description
program_id Yes int
grade No decimal
pass_fail No bool Default is false
show_on_transcript No bool Default is true
is_transfer_student No bool Default is true

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)/programs/(transfercreditprogram)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "transfer_credit_program", "id": 7, "transfer_credit_id": 7, "program_id": 1, "grade": 98, "graded_academic_term_id": 5, "pass_fail": false, "retake": false, "retake_by_id": "system", "previously_has_been_taken": false, "student_status": "enrolled", "custom_student_status_id": null, "show_on_transcript": true, "added_at": null, "added_by_id": null, "updated_at": null, "updated_by_id": null, "sandbox": true }

Retrieves a specific TransferCreditProgram object.

HTTP Request

GET /people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)/programs/(transfercreditprogram)

Parameters

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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)/programs/(transfercreditprogram)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT -d '{ "grade": "100.00", "is_transfer_student": "1" }' \

Example response:

Copy to Clipboard
{ "object": "transfer_credit_program", "id": 8, "transfer_credit_id": 7, "program_id": 2, "grade": 100, "graded_academic_term_id": 8, "pass_fail": false, "retake": false, "retake_by_id": "person", "previously_has_been_taken": false, "student_status": "enrolled", "custom_student_status_id": null, "show_on_transcript": true, "added_at": "2024-11-20T20:03:35+00:00", "added_by_id": 22, "updated_at": "2024-11-20T20:03:35+00:00", "updated_by_id": 22, "sandbox": true }

Updates an existing TransferCreditProgram object.

HTTP Request

PUT /people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)/programs/(transfercreditprogram)

Parameters

Name Required Data Type Description
grade No decimal
pass_fail No bool
show_on_transcript No bool
is_transfer_student No bool

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)/programs/(transfercreditprogram)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "transfer_credit_program", "id": 8, "deleted": true }

Deletes an existing TransferCreditProgram object.

HTTP Request

DELETE /people/(person)/transferinstitutions/(transferinstitution)/transfercredits/(transfercredit)/programs/(transfercreditprogram)

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:

TransferInstitution

The TransferInstitution object

The TransferInstitution object looks like this in JSON:

Copy to Clipboard
{ "object": "transfer_institution", "id": 1, "person_id": 1, "organization_id": 1, "organization_name": "The Oxford School", "added_at": null, "added_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
person_id Yes int
organization_id No int
organization_name No text
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "transfer_institution", "id": 3, "person_id": 12, "organization_id": 1, "organization_name": "The Oxford School", "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all TransferInstitution objects tied to a specific Person.

HTTP Request

GET /people/(person)/transferinstitutions

Parameters

None

Expandable Properties

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "organization_id": 4 }' \

Example response:

Copy to Clipboard
{ "object": "transfer_institution", "id": 4, "person_id": 12, "organization_id": 4, "added_at": "2024-11-20T20:03:35+00:00", "added_by_id": 22, "sandbox": true }

Creates a new TransferInstitution object.

HTTP Request

POST /people/(person)/transferinstitutions

Parameters

Name Required Data Type Description
organization_id Yes int

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "transfer_institution", "id": 3, "person_id": 12, "organization_id": 1, "added_at": null, "added_by_id": null, "sandbox": true }

Retrieves a specific TransferInstitution object.

HTTP Request

GET /people/(person)/transferinstitutions/(transferinstitution)

Parameters

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

Expandable Properties

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT -d '{ "organization_id": 3 }' \

Example response:

Copy to Clipboard
{ "object": "transfer_institution", "id": 4, "person_id": 12, "organization_id": 3, "added_at": "2024-11-20T20:03:35+00:00", "added_by_id": 22, "sandbox": true }

Updates an existing TransferInstitution object.

HTTP Request

PUT /people/(person)/transferinstitutions/(transferinstitution)

Parameters

Name Required Data Type Description
organization_id Yes int

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/transferinstitutions/(transferinstitution)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "transfer_institution", "id": 4, "deleted": true }

Deletes an existing TransferInstitution object.

HTTP Request

DELETE /people/(person)/transferinstitutions/(transferinstitution)

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:

TuitionSchedule

The TuitionSchedule object

The TuitionSchedule object looks like this in JSON:

Copy to Clipboard
{ "object": "tuition_schedule", "id": 1, "name": "Cool Kids Plan", "units": "hours", "status": "active", "refund_type": "prorated", "refund_policy_id": null, "added_at": null, "added_by_id": null, "sandbox": true }
Attribute Required Data Type
id Yes int
name Yes text (100)
units Yes enum (credits, hours)
status Yes enum (active, retired, deleted)
refund_type Yes enum (none, prorated, custom)
refund_policy_id No int
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/tuitionschedules" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "tuition_schedule", "id": 1, "name": "Cool Kids Plan", "units": "hours", "status": "active", "refund_type": "prorated", "refund_policy_id": null, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all TuitionSchedule objects.

HTTP Request

GET /tuitionschedules

Parameters

None

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/tuitionschedules/(tuitionschedule)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "tuition_schedule", "id": 1, "name": "Cool Kids Plan", "units": "hours", "status": "active", "refund_type": "prorated", "refund_policy_id": null, "added_at": null, "added_by_id": null, "sandbox": true }

Retrieves a specific TuitionSchedule object.

HTTP Request

GET /tuitionschedules/(tuitionschedule)

Parameters

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

Expandable Properties

Permissions

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

TuitionScheduleStudent

The TuitionScheduleStudent object

The TuitionScheduleStudent object looks like this in JSON:

Copy to Clipboard
{ "object": "tuition_schedule_student", "id": 1, "academic_term_id": 1, "student_id": 13, "schedule_id": 1, "bracket_id": 0, "adjustment": 0, "sandbox": true }
Attribute Required Data Type
id Yes int
academic_term_id Yes int
student_id Yes int
schedule_id Yes int
bracket_id Yes int
adjustment Yes decimal
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/tuitionschedules" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "tuition_schedule_student", "id": 3, "academic_term_id": 4, "student_id": 12, "schedule_id": 1, "bracket_id": 0, "adjustment": 0, "tuition_schedule": { "object": "tuition_schedule", "id": 1, "name": "Cool Kids Plan", "units": "hours", "status": "active", "refund_type": "prorated", "refund_policy_id": null, "added_at": null, "added_by_id": null }, "tuition_schedule_bracket": null } ], "sandbox": true }

Retrieves all TuitionScheduleStudent objects tied to a specific Person.

HTTP Request

GET /people/(person)/tuitionschedules

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/tuitionschedules" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST -d '{ "academic_term_id": 8, "tuition_schedule_id": 1 }' \

Example response:

Copy to Clipboard
{ "object": "tuition_schedule_student", "id": 4, "academic_term_id": 8, "student_id": 12, "schedule_id": 1, "bracket_id": 0, "adjustment": 0, "tuition_schedule": { "object": "tuition_schedule", "id": 1, "name": "Cool Kids Plan", "units": "hours", "status": "active", "refund_type": "prorated", "refund_policy_id": null, "added_at": null, "added_by_id": null }, "tuition_schedule_bracket": null, "sandbox": true }

Creates a new TuitionScheduleStudent object.

HTTP Request

POST /people/(person)/tuitionschedules

Parameters

Name Required Data Type Description
academic_term_id Yes int
tuition_schedule_id Yes int
tuition_schedule_bracket_id No int

Permissions

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

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/tuitionschedules/(tuitionschedulestudent)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "tuition_schedule_student", "id": 1, "academic_term_id": 1, "student_id": 13, "schedule_id": 1, "bracket_id": 0, "adjustment": 0, "tuition_schedule": { "object": "tuition_schedule", "id": 1, "name": "Cool Kids Plan", "units": "hours", "status": "active", "refund_type": "prorated", "refund_policy_id": null, "added_at": null, "added_by_id": null }, "tuition_schedule_bracket": null, "sandbox": true }

Retrieves a specific TuitionScheduleStudent object.

HTTP Request

GET /people/(person)/tuitionschedules/(tuitionschedulestudent)

Parameters

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

Permissions

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

update

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/tuitionschedules/(tuitionschedulestudent)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X PUT

Example response:

Copy to Clipboard
{ "object": "tuition_schedule_student", "id": 1, "academic_term_id": 1, "student_id": 13, "schedule_id": 1, "bracket_id": 0, "adjustment": 0, "tuition_schedule": { "object": "tuition_schedule", "id": 1, "name": "Cool Kids Plan", "units": "hours", "status": "active", "refund_type": "prorated", "refund_policy_id": null, "added_at": null, "added_by_id": null }, "tuition_schedule_bracket": null, "sandbox": true }

Updates an existing TuitionScheduleStudent object.

HTTP Request

PUT /people/(person)/tuitionschedules/(tuitionschedulestudent)

Parameters

Name Required Data Type Description
tuition_schedule_bracket_id No int

Permissions

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

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/tuitionschedules/(tuitionschedulestudent)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "tuition_schedule_student", "id": 1, "deleted": true }

Deletes an existing TuitionScheduleStudent object.

HTTP Request

DELETE /people/(person)/tuitionschedules/(tuitionschedulestudent)

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:

User

The User object

The User object looks like this in JSON:

Copy to Clipboard
{ "object": "user", "id": 16, "username": "academic.admin", "organization_domain_id": null, "is_active": true, "blocked_reason": "", "last_activity_at": null, "login_type": "ALL", "sandbox": true }
Attribute Required Data Type
id Yes int
username Yes text (100)
organization_domain_id No int
is_active Yes bool
blocked_reason No text (500)
last_activity_at No datetime
login_type Yes enum (all, populi, sso)
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/users" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 16, "results": 16, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "user", "id": 16, "username": "academic.admin", "organization_domain_id": null, "is_active": true, "blocked_reason": "", "last_activity_at": null, "login_type": "ALL" } ], "sandbox": true }

Retrieves all User objects.

HTTP Request

GET /users

Parameters

None

Permissions

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

create

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/users/(person)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST

Example response:

Copy to Clipboard
{ "object": "user", "id": 23, "username": "bsmith24", "organization_domain_id": null, "is_active": true, "blocked_reason": null, "last_activity_at": null, "login_type": "ALL", "sandbox": true }

Creates a new User object.

HTTP Request

POST /users/(person)

Parameters

Name Required Data Type Description
username No text (100)
organization_domain_id No int
login_type No enum (all, populi, sso) Only used when SSO is enabled. Defaults to 'sso' when SSO is enabled. When SSO is not enabled the value will be 'all'.

Action Parameters

Name Data Type Description
send_welcome_email Default is false

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/users/(user)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "user", "id": 16, "username": "academic.admin", "organization_domain_id": null, "is_active": true, "blocked_reason": "", "last_activity_at": null, "login_type": "ALL", "sandbox": true }

Retrieves a specific User object.

HTTP Request

GET /users/(user)

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:

delete

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/users/(user)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X DELETE

Example response:

Copy to Clipboard
{ "object": "user", "id": 24, "deleted": true }

Deletes an existing User object.

HTTP Request

DELETE /users/(user)

Parameters

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

block

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/users/(user)/block" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST

Example response:

Copy to Clipboard
{ "object": "user", "id": 21, "username": "deleteme1", "organization_domain_id": null, "is_active": false, "blocked_reason": "", "last_activity_at": null, "login_type": "ALL", "sandbox": true }

HTTP Request

POST /users/(user)/block

Parameters

Name Required Data Type Description
blocked_reason No text (500)

enable_external_email_account

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/users/(user)/enable_external_email_account" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET -d '{ "make_system_email_primary_email": true }' \

Example response:

Copy to Clipboard
{}

If your school is using the Google integration, this will trigger a matching system email account to be created on the Google side for a User that does not have one yet. This call will begin the operation in the backround, but it typically takes 1-2 minutes for the new Google account to show up.

HTTP Request

GET /users/(user)/enable_external_email_account

Parameters

Name Required Data Type Description
make_system_email_primary_email Yes

unblock

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/users/(user)/unblock" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X POST

Example response:

Copy to Clipboard
{ "object": "user", "id": 21, "username": "deleteme1", "organization_domain_id": null, "is_active": true, "blocked_reason": "", "last_activity_at": null, "login_type": "ALL", "sandbox": true }

HTTP Request

POST /users/(user)/unblock

Parameters

None

Violation

The Violation object

The Violation object looks like this in JSON:

Copy to Clipboard
{ "object": "violation", "id": 2, "name": "Dorm Room After Hours Noise", "description": "Cited for excessive noise after 10:00 PM on a weekday. ", "fee_id": null, "email_notification": false, "added_at": "2020-02-13T00:27:34+00:00", "added_by_id": 1, "sandbox": true }
Attribute Required Data Type
id Yes int
name Yes text (200)
description No text
fee_id No int
email_notification Yes bool
added_at No datetime
added_by_id No int
sandbox No --

index

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/violations" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "violation", "id": 2, "name": "Dorm Room After Hours Noise", "description": "Cited for excessive noise after 10:00 PM on a weekday. ", "fee_id": null, "email_notification": false, "added_at": "2020-02-13T00:27:34+00:00", "added_by_id": 1 } ], "sandbox": true }

Retrieves all Violation objects.

HTTP Request

GET /violations

Parameters

None

show

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/violations/(violation)" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "violation", "id": 2, "name": "Dorm Room After Hours Noise", "description": "Cited for excessive noise after 10:00 PM on a weekday. ", "fee_id": null, "email_notification": false, "added_at": "2020-02-13T00:27:34+00:00", "added_by_id": 1, "sandbox": true }

Retrieves a specific Violation object.

HTTP Request

GET /violations/(violation)

Parameters

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

Website

The Website object

The Website object looks like this in JSON:

Copy to Clipboard
{ "object": "website", "id": 2179, "owner_id": 2, "owner_type": "person", "website": "http:\/\/coolschool.populiweb.com", "primary": true, "old": false, "public": true, "synced_from": 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, organization)
website Yes text (2100)
primary Yes bool
old Yes bool
public Yes bool
synced_from Yes int
added_at No datetime
added_by_id No int
sandbox No --

index (organization)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/organizations/(organization)/websites" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "website", "id": 3002, "owner_id": 1, "owner_type": "organization", "website": "http:\/\/coolschool.populiweb.com", "primary": true, "old": false, "public": true, "synced_from": null, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all Website objects tied to a specific Organization.

HTTP Request

GET /organizations/(organization)/websites

Parameters

None

Permissions

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

index (person)

Example code to call this method:

Copy to Clipboard
curl "https://yourschool.populiweb.com/api2/people/(person)/websites" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_POPULI_API_KEY" \ -X GET

Example response:

Copy to Clipboard
{ "object": "list", "count": 1, "results": 1, "results_per_page": null, "pages": 1, "page": 1, "offset": 0, "has_more": false, "data": [ { "object": "website", "id": 3001, "owner_id": 12, "owner_type": "person", "website": "http:\/\/coolschool.populiweb.com", "primary": true, "old": false, "public": true, "synced_from": null, "added_at": null, "added_by_id": null } ], "sandbox": true }

Retrieves all Website objects tied to a specific Person.

HTTP Request

GET /people/(person)/websites

Parameters

None

Permissions

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