NAV
shell ruby python csharp php

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

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
address address
custom_field custom
deleted bool
email email
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:

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:

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

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

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: