Skip to main content
GET
/
v1
/
projects
/
tasks
List All Tasks
const options = {
  method: 'GET',
  headers: {'x-api-key': '<x-api-key>', 'x-organization-id': '<x-organization-id>'}
};

fetch('https://api.dcycle.io/v1/projects/tasks', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
import requests

url = "https://api.dcycle.io/v1/projects/tasks"

headers = {
"x-api-key": "<x-api-key>",
"x-organization-id": "<x-organization-id>"
}

response = requests.get(url, headers=headers)

print(response.text)
curl --request GET \
--url https://api.dcycle.io/v1/projects/tasks \
--header 'x-api-key: <x-api-key>' \
--header 'x-organization-id: <x-organization-id>'
{
  "id": "<string>",
  "title": "<string>",
  "description": "<string>",
  "due_date": "<string>",
  "stage": "<string>",
  "category": "<string>",
  "assigned_to": {},
  "projects": {},
  "comments": {},
  "progress": {},
  "tags": {}
}

List All Tasks

Retrieve all tasks linked to projects within your organization. Returns tasks with their associated projects, comments, and assignee information.

Request

Headers

x-api-key
string
required
Your API key for authenticationExample: sk_live_1234567890abcdef
x-organization-id
string
required
Your organization UUIDExample: a8315ef3-dd50-43f8-b7ce-d839e68d51fa

Response

Returns an array of task objects.
id
string
Task UUID
title
string
Task title
description
string
Task description
due_date
string
Due date (YYYY-MM-DD)
stage
string
Task stage: not_applicable, pending, in_progress, completed, validated, deleted
category
string
Task category
assigned_to
object
Assigned user with id, first_name, last_name, email
projects
array[object]
Projects this task belongs to, each with id, name, type, etc.
comments
array[object]
Task comments, each with id and comment
progress
number | null
Completion progress (0–100)
tags
array[string]
Task tags

Example

curl "https://api.dcycle.io/v1/projects/tasks" \
  -H "x-api-key: ${DCYCLE_API_KEY}" \
  -H "x-organization-id: ${DCYCLE_ORG_ID}"
import requests
import os

response = requests.get(
    "https://api.dcycle.io/v1/projects/tasks",
    headers={
        "x-api-key": os.getenv("DCYCLE_API_KEY"),
        "x-organization-id": os.getenv("DCYCLE_ORG_ID"),
    },
)

tasks = response.json()
for task in tasks:
    print(f"{task['title']} ({task['stage']}) — due {task['due_date']}")
const axios = require('axios');

const { data: tasks } = await axios.get(
  'https://api.dcycle.io/v1/projects/tasks',
  {
    headers: {
      'x-api-key': process.env.DCYCLE_API_KEY,
      'x-organization-id': process.env.DCYCLE_ORG_ID,
    },
  }
);

tasks.forEach(t => console.log(`${t.title} (${t.stage}) — due ${t.due_date}`));

Successful Response

[
  {
    "id": "task-uuid",
    "title": "Review electricity invoices Q1",
    "description": "Verify all Q1 invoices are uploaded",
    "due_date": "2025-03-31",
    "stage": "in_progress",
    "category": "data_collection",
    "organization_id": "org-uuid",
    "assigned_to": {
      "id": "user-uuid",
      "first_name": "Ana",
      "last_name": "García",
      "email": "ana@example.com"
    },
    "projects": [
      {
        "id": "project-uuid",
        "name": "Carbon Footprint 2025"
      }
    ],
    "comments": [],
    "progress": 60.0,
    "tags": ["invoices", "Q1"]
  }
]

Common Errors

401 Unauthorized

Cause: Missing or invalid API key
{"detail": "Invalid API key for organization", "code": "INVALID_API_KEY"}

403 Forbidden

Cause: The authenticated user is not a member of the organization
{"detail": "Logged User is not Member of Organization", "code": "LOGGED_USER_NOT_MEMBER"}

List Project Tasks

List tasks for a specific project

Create Task

Create a new task