curl --request GET \
--url https://api.quiva.ai/workspaces/space/{space_id}/tasks \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.quiva.ai/workspaces/space/{space_id}/tasks"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.quiva.ai/workspaces/space/{space_id}/tasks', 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.quiva.ai/workspaces/space/{space_id}/tasks",
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>"
],
]);
$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.quiva.ai/workspaces/space/{space_id}/tasks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.quiva.ai/workspaces/space/{space_id}/tasks")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.quiva.ai/workspaces/space/{space_id}/tasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"results": [
{
"id": "<string>",
"url": "<string>",
"title": "<string>",
"description": "<string>",
"assignees": [
"<string>"
],
"attachments": [
"<string>"
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"priority": "<string>",
"folder": "<string>",
"reporter": "<string>",
"status": "<string>",
"space_id": "<string>",
"due_date": "2023-11-07T05:31:56Z",
"scheduled_at": "2023-11-07T05:31:56Z",
"archived": true,
"order": 123,
"tags": [
"<string>"
],
"metadata": {},
"watchers": [
"<string>"
],
"muted": [
"<string>"
],
"parent": "<string>",
"source": "<string>",
"source_detail": "<string>",
"value": 123,
"currency": "<string>",
"expected_close": "<string>",
"time_tracking": {
"estimate": {
"time_in_seconds": 123
},
"logs": [
{
"time_spent": {
"time_in_seconds": 2
},
"started_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"description": "<string>",
"user": {
"id": "<string>",
"name": "<string>"
},
"created_at": "2023-11-07T05:31:56Z"
}
],
"spent": {
"time_in_seconds": 123
},
"remaining": {
"time_in_seconds": 123
},
"progress_percent": 123
},
"version": 123,
"sync_key": "<string>",
"sync_conflict": {},
"external_id": "<string>",
"activity_at": "2023-11-07T05:31:56Z",
"subtasks": [
{}
],
"task_actions": [
{
"description": "Confirm the report has been proofread",
"id": "ta_a1b2c3",
"done": true,
"resources": [
{
"resource_id": "onboarding-checklist",
"resource_type": "record-config",
"metadata": {}
}
]
}
],
"implementation_date": "<string>",
"assigned_qa": "<string>"
}
],
"results_total": 123,
"has_more": true
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}List tasks in a space
Changed: external_id exact-match filter, has_more on the reply, and sort_by=activity_at. The other filters are unchanged.
curl --request GET \
--url https://api.quiva.ai/workspaces/space/{space_id}/tasks \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.quiva.ai/workspaces/space/{space_id}/tasks"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.quiva.ai/workspaces/space/{space_id}/tasks', 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.quiva.ai/workspaces/space/{space_id}/tasks",
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>"
],
]);
$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.quiva.ai/workspaces/space/{space_id}/tasks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.quiva.ai/workspaces/space/{space_id}/tasks")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.quiva.ai/workspaces/space/{space_id}/tasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"results": [
{
"id": "<string>",
"url": "<string>",
"title": "<string>",
"description": "<string>",
"assignees": [
"<string>"
],
"attachments": [
"<string>"
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"created_by": "<string>",
"priority": "<string>",
"folder": "<string>",
"reporter": "<string>",
"status": "<string>",
"space_id": "<string>",
"due_date": "2023-11-07T05:31:56Z",
"scheduled_at": "2023-11-07T05:31:56Z",
"archived": true,
"order": 123,
"tags": [
"<string>"
],
"metadata": {},
"watchers": [
"<string>"
],
"muted": [
"<string>"
],
"parent": "<string>",
"source": "<string>",
"source_detail": "<string>",
"value": 123,
"currency": "<string>",
"expected_close": "<string>",
"time_tracking": {
"estimate": {
"time_in_seconds": 123
},
"logs": [
{
"time_spent": {
"time_in_seconds": 2
},
"started_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"description": "<string>",
"user": {
"id": "<string>",
"name": "<string>"
},
"created_at": "2023-11-07T05:31:56Z"
}
],
"spent": {
"time_in_seconds": 123
},
"remaining": {
"time_in_seconds": 123
},
"progress_percent": 123
},
"version": 123,
"sync_key": "<string>",
"sync_conflict": {},
"external_id": "<string>",
"activity_at": "2023-11-07T05:31:56Z",
"subtasks": [
{}
],
"task_actions": [
{
"description": "Confirm the report has been proofread",
"id": "ta_a1b2c3",
"done": true,
"resources": [
{
"resource_id": "onboarding-checklist",
"resource_type": "record-config",
"metadata": {}
}
]
}
],
"implementation_date": "<string>",
"assigned_qa": "<string>"
}
],
"results_total": 123,
"has_more": true
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}Authorizations
JWT Authorization header using the Bearer scheme
Path Parameters
Query Parameters
How many results to return at most. has_more tells you whether another page exists.
If there are more results than the limit, offset can be used to get to the next batch of results
Name of the field used for sorting, such as created_at, updated_at or activity_at.
Should the results be sorted in ascending or descending order relative to sort_by field
asc, desc Exact match on the user ID of the task creator
Exact match on priority; comma-separated values to filter by priority
Exact match on status; comma-separated values to filter by multiple statuses
Term search on task title
Comma-separated assignee IDs; at least one must match
Filter by creation date. Use a single date or a range as {start_date},{end_date}
Filter by last-updated date. Use a single date or a range as {start_date},{end_date}
Filter by scheduled date. Use a single date or a range as {start_date},{end_date}
Exact match.