NAV
shell ruby python csharp php

Todo

The Todo object

The Todo object looks like this in JSON:

{
    "object": "todo",
    "id": 8,
    "name": "Print new brocures",
    "assigned_to": 1,
    "assigned_by_id": 1,
    "attached_to": null,
    "completed_by_id": 1,
    "due_date": "2019-07-02",
    "completed_time": null,
    "added_time": "2019-06-26T00:57:21+00:00",
    "communication_plan_id": null,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
name Yes text (500)
assigned_to Yes int
assigned_by_id No int
attached_to No int
completed_by_id No int
due_date Yes date
completed_time No datetime
added_time Yes datetime
communication_plan_id No int
sandbox No bool

index

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/todos" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "filter": []
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/todos',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/todos',
 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/todos"), 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/todos');
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": 6,
    "results": 6,
    "results_per_page": 200,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "todo",
            "id": 104,
            "name": "Update emergency contact info - NO DATE",
            "assigned_to": 1018,
            "assigned_by_id": 1,
            "attached_to": null,
            "completed_by_id": null,
            "due_date": null,
            "completed_time": null,
            "added_time": "2024-03-27T13:00:00+00:00",
            "communication_plan_id": null,
            "report_data": []
        }
    ],
    "sandbox": true
}

Retrieves all Todo objects that match given filter conditions.

HTTP Request

GET /todos

Parameters

Name Required Data Type Description
page No int The page of results to return if more than 200 records are found.
filter No mixed See available filter conditions

Expandable Properties

Filter Condition Parameters

These conditions can be used to narrow the results returned.

Name Type
name text
assigned_to object id
assigned_by object id
attached_to object id
completed_by object id
communication_plan object id
added_on datetime

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/todos" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "name": "Send out Fall promo postcards."
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/todos',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :name => 'Send out Fall promo postcards.'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/todos',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'name': 'Send out Fall promo postcards.'
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/todos"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  name = "Send out Fall promo postcards."
});
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/todos');
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' => 'Send out Fall promo postcards.'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "todo",
    "id": 105,
    "name": "Send out Fall promo postcards.",
    "assigned_to": 22,
    "assigned_by_id": 22,
    "attached_to": null,
    "completed_by_id": null,
    "due_date": null,
    "completed_time": null,
    "added_time": "2026-07-25T16:24:09+00:00",
    "communication_plan_id": null,
    "sandbox": true
}

Creates a new Todo object.

HTTP Request

POST /todos

Parameters

Name Required Data Type Description
name Yes text (500)
assigned_to No int
attached_to No int
due_date No date

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/todos/(todo)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/todos/(todo)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/todos/(todo)',
 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/todos/(todo)"), 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/todos/(todo)');
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": "todo",
    "id": 8,
    "name": "Print new brocures",
    "assigned_to": 1,
    "assigned_by_id": 1,
    "attached_to": null,
    "completed_by_id": 1,
    "due_date": "2019-07-02",
    "completed_time": null,
    "added_time": "2019-06-26T00:57:21+00:00",
    "communication_plan_id": null,
    "sandbox": true
}

Retrieves a specific Todo object.

HTTP Request

GET /todos/(todo)

Parameters

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

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/todos/(todo)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/todos/(todo)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/todos/(todo)',
 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/todos/(todo)"), 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/todos/(todo)');
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": "todo",
    "id": 8,
    "deleted": true
}

Deletes an existing Todo object.

HTTP Request

DELETE /todos/(todo)

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:

complete

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/todos/(todo)/complete" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/todos/(todo)/complete',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/todos/(todo)/complete',
 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/todos/(todo)/complete"), Method.Post);
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/todos/(todo)/complete');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "todo",
    "id": 8,
    "name": "Print new brocures",
    "assigned_to": 1,
    "assigned_by_id": 1,
    "attached_to": null,
    "completed_by_id": 22,
    "due_date": "2019-07-02",
    "completed_time": "2026-07-25T16:24:09+00:00",
    "added_time": "2019-06-26T00:57:21+00:00",
    "communication_plan_id": null,
    "sandbox": true
}

HTTP Request

POST /todos/(todo)/complete

Parameters

None

Permissions

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