Application
The Application object
The Application object looks like this in JSON:
{
"object": "application",
"id": 1,
"cloned_from_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": null,
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "in_progress",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"letter_printed_at": null,
"letter_printed_by_id": null,
"prospect_activity_at": null,
"staff_activity_at": null,
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"sandbox": true
}
| Attribute | Required | Data Type |
|---|---|---|
| id | Yes | int |
| cloned_from_id | No | int |
| person_id | No | int |
| lead_id | No | int |
| first_name | No | text (50) |
| middle_name | No | text (50) |
| last_name | No | text (50) |
| No | text (100) | |
| phone | No | text (45) |
| address_id | No | int |
| application_template_id | No | int |
| form_version_id | No | int |
| counselor_id | No | int |
| program_id | No | int |
| degree_seeking | Yes | bool |
| degree_id | No | int |
| specialization_id | No | int |
| academic_term_id | No | int |
| campus_id | No | int |
| lead_source_id | No | int |
| started_on | No | date |
| submitted_at | No | datetime |
| pending_decision_on | No | date |
| decision_on | No | date |
| confirmed_on | No | date |
| withdrawn_on | No | date |
| expected_enrollment | Yes | enum (full_time, half_time, less_than_half_time) |
| status | Yes | enum (in_progress, submitted, pending_decision, accepted, declined, withdrawn, deferred, waitlisted, deleted) |
| provisional | Yes | bool |
| provisional_note | No | text |
| hs_grad_date | No | date |
| fee_status | Yes | enum (unpaid, paid, waived) |
| fee_id | No | int |
| fee_amount | No | decimal |
| fee_discount | No | decimal |
| fee_payment | Yes | enum (before_start, before_submit) |
| sales_receipt_id | No | int |
| letter_printed_at | No | datetime |
| letter_printed_by_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 | bool |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"program","value":"NONE","positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/applications',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/applications',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/applications"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/applications');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 5,
"results": 5,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "application",
"id": 1,
"cloned_from_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": null,
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "in_progress",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"letter_printed_at": null,
"letter_printed_by_id": null,
"prospect_activity_at": null,
"staff_activity_at": null,
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"person_first_name": "Homestar",
"person_preferred_name": null,
"person_last_name": "Runner",
"application_template_name": "Test v3",
"program_name": "Undergraduate",
"academic_term_display_name": "2006-2007: Fall 2006",
"lead_source_full_name": null,
"counselor_name": null,
"counselor_first_name": null,
"counselor_last_name": null,
"owner_type": "application",
"has_aid_application": 0,
"campus_name": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9"
}
],
"sandbox": true
}
Retrieves all Application objects that match given filter conditions.
HTTP Request
GET /applications
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| filter | No | mixed | See available filter conditions |
| page | No | int | The page of results to return if more than 200 records are found. |
Expandable Properties
- application_form
- form_version
- answers
- person
- program
- degree
- specialization
- academic_term
- campus
- representative
- email_address
- address
- lead_source
- lead
- notes
- questions
Filter Condition Parameters
These conditions can be used to narrow the results returned.
| Name | Type |
|---|---|
| first_name | text |
| last_name | text |
| gender | enum (male, female, unknown, other) |
| application_form | object id |
| discount_code | object id |
| source | leadsource |
| lead_source | leadsource |
| program | object id |
| degree | object id |
| specialization | specialization |
| academic_term | object_id |
| academic_term_type | academic_term_type |
| campus | object id |
| counselor | admissions_counselor |
| status | enum |
| provisional | bool |
| active_questions | integer |
| applicant_activity | date_time |
| percent_completed | integer |
| linked_to_person | bool |
| has_aid_application | bool |
| expected_enrollment | choice |
| fee_status | enum |
| started_on | date |
| submitted_at | date_time |
| staff_activity | date_time |
| pending_decision_on | date |
| decision_date | date |
| withdrawn_date | date |
| address_city | text |
| address_state | state |
| address_zip | alphanumeric |
| address_country | country |
| tag | tag |
| custom_field | custom |
| has_active_student_role | enum (yes, no) |
Permissions
One of the following roles is required to call this method:
- Admissions Auditor
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
index (by person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/applications" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/people/(person)/applications',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/applications',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/applications"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/applications');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 2,
"results": 2,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "application",
"id": 4,
"cloned_from_id": null,
"person_id": 12,
"lead_id": null,
"first_name": "Taylor",
"middle_name": "",
"last_name": "Forest",
"email": "icecream@nowhere.co",
"phone": "333-555-6666",
"address_id": "801",
"application_template_id": 1,
"form_version_id": null,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": 1,
"specialization_id": 1,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": "2013-04-19T00:00:00+00:00",
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "submitted",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"letter_printed_at": null,
"letter_printed_by_id": null,
"prospect_activity_at": "2013-05-19T21:22:19+00:00",
"staff_activity_at": null,
"percent_complete": 100,
"active_questions": 1,
"localization_id": null,
"added_at": null,
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9"
}
],
"sandbox": true
}
Retrieves all Application objects tied to a specific Person.
HTTP Request
GET /people/(person)/applications
Parameters
None
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
- Academic Auditor
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"application_template_id": 2,
"first_name": "Darrin",
"last_name": "Walker",
"email": "dwalker88@somewhere.net",
"phone": "208-555-4321",
"started_on": "2022-08-25",
"address": "{\"street\":\"555 Maple Street\",\"city\":\"Dallas\",\"state\":\"TX\",\"postal\":\"55123\",\"country\":\"US\"}"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/applications',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:application_template_id => 2,
:started_on => '2022-08-25'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/applications',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
json={
'application_template_id': 2,
'started_on': '2022-08-25'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/applications"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
application_template_id = 2,
started_on = "2022-08-25"
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/applications');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'application_template_id' => 2,
'started_on' => '2022-08-25'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "application",
"id": 6,
"cloned_from_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Darrin",
"middle_name": null,
"last_name": "Walker",
"email": "dwalker88@somewhere.net",
"phone": "(208) 555-4321",
"address_id": 804,
"application_template_id": 2,
"form_version_id": 4,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2022-08-25",
"submitted_at": null,
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "in_progress",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": 75,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"letter_printed_at": null,
"letter_printed_by_id": null,
"prospect_activity_at": null,
"staff_activity_at": null,
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"address": {
"object": "address",
"id": 804,
"owner_id": 6,
"owner_type": "application",
"street": "555 Maple Street",
"city": "Dallas",
"state": "TX",
"postal": "55123",
"country": "US",
"type": "home",
"primary": true,
"most_recent_by_type": true,
"old": false,
"public": false,
"synced_from": null,
"import_id": null,
"added_at": "2026-07-25T16:24:07+00:00",
"added_by_id": 22
},
"added_at": "2026-07-25T16:24:07+00:00",
"added_by_id": 22,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"sandbox": true
}
Creates a new Application object.
HTTP Request
POST /applications
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| application_template_id | Yes | int | |
| first_name | No | text (50) | |
| middle_name | No | text (50) | |
| last_name | No | text (50) | |
| No | text (100) | ||
| phone | No | text (45) | |
| started_on | Yes | date | |
| person_id | No | int | |
| lead_id | No | int | |
| representative_id | No | int | |
| degree_seeking | No | bool | |
| program_id | No | int | |
| degree_id | No | int | |
| specialization_id | No | int | |
| academic_term_id | No | int | |
| campus_id | No | int | |
| lead_source_id | No | int | |
| expected_enrollment | No | enum (full_time, half_time, less_than_half_time) | |
| fee_status | No | enum (unpaid, paid, waived) | |
| address | No | address |
Action Parameters
| Name | Data Type | Description |
|---|---|---|
| email_applicant | bool | Send the applicant an email link to the newly created application. |
| update_lead_status | bool | If the application is tied to a Lead, update it's status and program information. |
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications/(application)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/applications/(application)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/applications/(application)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/applications/(application)"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/applications/(application)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "application",
"id": 1,
"cloned_from_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": null,
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "in_progress",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"letter_printed_at": null,
"letter_printed_by_id": null,
"prospect_activity_at": null,
"staff_activity_at": null,
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"sandbox": true
}
Retrieves a specific Application object. To include field definitions, use the expandable property form_version. To include the values of submitted answers to fields, use the expandable property answers.
HTTP Request
GET /applications/(application)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- application_form
- form_version
- answers
- person
- program
- degree
- specialization
- academic_term
- campus
- representative
- email_address
- address
- lead_source
- lead
- notes
- questions
Permissions
One of the following roles is required to call this method:
- Admissions Auditor
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications/(application)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"status": "in_progress"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/applications/(application)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:status => 'in_progress'
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/applications/(application)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
json={
'status': 'in_progress'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/applications/(application)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
status = "in_progress"
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/applications/(application)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'status' => 'in_progress'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "application",
"id": 1,
"cloned_from_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": null,
"pending_decision_on": null,
"decision_on": null,
"confirmed_on": null,
"withdrawn_on": null,
"expected_enrollment": "full_time",
"status": "in_progress",
"provisional": false,
"provisional_note": null,
"hs_grad_date": null,
"fee_status": "unpaid",
"fee_id": null,
"fee_amount": null,
"fee_discount": null,
"fee_payment": "before_start",
"sales_receipt_id": null,
"letter_printed_at": null,
"letter_printed_by_id": null,
"prospect_activity_at": null,
"staff_activity_at": "2026-07-25T16:24:07+00:00",
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"address": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"sandbox": true
}
Updates an existing Application object.
HTTP Request
PUT /applications/(application)
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| status | Yes | enum (in_progress, submitted, pending_decision, accepted, declined, withdrawn, deferred, waitlisted, deleted) | |
| fee_status | No | enum (unpaid, paid, waived) | |
| provisional | No | bool | |
| provisional_note | No | text |
Action Parameters
| Name | Data Type | Description |
|---|---|---|
| import_course_of_study | ||
| add_student_role |
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
delete
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications/(application)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X DELETE
require 'httparty'
response = HTTParty.delete(
'https://yourschool.populiweb.com/api2/applications/(application)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/applications/(application)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/applications/(application)"), Method.Delete);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/applications/(application)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "application",
"id": 1,
"deleted": true
}
Deletes an existing Application object.
HTTP Request
DELETE /applications/(application)
Parameters
No additional parameters are needed beyond the ID of the object to delete that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
fields
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications/(application)/fields" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/applications/(application)/fields',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/applications/(application)/fields',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/applications/(application)/fields"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/applications/(application)/fields');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 49,
"results": 49,
"results_per_page": null,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": {
"object": "application",
"id": 1,
"cloned_from_id": null,
"person_id": 2,
"lead_id": 7,
"first_name": "Charles",
"middle_name": "",
"last_name": "Fulton",
"email": "charlesf@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": "2026-07-25T16:24:07+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,
"letter_printed_at": null,
"letter_printed_by_id": null,
"prospect_activity_at": null,
"staff_activity_at": "2026-07-25T16:24:08+00:00",
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"pages": [
{
"object": "form_version_page",
"id": 1,
"form_version_id": 2,
"derived_from_id": null,
"name": null,
"order_id": 1,
"added_at": null,
"added_by_id": null,
"fields": [
{
"object": "form_field",
"id": 1,
"reporting_id": 1,
"name": "Short Answer",
"description": null,
"input_type": "short_answer",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null
},
{
"object": "form_field",
"id": 2,
"reporting_id": 2,
"name": "Long Answer",
"description": null,
"input_type": "long_answer",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null
},
{
"object": "form_field",
"id": 3,
"reporting_id": 3,
"name": "Boolean",
"description": null,
"input_type": "boolean",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null
},
{
"object": "form_field",
"id": 7,
"reporting_id": 7,
"name": "Ref",
"description": null,
"input_type": "model",
"model_type": "online_reference_template",
"model_id": 4,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null
}
]
}
]
}
}
HTTP Request
GET /applications/(application)/fields
Parameters
None
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
link_to_person
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications/(application)/link_to_person" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"person_id": 2
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/applications/(application)/link_to_person',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:person_id => 2
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/applications/(application)/link_to_person',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
json={
'person_id': 2
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/applications/(application)/link_to_person"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
person_id = 2
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/applications/(application)/link_to_person');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'person_id' => 2
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "application",
"id": 1,
"cloned_from_id": null,
"person_id": 2,
"lead_id": 7,
"first_name": "Charles",
"middle_name": "",
"last_name": "Fulton",
"email": "charlesf@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": "2026-07-25T16:24:07+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,
"letter_printed_at": null,
"letter_printed_by_id": null,
"prospect_activity_at": null,
"staff_activity_at": "2026-07-25T16:24:08+00:00",
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"sandbox": true
}
HTTP Request
GET /applications/(application)/link_to_person
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| person_id | Yes | int |
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
submit
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications/(application)/submit" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/applications/(application)/submit',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/applications/(application)/submit',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/applications/(application)/submit"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/applications/(application)/submit');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "application",
"id": 1,
"cloned_from_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": "2026-07-25T16:24:07+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,
"letter_printed_at": null,
"letter_printed_by_id": null,
"prospect_activity_at": null,
"staff_activity_at": "2026-07-25T16:24:07+00:00",
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"sandbox": true
}
HTTP Request
GET /applications/(application)/submit
Parameters
None
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
unlink_person
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/applications/(application)/unlink_person" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/applications/(application)/unlink_person',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/applications/(application)/unlink_person',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/applications/(application)/unlink_person"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/applications/(application)/unlink_person');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "application",
"id": 1,
"cloned_from_id": null,
"person_id": null,
"lead_id": null,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": null,
"address_id": null,
"application_template_id": 3,
"form_version_id": 2,
"counselor_id": null,
"program_id": 1,
"degree_seeking": true,
"degree_id": null,
"specialization_id": null,
"academic_term_id": 1,
"campus_id": null,
"lead_source_id": null,
"started_on": "2013-03-19",
"submitted_at": "2026-07-25T16:24:07+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,
"letter_printed_at": null,
"letter_printed_by_id": null,
"prospect_activity_at": null,
"staff_activity_at": "2026-07-25T16:24:07+00:00",
"percent_complete": 0,
"active_questions": null,
"localization_id": null,
"added_at": "2013-03-19T21:20:18+00:00",
"added_by_id": null,
"applicant_url": "https:\/\/yourschool.populiweb.com\/router\/admissions\/onlineapplications\/show\/g64c8ee3f6da7a2293a0f77a7a697b178cc281eaf34e1c8ac6c5b784920d90c6944c03ac9ff54c31fc4b06ac3952ebc36969975080cc106f69f060ccb76abb9",
"sandbox": true
}
HTTP Request
GET /applications/(application)/unlink_person
Parameters
None
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar
show_online_reference
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/onlinereferences/(onlinereference)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"expand": [
"form_version",
"answers"
]
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/onlinereferences/(onlinereference)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:expand => ['form_version', 'answers']
}.to_json
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/onlinereferences/(onlinereference)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
json={
'expand': ['form_version', 'answers']
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/onlinereferences/(onlinereference)"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
expand = new List<string> {"form_version", "answers"}
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/onlinereferences/(onlinereference)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'expand' => ['form_version', 'answers']
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "online_reference",
"id": 5,
"first_name": "Homestar",
"middle_name": null,
"last_name": "Runner",
"email": "homestar@populi.co",
"phone": "(555) 555-8585",
"online_reference_form_id": 1,
"form_version_id": 5,
"submitted_at": "2013-04-19T00:00:00+00:00",
"status": "submitted",
"letter_printed_at": null,
"letter_printed_by_id": null,
"form_version": {
"object": "form_version",
"id": 5,
"owner_type": "online_reference_template",
"owner_id": 4,
"added_at": null,
"added_by_id": null,
"sections": [
{
"object": "form_field",
"id": 16,
"reporting_id": 16,
"name": "Your name",
"description": null,
"input_type": "name",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null,
"is_required": true,
"page_order_id": 1,
"order_id": 1,
"hidden": false
},
{
"object": "form_field",
"id": 17,
"reporting_id": 17,
"name": "Your phone number",
"description": null,
"input_type": "phone",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null,
"is_required": true,
"page_order_id": 1,
"order_id": 2,
"hidden": false
},
{
"object": "form_field",
"id": 18,
"reporting_id": 18,
"name": "Reference",
"description": null,
"input_type": "long_answer",
"model_type": null,
"model_id": null,
"min": null,
"max": null,
"added_at": null,
"added_by_id": null,
"is_required": true,
"page_order_id": 1,
"order_id": 3,
"hidden": false
}
]
},
"answers": [
{
"object": "form_field_answer",
"id": 5,
"owner_type": "online_reference",
"owner_id": 5,
"form_field_id": 16,
"subfield": "first_name",
"text_value": "Homestar",
"integer_value": null,
"decimal_value": null,
"date_value": null,
"datetime_value": null,
"email_value": null,
"ip": null,
"added_at": null
},
{
"object": "form_field_answer",
"id": 6,
"owner_type": "online_reference",
"owner_id": 5,
"form_field_id": 16,
"subfield": "last_name",
"text_value": "Runner",
"integer_value": null,
"decimal_value": null,
"date_value": null,
"datetime_value": null,
"email_value": null,
"ip": null,
"added_at": null
},
{
"object": "form_field_answer",
"id": 7,
"owner_type": "online_reference",
"owner_id": 5,
"form_field_id": 17,
"subfield": "phone",
"text_value": "(555) 555-8585",
"integer_value": null,
"decimal_value": null,
"date_value": null,
"datetime_value": null,
"email_value": null,
"ip": null,
"added_at": null
},
{
"object": "form_field_answer",
"id": 8,
"owner_type": "online_reference",
"owner_id": 5,
"form_field_id": 18,
"subfield": null,
"text_value": "Answer text...",
"integer_value": null,
"decimal_value": null,
"date_value": null,
"datetime_value": null,
"email_value": null,
"ip": null,
"added_at": null
}
],
"added_at": null,
"added_by_id": null,
"sandbox": true
}
HTTP Request
GET /onlinereferences/(onlinereference)
Parameters
None
Expandable Properties
- online_reference_form
- form_version
- answers
Permissions
One of the following roles is required to call this method:
- Admissions Admin
- Admissions
- Academic Admin
- Registrar