Living Intelligence API Overview
June 5, 2026 ยท View on GitHub
Connect. Build. Automate. The Taskade API enables you to programmatically access and manage your Taskade workspace, projects, tasks, agents, and more.
{% hint style="success" %} Developer API - Build integrations that connect Taskade with your existing tools and workflows. The Taskade API provides RESTful endpoints for managing your workspace data. {% endhint %}
API Overview
What You Can Build
The Taskade API enables you to create integrations that:
๐ Workspace & Project Management:
- Access and manage workspaces and folders
- Create, copy, and manage projects
- Share projects via shareable links
โ Task Management:
- Create, update, and complete tasks
- Assign team members to tasks
- Set due dates and manage task notes
- Work with custom fields
๐ค AI Agent Integration:
- Manage AI agents programmatically
- Add knowledge sources to agents
- Access agent conversations
- Configure public agent access
๐ Media Management:
- Access and manage uploaded media files
- Attach media to agent knowledge bases
API Base URL
https://www.taskade.com/api/v1
Authentication
All API requests require authentication using either OAuth 2.0 or Personal Access Tokens.
{% hint style="warning" %} Keep your API keys secure and never expose them in client-side code or public repositories. {% endhint %}
Getting Your Personal Access Token
- Go to Settings โ Developer โ Personal Access Tokens
- Click Generate New Token
- Copy the token and store it securely
- Use the token in the
Authorizationheader
Authentication Headers
curl -X GET "https://www.taskade.com/api/v1/workspaces" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"
Core API Resources
Workspaces
Workspaces are the top-level containers that organize your projects and folders.
Available Endpoints:
GET /workspaces- Get all workspaces for the authenticated userGET /workspaces/{workspaceId}/folders- Get all folders in a workspacePOST /workspaces/{workspaceId}/projects- Create a project in a workspace
Folders
Folders (also called Subspaces) organize projects, agents, and media within a workspace.
Available Endpoints:
GET /folders/{folderId}/projects- Get all projects in a folderGET /folders/{folderId}/agents- Get all agents in a folderPOST /folders/{folderId}/agents- Create an agent in a folderPOST /folders/{folderId}/agent-generate- Generate an agent using AIGET /folders/{folderId}/medias- Get all media files in a folderGET /folders/{folderId}/project-templates- Get project templates in a folder
Projects
Projects contain tasks and represent your work items, documents, or structured data.
Available Endpoints:
GET /projects/{projectId}- Get a specific projectPOST /projects- Create a new projectPOST /projects/{projectId}/complete- Mark a project as completedPOST /projects/{projectId}/restore- Restore a completed projectPOST /projects/{projectId}/copy- Copy a project to a folderPOST /projects/from-template- Create a project from a templateGET /projects/{projectId}/members- Get project membersGET /projects/{projectId}/fields- Get project custom fieldsGET /projects/{projectId}/shareLink- Get the share link for a projectPUT /projects/{projectId}/shareLink- Enable/update share linkGET /projects/{projectId}/blocks- Get all blocks in a projectGET /projects/{projectId}/tasks- Get all tasks in a project
Tasks
Tasks are the fundamental work units within projects.
Available Endpoints:
GET /projects/{projectId}/tasks/{taskId}- Get a specific taskPUT /projects/{projectId}/tasks/{taskId}- Update a taskDELETE /projects/{projectId}/tasks/{taskId}- Delete a taskPOST /projects/{projectId}/tasks/- Create tasks in a projectPOST /projects/{projectId}/tasks/{taskId}/complete- Mark task as completePOST /projects/{projectId}/tasks/{taskId}/uncomplete- Mark task as incompletePUT /projects/{projectId}/tasks/{taskId}/move- Move a task within the project
Task Assignees:
GET /projects/{projectId}/tasks/{taskId}/assignees- Get task assigneesPUT /projects/{projectId}/tasks/{taskId}/assignees- Update task assigneesDELETE /projects/{projectId}/tasks/{taskId}/assignees/{assigneeHandle}- Remove an assignee
Task Dates:
GET /projects/{projectId}/tasks/{taskId}/date- Get task due datePUT /projects/{projectId}/tasks/{taskId}/date- Set/update task due dateDELETE /projects/{projectId}/tasks/{taskId}/date- Remove task due date
Task Notes:
GET /projects/{projectId}/tasks/{taskId}/note- Get task notePUT /projects/{projectId}/tasks/{taskId}/note- Update task noteDELETE /projects/{projectId}/tasks/{taskId}/note- Delete task note
Task Custom Fields:
GET /projects/{projectId}/tasks/{taskId}/fields- Get all field values for a taskGET /projects/{projectId}/tasks/{taskId}/fields/{fieldId}- Get a specific field valuePUT /projects/{projectId}/tasks/{taskId}/fields/{fieldId}- Update a field valueDELETE /projects/{projectId}/tasks/{taskId}/fields/{fieldId}- Delete a field value
AI Agents
AI Agents power intelligent interactions and automations.
Available Endpoints:
GET /agents/{agentId}- Get an agentPATCH /agents/{agentId}- Update an agentDELETE /agents/{agentId}- Delete an agentPUT /agents/{agentId}/publicAccess- Enable public access for an agent
Public Agent Configuration:
GET /agents/{agentId}/public-agent- Get public agent settingsPATCH /agents/{agentId}/public-agent- Update public agent settingsGET /public-agents/{publicAgentId}- Get a public agent by its public ID
Agent Knowledge:
POST /agents/{agentId}/knowledge/project- Add a project to agent knowledgePOST /agents/{agentId}/knowledge/media- Add media to agent knowledgeDELETE /agents/{agentId}/knowledge/project/{projectId}- Remove project from knowledgeDELETE /agents/{agentId}/knowledge/media/{mediaId}- Remove media from knowledge
Agent Conversations:
GET /agents/{agentId}/convos/- Get all agent conversationsGET /agents/{agentId}/convos/{convoId}- Get a specific conversation
Media
Manage uploaded files and media.
Available Endpoints:
GET /medias/{mediaId}- Get media detailsDELETE /medias/{mediaId}- Delete a media file
User Projects
Access the authenticated user's projects.
Available Endpoints:
GET /me/projects- Get all projects for the current user
Error Handling
HTTP Status Codes
200 OK- Request successful400 Bad Request- Invalid request parameters401 Unauthorized- Authentication required403 Forbidden- Insufficient permissions404 Not Found- Resource not found4XX- Client error (see response body for details)
Error Response Format
{
"ok": false,
"message": "Error description",
"code": "ERROR_CODE",
"statusMessage": "HTTP status message"
}
Code Examples
JavaScript/Node.js
const API_BASE = 'https://www.taskade.com/api/v1';
const TOKEN = 'your_access_token';
// Get all workspaces
const getWorkspaces = async () => {
const response = await fetch(`${API_BASE}/workspaces`, {
headers: {
'Authorization': `Bearer ${TOKEN}`,
'Content-Type': 'application/json'
}
});
return response.json();
};
// Get project tasks
const getProjectTasks = async (projectId) => {
const response = await fetch(`${API_BASE}/projects/${projectId}/tasks`, {
headers: {
'Authorization': `Bearer ${TOKEN}`,
'Content-Type': 'application/json'
}
});
return response.json();
};
// Create a task
const createTask = async (projectId, content) => {
const response = await fetch(`${API_BASE}/projects/${projectId}/tasks/`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
tasks: [{
contentType: 'text/markdown',
content: content,
placement: 'beforeend'
}]
})
});
return response.json();
};
Python
import requests
API_BASE = 'https://www.taskade.com/api/v1'
TOKEN = 'your_access_token'
headers = {
'Authorization': f'Bearer {TOKEN}',
'Content-Type': 'application/json'
}
# Get all workspaces
def get_workspaces():
response = requests.get(f'{API_BASE}/workspaces', headers=headers)
return response.json()
# Get project tasks
def get_project_tasks(project_id):
response = requests.get(f'{API_BASE}/projects/{project_id}/tasks', headers=headers)
return response.json()
# Complete a task
def complete_task(project_id, task_id):
response = requests.post(
f'{API_BASE}/projects/{project_id}/tasks/{task_id}/complete',
headers=headers
)
return response.json()
cURL Examples
# Get all workspaces
curl -X GET "https://www.taskade.com/api/v1/workspaces" \
-H "Authorization: Bearer YOUR_TOKEN"
# Get projects in a folder
curl -X GET "https://www.taskade.com/api/v1/folders/FOLDER_ID/projects" \
-H "Authorization: Bearer YOUR_TOKEN"
# Get an agent
curl -X GET "https://www.taskade.com/api/v1/agents/AGENT_ID" \
-H "Authorization: Bearer YOUR_TOKEN"
Best Practices
Security
- Store API tokens securely (environment variables, secret management)
- Use HTTPS for all API calls
- Implement proper error handling
- Never expose tokens in client-side code
Performance
- Use pagination for large result sets
- Cache responses when appropriate
- Implement rate limit handling with exponential backoff
Data Management
- Validate data before sending to API
- Handle partial failures gracefully
- Use cursor-based pagination for tasks and blocks
Quick Start Guide
{% stepper %} {% step %}
Get Your Access Token
Navigate to Settings โ Developer โ Personal Access Tokens and generate a new token. {% endstep %}
{% step %}
Make Your First API Call
Use cURL or your preferred language to test the API connection by fetching your workspaces. {% endstep %}
{% step %}
Explore the Endpoints
Review the available endpoints in each resource section. {% endstep %}
{% step %}
Build Your Integration
Start with basic operations, then add complexity as needed. {% endstep %} {% endstepper %}
Support and Resources
Documentation
- Personal Access Tokens - Learn about authentication
- OAuth Authentication - OAuth 2.0 setup
Support
- Email: support@taskade.com
- Help Center: taskade.com/learn
๐ก Pro Tip: Start with the
/workspacesendpoint to discover your workspace structure, then navigate through folders and projects to access the data you need.