NAV
shell ruby python csharp php

Note

The Note object

The Note object looks like this in JSON:

{
    "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 bool

index (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/notes" \
-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)/notes',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/notes',
 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)/notes"), 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)/notes');
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": 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

index (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/notes" \
-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)/notes',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/notes',
 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)/notes"), 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)/notes');
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": 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 (organization)

Example code to call this method:

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]"
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/notes',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :note => 'blah blah',
  :visibility_role_ids => '[7, 13, 14]'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/notes',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'note': 'blah blah',
  'visibility_role_ids': '[7, 13, 14]'
 }
)
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)/notes"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  note = "blah blah",
  visibility_role_ids = "[7, 13, 14]"
});
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)/notes');
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([
  'note' => 'blah blah',
  'visibility_role_ids' => '[7, 13, 14]'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

"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.

create (person)

Example code to call this method:

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]"
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/people/(person)/notes',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :note => 'blah blah'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/people/(person)/notes',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'note': 'blah blah'
 }
)
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)/notes"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  note = "blah blah"
});
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)/notes');
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([
  'note' => 'blah blah'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "note",
    "id": 17,
    "owner_type": "person",
    "owner_id": 12,
    "content": "blah blah",
    "hidden": false,
    "added_at": "2026-07-25T16:24:05+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.