NAV
shell ruby python csharp php

Inquiry

The Inquiry object

The Inquiry object looks like this in JSON:

{
    "object": "inquiry",
    "id": 1,
    "form_id": null,
    "form_version_id": null,
    "person_id": null,
    "lead_id": null,
    "first_name": "Homestar",
    "middle_name": null,
    "last_name": "Runner",
    "email": "homestar@populi.co",
    "phone": null,
    "address_id": null,
    "subject": "Email, scrollbuttons",
    "content": "Yeah!",
    "program_id": null,
    "degree_id": null,
    "specialization_id": null,
    "academic_term_id": null,
    "counselor_id": null,
    "status": "waiting_on_us",
    "closed_at": null,
    "closed_by_id": null,
    "lead_source_id": null,
    "localization_id": null,
    "added_on": "2013-03-15",
    "added_at": "2013-03-15T21:06:03+00:00",
    "added_by_id": null,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
form_id No int
form_version_id No int
person_id No int
lead_id No int
first_name No text (50)
middle_name No text (50)
last_name No text (50)
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 bool

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/inquiries" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "filter": {"0":{"logic":"ALL","fields":[{"name":"source","value":{"parent":"123","child":"456"},"positive":1}]}}
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/inquiries',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/inquiries',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/inquiries"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/inquiries');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "list",
    "count": 1,
    "results": 1,
    "results_per_page": 200,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "inquiry",
            "id": 1,
            "form_id": null,
            "form_version_id": null,
            "person_id": null,
            "lead_id": null,
            "first_name": "Homestar",
            "middle_name": null,
            "last_name": "Runner",
            "email": "homestar@populi.co",
            "phone": null,
            "address_id": null,
            "subject": "Email, scrollbuttons",
            "content": "Yeah!",
            "program_id": null,
            "degree_id": null,
            "specialization_id": null,
            "academic_term_id": null,
            "counselor_id": null,
            "status": "waiting_on_us",
            "closed_at": null,
            "closed_by_id": null,
            "lead_source_id": null,
            "localization_id": null,
            "added_on": "2013-03-15",
            "added_at": "2013-03-15T21:06:03+00:00",
            "added_by_id": null,
            "report_data": {
                "person_first_name": "Homestar",
                "person_preferred_name": null,
                "person_last_name": "Runner",
                "program_name": null,
                "degree_name": null,
                "specialization_name": null,
                "academic_term_display_name": null,
                "counselor_name": null,
                "counselor_first_name": null,
                "counselor_last_name": null,
                "lead_source_name": null,
                "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 enum (male, female, unknown, other)
counselor admissions_counselor
status enum
source leadsource
program object id
degree object id
specialization specialization
academic_term object_id
academic_term_type academic_term_type
added_on date
last_contacted date_time
verified bool
address_city text
address_state state
address_zip alphanumeric
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:

curl "https://yourschool.populiweb.com/api2/inquiries" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "first_name": "Samantha",
    "last_name": "Curry",
    "email": "samantha.c.2002@somewhere.edu",
    "address": "{\"street\":\"555 Maple Street\",\"city\":\"Dallas\",\"state\":\"TX\",\"postal\":\"55123\",\"country\":\"US\"}"
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/inquiries',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :first_name => 'Samantha',
  :last_name => 'Curry',
  :email => 'samantha.c.2002@somewhere.edu'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/inquiries',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'first_name': 'Samantha',
  'last_name': 'Curry',
  'email': 'samantha.c.2002@somewhere.edu'
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/inquiries"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  first_name = "Samantha",
  last_name = "Curry",
  email = "samantha.c.2002@somewhere.edu"
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/inquiries');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'first_name' => 'Samantha',
  'last_name' => 'Curry',
  'email' => 'samantha.c.2002@somewhere.edu'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "inquiry",
    "id": 10,
    "form_id": null,
    "form_version_id": null,
    "person_id": null,
    "lead_id": null,
    "first_name": "Samantha",
    "middle_name": null,
    "last_name": "Curry",
    "email": "samantha.c.2002@somewhere.edu",
    "phone": null,
    "address_id": 803,
    "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": "2026-07-25",
    "added_at": "2026-07-25T16:24:06+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)
comment No text

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:

curl "https://yourschool.populiweb.com/api2/inquiries/(inquiry)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/inquiries/(inquiry)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/inquiries/(inquiry)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/inquiries/(inquiry)"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/inquiries/(inquiry)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "inquiry",
    "id": 1,
    "form_id": null,
    "form_version_id": null,
    "person_id": null,
    "lead_id": null,
    "first_name": "Homestar",
    "middle_name": null,
    "last_name": "Runner",
    "email": "homestar@populi.co",
    "phone": null,
    "address_id": null,
    "subject": "Email, scrollbuttons",
    "content": "Yeah!",
    "program_id": null,
    "degree_id": null,
    "specialization_id": null,
    "academic_term_id": null,
    "counselor_id": null,
    "status": "waiting_on_us",
    "closed_at": null,
    "closed_by_id": null,
    "lead_source_id": null,
    "localization_id": null,
    "added_on": "2013-03-15",
    "added_at": "2013-03-15T21:06:03+00:00",
    "added_by_id": null,
    "sandbox": true
}

Retrieves a specific Inquiry object.

HTTP Request

GET /inquiries/(inquiry)

Parameters

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

Expandable Properties

Permissions

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

update

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/inquiries/(inquiry)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
-d '{
    "first_name": "Ben",
    "last_name": "Ford",
    "email": "bford@gmail2.edu",
    "address": "{\"street\":\"555 Maple Street\",\"city\":\"Dallas\",\"state\":\"TX\",\"postal\":\"55123\",\"country\":\"US\"}"
}' \ 
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/inquiries/(inquiry)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :first_name => 'Ben',
  :last_name => 'Ford',
  :email => 'bford@gmail2.edu'
 }.to_json
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/inquiries/(inquiry)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'first_name': 'Ben',
  'last_name': 'Ford',
  'email': 'bford@gmail2.edu'
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/inquiries/(inquiry)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  first_name = "Ben",
  last_name = "Ford",
  email = "bford@gmail2.edu"
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/inquiries/(inquiry)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'first_name' => 'Ben',
  'last_name' => 'Ford',
  'email' => 'bford@gmail2.edu'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "inquiry",
    "id": 1,
    "form_id": null,
    "form_version_id": null,
    "person_id": null,
    "lead_id": null,
    "first_name": "Ben",
    "middle_name": null,
    "last_name": "Ford",
    "email": "bford@gmail2.edu",
    "phone": null,
    "address_id": null,
    "subject": "Email, scrollbuttons",
    "content": "Yeah!",
    "program_id": null,
    "degree_id": null,
    "specialization_id": null,
    "academic_term_id": null,
    "counselor_id": null,
    "status": "waiting_on_us",
    "closed_at": null,
    "closed_by_id": null,
    "lead_source_id": null,
    "localization_id": null,
    "added_on": "2013-03-15",
    "address": null,
    "added_at": "2013-03-15T21:06:03+00:00",
    "added_by_id": null,
    "sandbox": true
}

Updates an existing Inquiry object. Once an inquiry is linked to a Person, name and contact information fields cannot be updated using this route. Update the related Person instead.

HTTP Request

PUT /inquiries/(inquiry)

Parameters

Name Required Data Type Description
first_name Yes text (50)
middle_name No text (50)
last_name Yes text (50)
phone No text (45)
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:

curl "https://yourschool.populiweb.com/api2/inquiries/(inquiry)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/inquiries/(inquiry)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/inquiries/(inquiry)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/inquiries/(inquiry)"), Method.Delete);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/inquiries/(inquiry)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "inquiry",
    "id": 1,
    "deleted": true
}

Deletes an existing Inquiry object.

HTTP Request

DELETE /inquiries/(inquiry)

Parameters

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

Permissions

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

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/inquiries/(inquiry)/link_to_person" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "person_id": 2
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/inquiries/(inquiry)/link_to_person',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :person_id => 2
 }.to_json
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/inquiries/(inquiry)/link_to_person',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'person_id': 2
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/inquiries/(inquiry)/link_to_person"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  person_id = 2
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/inquiries/(inquiry)/link_to_person');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'person_id' => 2
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "inquiry",
    "id": 1,
    "form_id": null,
    "form_version_id": null,
    "person_id": 2,
    "lead_id": 2,
    "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: