curl --request GET \
--url https://api.zivio.net/api/v4/tasks/summary \
--header 'Authorization: Bearer <token>' \
--header 'zivio-tenant-id: <api-key>'import requests
url = "https://api.zivio.net/api/v4/tasks/summary"
headers = {
"Authorization": "Bearer <token>",
"zivio-tenant-id": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: 'Bearer <token>', 'zivio-tenant-id': '<api-key>'}
};
fetch('https://api.zivio.net/api/v4/tasks/summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.zivio.net/api/v4/tasks/summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"zivio-tenant-id: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.zivio.net/api/v4/tasks/summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("zivio-tenant-id", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.zivio.net/api/v4/tasks/summary")
.header("Authorization", "Bearer <token>")
.header("zivio-tenant-id", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zivio.net/api/v4/tasks/summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
request["zivio-tenant-id"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"summary": {
"resource": "tasks",
"active": 4,
"overdue": 1,
"due_today": 1,
"completed": 12,
"dismissed": 2,
"cancelled": 3,
"active_by_taskable_scope": [
{
"taskable_scope": "job_approvers_requested",
"count": 2
},
{
"taskable_scope": "invoices_new_invoice",
"count": 1
},
{
"taskable_scope": "job_questions_new_question",
"count": 1
}
],
"active_by_taskable_type": [
{
"taskable_type": "JobTriggeredApprovalStep",
"count": 2
},
{
"taskable_type": "Invoice",
"count": 1
},
{
"taskable_type": "JobQuestion",
"count": 1
}
]
}
}{
"error": "invalid_token",
"error_description": "The access token provided is expired, revoked, malformed, or invalid for other reasons"
}{
"error": "feature_disabled",
"message": "Tasks are not enabled"
}Counts of my outstanding tasks: active, overdue, due today, and by kind of task
The triage entry point for “what needs my attention?”. Counts the acting user’s tasks (to-do items / work queue) the way the web UI’s task page does: active (pending and not dismissed), overdue, due today, completed, dismissed and cancelled, plus the active queue broken down by taskable_scope (the kind of action required) and taskable_type. Accepts the same filter[…] grammar as GET /tasks (e.g. filter[taskable_type]=Invoice) to narrow every count. Follow up with GET /tasks for the tasks themselves.
curl --request GET \
--url https://api.zivio.net/api/v4/tasks/summary \
--header 'Authorization: Bearer <token>' \
--header 'zivio-tenant-id: <api-key>'import requests
url = "https://api.zivio.net/api/v4/tasks/summary"
headers = {
"Authorization": "Bearer <token>",
"zivio-tenant-id": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {Authorization: 'Bearer <token>', 'zivio-tenant-id': '<api-key>'}
};
fetch('https://api.zivio.net/api/v4/tasks/summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.zivio.net/api/v4/tasks/summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"zivio-tenant-id: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.zivio.net/api/v4/tasks/summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("zivio-tenant-id", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.zivio.net/api/v4/tasks/summary")
.header("Authorization", "Bearer <token>")
.header("zivio-tenant-id", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zivio.net/api/v4/tasks/summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
request["zivio-tenant-id"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"summary": {
"resource": "tasks",
"active": 4,
"overdue": 1,
"due_today": 1,
"completed": 12,
"dismissed": 2,
"cancelled": 3,
"active_by_taskable_scope": [
{
"taskable_scope": "job_approvers_requested",
"count": 2
},
{
"taskable_scope": "invoices_new_invoice",
"count": 1
},
{
"taskable_scope": "job_questions_new_question",
"count": 1
}
],
"active_by_taskable_type": [
{
"taskable_type": "JobTriggeredApprovalStep",
"count": 2
},
{
"taskable_type": "Invoice",
"count": 1
},
{
"taskable_type": "JobQuestion",
"count": 1
}
]
}
}{
"error": "invalid_token",
"error_description": "The access token provided is expired, revoked, malformed, or invalid for other reasons"
}{
"error": "feature_disabled",
"message": "Tasks are not enabled"
}Authorizations
OAuth 2.0 client credentials. The access token from POST /oauth/token is sent as a bearer token. Request only the scopes you need.
Your Zivio organisation identifier. The regional API endpoints serve every Zivio organisation, so each request must identify yours.
Query Parameters
Standard filter grammar, e.g. filter[taskable_type]=Invoice or filter[taskable_scope]=job_approvers_requested.
Response
Task counts for the acting user
The response is of type object.

