Get Task
const options = {
method: 'GET',
headers: {'x-api-key': '<x-api-key>', 'x-organization-id': '<x-organization-id>'}
};
fetch('https://api.dcycle.io/v1/tasks/{task_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.dcycle.io/v1/tasks/{task_id}"
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/tasks/{task_id} \
--header 'x-api-key: <x-api-key>' \
--header 'x-organization-id: <x-organization-id>'{
"id": "<string>",
"name": "<string>",
"category": "<string>",
"description": "<string>",
"due_date": "<string>",
"status": "<string>",
"assignees": {},
"completion_mode": "<string>",
"assigned_to": {},
"projects": {},
"guide_link": {},
"files": {}
}Get Task
Retrieve a single task by ID with full details
GET
/
v1
/
tasks
/
{task_id}
Get Task
const options = {
method: 'GET',
headers: {'x-api-key': '<x-api-key>', 'x-organization-id': '<x-organization-id>'}
};
fetch('https://api.dcycle.io/v1/tasks/{task_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.dcycle.io/v1/tasks/{task_id}"
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/tasks/{task_id} \
--header 'x-api-key: <x-api-key>' \
--header 'x-organization-id: <x-organization-id>'{
"id": "<string>",
"name": "<string>",
"category": "<string>",
"description": "<string>",
"due_date": "<string>",
"status": "<string>",
"assignees": {},
"completion_mode": "<string>",
"assigned_to": {},
"projects": {},
"guide_link": {},
"files": {}
}← Projects API
Retrieve a single task by its ID. Returns the task with its assigned user, linked projects, and optional guide link.
Request
Headers
string
required
Your API key for authenticationExample:
sk_live_1234567890abcdefstring
required
Your organization UUIDExample:
a8315ef3-dd50-43f8-b7ce-d839e68d51fastring
default:"es"
Language for localized content:
en, es, fr, pt, it, dePath Parameters
string
required
UUID of the task
Response
string
Task UUID
string
Task title
string
Task category
string
Task description
string
Due date (YYYY-MM-DD)
string
Task stage:
not_applicable, pending, in_progress, completed, validated, deletedarray[object]
Every user assigned to the task, all equally accountable. Each entry includes
completed_at,
set once that person has finished their own part (only meaningful when completion_mode is all).string
any (the first assignee to complete it finishes it for everyone) or all (every assignee must
complete their own part before the task is marked done).object
Deprecated. One of
assignees, kept for backward compatibility; carries no special meaning.array[object]
Linked projects, each with
id and namestring | null
URL to a help guide for this task category
array[object]
Files uploaded from inside this task, oldest first. Each entry has
id, name (without the
extension), extension, url, status, uploaded_by and created_at.A file is listed here when it was uploaded while the task was open, which stamps the task on the
file itself. Only completed uploads are returned. Files private to another organization are never
listed, even when reading a subsidiary’s task from its parent. Empty when nothing has been
uploaded from the task.url is null when your role cannot see that file’s data category — the file is still listed,
but not downloadable. Same rule as the file listings.Example
curl "https://api.dcycle.io/v1/tasks/${TASK_ID}" \
-H "x-api-key: ${DCYCLE_API_KEY}" \
-H "x-organization-id: ${DCYCLE_ORG_ID}"
import requests
import os
response = requests.get(
f"https://api.dcycle.io/v1/tasks/{os.getenv('TASK_ID')}",
headers={
"x-api-key": os.getenv("DCYCLE_API_KEY"),
"x-organization-id": os.getenv("DCYCLE_ORG_ID"),
},
)
task = response.json()
print(f"{task['name']} — {task['status']}")
print(f"Assigned to: {task['assigned_to']['first_name']} {task['assigned_to']['last_name']}")
const axios = require('axios');
const { data: task } = await axios.get(
`https://api.dcycle.io/v1/tasks/${process.env.TASK_ID}`,
{
headers: {
'x-api-key': process.env.DCYCLE_API_KEY,
'x-organization-id': process.env.DCYCLE_ORG_ID,
},
}
);
console.log(`${task.name} — ${task.status}`);
Successful Response
{
"id": "task-uuid",
"name": "Upload Q2 electricity invoices",
"category": "data_collection",
"description": "Upload all Q2 2025 electricity invoices",
"due_date": "2025-07-15",
"status": "in_progress",
"assignees": [
{
"id": "user-uuid",
"first_name": "Carlos",
"last_name": "López",
"profile_img_url": null,
"completed_at": null
}
],
"completion_mode": "any",
"assigned_to": {
"id": "user-uuid",
"first_name": "Carlos",
"last_name": "López",
"profile_img_url": null
},
"projects": [
{ "id": "project-uuid", "name": "Carbon Footprint 2025" }
],
"guide_link": null,
"files": [
{
"id": "file-uuid",
"name": "Factura_Electricidad_Enero2026",
"extension": "pdf",
"url": "https://files.dcycle.io/organizations/org-uuid/files/file-uuid.pdf",
"status": "uploaded",
"uploaded_by": "user-uuid",
"created_at": "2026-01-31T09:14:22"
}
]
}
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"}
404 Not Found
Cause: The task does not exist or belongs to another organization{"detail": "Not Found"}
Related Endpoints
Get Subtasks
List subtasks of this task
Update Task
Modify task fields
Was this page helpful?