Post
The Post object
The Post object looks like this in JSON:
{
"object": "post",
"id": 6,
"content": "Career fair this Saturday!",
"owner_type": "person",
"owner_id": null,
"added_by_instructor": false,
"edited_at": null,
"edited_post_id": null,
"file_id": null,
"added_at": "2020-04-15T18:36:01+00:00",
"added_by_id": 1,
"sandbox": true
}
| Attribute | Required | Data Type |
|---|---|---|
| id | Yes | int |
| content | Yes | text |
| owner_type | Yes | enum (person, course, group) |
| owner_id | Yes | int |
| added_by_instructor | Yes | bool |
| edited_at | No | datetime |
| edited_post_id | Yes | int |
| file_id | No | int |
| added_at | Yes | datetime |
| added_by_id | No | int |
| sandbox | No | bool |
index (courseoffering)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts',
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/courseofferings/(courseoffering)/posts"), 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/courseofferings/(courseoffering)/posts');
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": 100,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "post",
"id": 7,
"content": "What are you thoughts on the latest reading?",
"owner_type": "course",
"owner_id": 21908,
"added_by_instructor": true,
"edited_at": null,
"edited_post_id": null,
"file_id": null,
"author_name": "API Dude",
"author_initials": "AD",
"author_image_file_id": null,
"num_likes": 0,
"num_comments": 1,
"added_at": "2022-04-15T18:36:01+00:00",
"added_by_id": 22
}
],
"sandbox": true
}
Retrieves all Post objects tied to a specific Courseoffering.
HTTP Request
GET /courseofferings/(courseoffering)/posts
Parameters
None
index (group)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/groups/(group)/posts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/groups/(group)/posts',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/groups/(group)/posts',
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/groups/(group)/posts"), 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/groups/(group)/posts');
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": 100,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "post",
"id": 8,
"content": "Anyone have ideas for movie night?",
"owner_type": "group",
"owner_id": 1,
"added_by_instructor": false,
"edited_at": null,
"edited_post_id": null,
"file_id": null,
"author_name": "API Dude",
"author_initials": "AD",
"author_image_file_id": null,
"num_likes": 0,
"num_comments": 0,
"added_at": "2022-04-15T18:36:01+00:00",
"added_by_id": 22
}
],
"sandbox": true
}
Retrieves all Post objects tied to a specific Group.
HTTP Request
GET /groups/(group)/posts
Parameters
None
index (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/posts" \
-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)/posts',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/posts',
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)/posts"), 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)/posts');
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": 100,
"pages": 1,
"page": 1,
"offset": 0,
"has_more": false,
"data": [
{
"object": "post",
"id": 10,
"content": "Second recruiting call. Sounded positive.",
"owner_type": "person",
"owner_id": 12,
"added_by_instructor": false,
"edited_at": null,
"edited_post_id": null,
"file_id": null,
"author_name": "Abby Admin",
"author_initials": "AA",
"author_image_file_id": null,
"num_likes": 0,
"num_comments": 0,
"added_at": "2022-05-15T18:36:01+00:00",
"added_by_id": 16
}
],
"sandbox": true
}
Retrieves all Post objects tied to a specific Person.
HTTP Request
GET /people/(person)/posts
Parameters
None
create (courseoffering)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X POST
-d '{
"content": "What is your favorite flavor of soda?"
}' \
require 'httparty'
response = HTTParty.post(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:content => 'What is your favorite flavor of soda?'
}.to_json
)
puts response.body
import requests
response = requests.post(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
json={
'content': 'What is your favorite flavor of soda?'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
content = "What is your favorite flavor of soda?"
});
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/courseofferings/(courseoffering)/posts');
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([
'content' => 'What is your favorite flavor of soda?'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "post",
"id": 151,
"content": "What is your favorite flavor of soda?",
"owner_type": "course",
"owner_id": 21908,
"added_by_instructor": false,
"edited_at": null,
"edited_post_id": null,
"file_id": null,
"added_at": "2026-07-25T16:24:13+00:00",
"added_by_id": 22,
"sandbox": true
}
Creates a new Post object.
HTTP Request
POST /courseofferings/(courseoffering)/posts
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| content | Yes | text |
show (courseoffering)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts/(post)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts/(post)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts/(post)',
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/courseofferings/(courseoffering)/posts/(post)"), 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/courseofferings/(courseoffering)/posts/(post)');
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": "post",
"id": 7,
"content": "What are you thoughts on the latest reading?",
"owner_type": "course",
"owner_id": 21908,
"added_by_instructor": true,
"edited_at": null,
"edited_post_id": null,
"file_id": null,
"added_at": "2022-04-15T18:36:01+00:00",
"added_by_id": 22,
"sandbox": true
}
Retrieves a specific Post object.
HTTP Request
GET /courseofferings/(courseoffering)/posts/(post)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- comments
update (courseoffering)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts/(post)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X PUT
-d '{
"content": "Hello everyone. Be sure to sign up for a field trip slot next week!"
}' \
require 'httparty'
response = HTTParty.put(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts/(post)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
body: {
:content => 'Hello everyone. Be sure to sign up for a field trip slot next week!'
}.to_json
)
puts response.body
import requests
response = requests.put(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts/(post)',
headers={
'Authorization': 'Bearer YOUR_POPULI_API_KEY'
},
json={
'content': 'Hello everyone. Be sure to sign up for a field trip slot next week!'
}
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts/(post)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
content = "Hello everyone. Be sure to sign up for a field trip slot next week!"
});
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/courseofferings/(courseoffering)/posts/(post)');
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([
'content' => 'Hello everyone. Be sure to sign up for a field trip slot next week!'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);
Example response:
{
"object": "post",
"id": 7,
"content": "Hello everyone. Be sure to sign up for a field trip slot next week!",
"owner_type": "course",
"owner_id": 21908,
"added_by_instructor": true,
"edited_at": "2026-07-25T16:24:14+00:00",
"edited_post_id": null,
"file_id": null,
"added_at": "2022-04-15T18:36:01+00:00",
"added_by_id": 22,
"sandbox": true
}
Updates an existing Post object.
HTTP Request
PUT /courseofferings/(courseoffering)/posts/(post)
Parameters
| Name | Required | Data Type | Description |
|---|---|---|---|
| content | Yes | text |
delete (courseoffering)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts/(post)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X DELETE
require 'httparty'
response = HTTParty.delete(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts/(post)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.delete(
'https://yourschool.populiweb.com/api2/courseofferings/(courseoffering)/posts/(post)',
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/courseofferings/(courseoffering)/posts/(post)"), 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/courseofferings/(courseoffering)/posts/(post)');
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": "post",
"id": 7,
"deleted": true
}
Deletes an existing Post object.
HTTP Request
DELETE /courseofferings/(courseoffering)/posts/(post)
Parameters
No additional parameters are needed beyond the ID of the object to delete that appears in the URL.
show (group)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/groups/(group)/posts/(post)" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \
-X GET
require 'httparty'
response = HTTParty.get(
'https://yourschool.populiweb.com/api2/groups/(group)/posts/(post)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/groups/(group)/posts/(post)',
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/groups/(group)/posts/(post)"), 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/groups/(group)/posts/(post)');
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": "post",
"id": 8,
"content": "Anyone have ideas for movie night?",
"owner_type": "group",
"owner_id": 1,
"added_by_instructor": false,
"edited_at": null,
"edited_post_id": null,
"file_id": null,
"added_at": "2022-04-15T18:36:01+00:00",
"added_by_id": 22,
"sandbox": true
}
Retrieves a specific Post object.
HTTP Request
GET /groups/(group)/posts/(post)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- comments
show (person)
Example code to call this method:
curl "https://yourschool.populiweb.com/api2/people/(person)/posts/(post)" \
-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)/posts/(post)',
headers: {
'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
},
)
puts response.body
import requests
response = requests.get(
'https://yourschool.populiweb.com/api2/people/(person)/posts/(post)',
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)/posts/(post)"), 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)/posts/(post)');
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": "post",
"id": 9,
"content": "Remember to turn in your keys.",
"owner_type": "person",
"owner_id": 16,
"added_by_instructor": false,
"edited_at": null,
"edited_post_id": null,
"file_id": null,
"added_at": "2022-04-15T18:36:01+00:00",
"added_by_id": 22,
"sandbox": true
}
Retrieves a specific Post object.
HTTP Request
GET /people/(person)/posts/(post)
Parameters
No additional parameters are needed beyond the ID of the object being requested that appears in the URL.
Expandable Properties
- comments