curl --request GET \
--url https://public-api.stora.co/2025-09/tasks \
--header 'Authorization: Bearer <token>'import requests
url = "https://public-api.stora.co/2025-09/tasks"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public-api.stora.co/2025-09/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://public-api.stora.co/2025-09/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://public-api.stora.co/2025-09/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://public-api.stora.co/2025-09/tasks")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-api.stora.co/2025-09/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{
"tasks": [
{
"id": "task_195h6kfm9ro15lof",
"assignee": {
"id": "staff_06778802edebb94d"
},
"completed_at": null,
"created_at": "2025-02-22T14:41:00Z",
"creator": {
"id": "staff_06778802edebb94d"
},
"description": "<p>This is a test task.</p>",
"due_at": "2025-02-24T14:41:00Z",
"metadata": {},
"resource": {
"id": "unit_1e36123098e22cf8"
},
"site": {
"id": "site_14b419f1096013f1"
},
"status": "open",
"title": "My Task",
"updated_at": "2025-02-22T14:41:00Z"
},
{
"id": "task_e6705c4af27d9910",
"assignee": {
"id": "staff_06778802edebb94d"
},
"completed_at": null,
"created_at": "2025-02-22T14:41:00Z",
"creator": {
"id": "tok_7f6e5fb4bb548dbc"
},
"description": "This is a test task created by Access Token.",
"due_at": "2025-02-25T14:41:00Z",
"metadata": {},
"resource": {
"id": "unit_1e36123098e22cf8"
},
"site": {
"id": "site_14b419f1096013f1"
},
"status": "open",
"title": "Access Token Task",
"updated_at": "2025-02-22T14:41:00Z"
}
],
"meta": {
"request_id": "01563646-58c1-4607-8fe0-cae3e92c4477",
"curies": [
{
"name": "bo",
"href": "https://app.stora.test{rel}",
"templated": true,
"title": "Backoffice"
},
{
"name": "sf",
"href": "https://acme.stora.test{rel}",
"templated": true,
"title": "Storefront"
}
],
"pagination": {
"count": 2,
"last": 1,
"limit": 50,
"next": null,
"page": 1,
"pages": 1,
"prev": null
}
}
}List all Tasks
Retrieve a list of all tasks with the correct authorization scope.
Required authorization scope: public.task:read
curl --request GET \
--url https://public-api.stora.co/2025-09/tasks \
--header 'Authorization: Bearer <token>'import requests
url = "https://public-api.stora.co/2025-09/tasks"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public-api.stora.co/2025-09/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://public-api.stora.co/2025-09/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://public-api.stora.co/2025-09/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://public-api.stora.co/2025-09/tasks")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-api.stora.co/2025-09/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{
"tasks": [
{
"id": "task_195h6kfm9ro15lof",
"assignee": {
"id": "staff_06778802edebb94d"
},
"completed_at": null,
"created_at": "2025-02-22T14:41:00Z",
"creator": {
"id": "staff_06778802edebb94d"
},
"description": "<p>This is a test task.</p>",
"due_at": "2025-02-24T14:41:00Z",
"metadata": {},
"resource": {
"id": "unit_1e36123098e22cf8"
},
"site": {
"id": "site_14b419f1096013f1"
},
"status": "open",
"title": "My Task",
"updated_at": "2025-02-22T14:41:00Z"
},
{
"id": "task_e6705c4af27d9910",
"assignee": {
"id": "staff_06778802edebb94d"
},
"completed_at": null,
"created_at": "2025-02-22T14:41:00Z",
"creator": {
"id": "tok_7f6e5fb4bb548dbc"
},
"description": "This is a test task created by Access Token.",
"due_at": "2025-02-25T14:41:00Z",
"metadata": {},
"resource": {
"id": "unit_1e36123098e22cf8"
},
"site": {
"id": "site_14b419f1096013f1"
},
"status": "open",
"title": "Access Token Task",
"updated_at": "2025-02-22T14:41:00Z"
}
],
"meta": {
"request_id": "01563646-58c1-4607-8fe0-cae3e92c4477",
"curies": [
{
"name": "bo",
"href": "https://app.stora.test{rel}",
"templated": true,
"title": "Backoffice"
},
{
"name": "sf",
"href": "https://acme.stora.test{rel}",
"templated": true,
"title": "Storefront"
}
],
"pagination": {
"count": 2,
"last": 1,
"limit": 50,
"next": null,
"page": 1,
"pages": 1,
"prev": null
}
}
}Authorizations
Bearer Token necessary to use API
Query Parameters
Pagination: Page number
x >= 1Pagination: Limit number of items per page.
1 <= x <= 100Sorting by attribute. Default created_at
created_at, due_at, updated_at Sorting by ASC or DESC direction. Default DESC
ASC, DESC Filter by status. Supports multiple values separated by a comma.
open, completed Filter by Resource ID (unit, subscription, or contact). Supports multiple values separated by comma.
Filter by Assignee ID. Supports multiple values separated by comma. Use unassigned for tasks without an assignee.
Filter by metadata. Use metadata[key]=value to filter by specific metadata keys.
Show child attributes
Show child attributes
{}
This endpoint supports expandable responses. For more, see the documentation page.
Filters results to created after (including given date) the given ISO 8601 timestamp (e.g., 2025-01-12T15:30:00Z).
Filters results to created before (excluding given date) the given ISO 8601 timestamp (e.g., 2025-01-12T15:30:00Z).
Filters results to updated after (including given date) the given ISO 8601 timestamp (e.g., 2025-01-12T15:30:00Z).
Filters results to updated before (excluding given date) the given ISO 8601 timestamp (e.g., 2025-01-12T15:30:00Z).
Filters results to due after (including given date) the given ISO 8601 timestamp (e.g., 2025-01-12T15:30:00Z).
Filters results to due before (excluding given date) the given ISO 8601 timestamp (e.g., 2025-01-12T15:30:00Z).
Was this page helpful?