Organization
The Organization object
The Organization object looks like this in JSON:
{
"object": "organization",
"id": 1,
"name": "The Oxford School",
"image_file_id": null,
"industry_id": null,
"ceeb_code": null,
"notification_email_id": null,
"portal_secret": null,
"portal_secret_expires_at": null,
"info_changed_at": null,
"import_id": null,
"added_at": null,
"added_by_id": null,
"type": "College",
"sandbox": true
}
| Attribute | Required | Data Type |
|---|---|---|
| id | Yes | int |
| name | Yes | text (255) |
| image_file_id | No | int |
| industry_id | No | int |
| ceeb_code | No | int |
| notification_email_id | No | int |
| portal_secret | No | text (50) |
| portal_secret_expires_at | No | datetime |
| info_changed_at | No | datetime |
| import_id | No | int |
| added_at | No | datetime |
| added_by_id | No | int |
| type | No | text |
| sandbox | No | bool |
index
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
-d '{
"filter": {"0":{"logic":"ALL","fields":[{"name":"tag","value":{"display_text":"Blah","id":"123"},"positive":1}]}}
}' \
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/organizations',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/organizations',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/organizations"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/organizations');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "list",
"count": 4,
"results": 4,
"results_per_page": 200,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "organization",
"id": 4,
"name": "Art Academy",
"image_file_id": null,
"industry_id": null,
"ceeb_code": null,
"notification_email_id": null,
"portal_secret": null,
"portal_secret_expires_at": null,
"info_changed_at": null,
"import_id": 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,
"row_id": 4
},
"type": "College"
}
],
"sandbox": true
}
Retrieves all Organization objects that match given filter conditions.
HTTP Request
GET /organizations
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| filter | No | mixed | See available filter conditions |
| page | No | int | The page of results to return if more than 200 records are found. |
Expandable Properties
- tags
- members
- notes
- organization_type
- addresses
- phone_numbers
- email_addresses
- websites
Filter Condition Parameters
These conditions can be used to narrow the results returned.
| Name | Type |
|---|---|
| address | address |
| custom_field | custom |
| deleted | bool |
| has_profile_picture | bool |
| name | text |
| phone | phone |
| tag | tag |
| type | object id |
| website | website |
| members | integer |
| added_at | datetime |
| import | object id |
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Financial Auditor
- Admissions Auditor
- Staff
create
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"name": "Forest Academy"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/organizations',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:name => 'Forest Academy'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/organizations',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
json={
'name': 'Forest Academy'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/organizations"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
name = "Forest Academy"
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/organizations');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
'name' => 'Forest Academy'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "organization",
"id": 6,
"name": "Forest Academy",
"image_file_id": null,
"industry_id": null,
"ceeb_code": null,
"notification_email_id": null,
"portal_secret": null,
"portal_secret_expires_at": null,
"info_changed_at": null,
"import_id": null,
"added_at": "2026-07-25T16:24:08+00:00",
"added_by_id": 22,
"type": null,
"sandbox": true
}
Creates a new Organization object.
HTTP Request
POST /organizations
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| name | Yes | text (255) | |
| organization_type_id | No | int |
Permissions
One of the following roles is required to call this method:
- Staff
- Staff
show
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/organizations/(organization)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/organizations/(organization)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/organizations/(organization)"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/organizations/(organization)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "organization",
"id": 1,
"name": "The Oxford School",
"image_file_id": null,
"industry_id": null,
"ceeb_code": null,
"notification_email_id": null,
"portal_secret": null,
"portal_secret_expires_at": null,
"info_changed_at": null,
"import_id": null,
"added_at": null,
"added_by_id": null,
"type": "College",
"sandbox": true
}
Retrieves a specific Organization object.
HTTP Request
GET /organizations/(organization)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- tags
- members
- notes
- organization_type
- addresses
- phone_numbers
- email_addresses
- websites
Permissions
One of the following roles is required to call this method:
- Academic Auditor
- Financial Auditor
- Admissions Auditor
- Staff
update
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/organizations/(organization)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/organizations/(organization)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/organizations/(organization)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/organizations/(organization)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "organization",
"id": 1,
"name": "The Oxford School",
"image_file_id": null,
"industry_id": null,
"ceeb_code": null,
"notification_email_id": null,
"portal_secret": null,
"portal_secret_expires_at": null,
"info_changed_at": null,
"import_id": null,
"added_at": null,
"added_by_id": null,
"type": "College",
"sandbox": true
}
Updates an existing Organization object.
HTTP Request
PUT /organizations/(organization)
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| name | No | text (255) | |
| organization_type_id | No | int |
Permissions
One of the following roles is required to call this method:
- Staff
- Staff
delete
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/organizations/(organization)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X DELETE
require 'httparty'
response = HTTParty.delete(
'https://yourschool.populiweb.com/api2/organizations/(organization)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/organizations/(organization)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/organizations/(organization)"), Method.Delete);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/organizations/(organization)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "organization",
"id": 5,
"deleted": true
}
Deletes an existing Organization object.
HTTP Request
DELETE /organizations/(organization)
Parameters
No additional parameters are needed beyond the ID of the object to delete that appears in the URL.
Permissions
One of the following roles is required to call this method:
- Staff