Living Intelligence API Overview
Connect. Build. Automate. The Taskade API enables you to programmatically access and manage your Taskade workspace, projects, tasks, agents, and more.
Developer API - Build integrations that connect Taskade with your existing tools and workflows. The Taskade API provides RESTful endpoints for managing your workspace data.
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/v1Authentication
All API requests require authentication using either OAuth 2.0 or Personal Access Tokens.
Keep your API keys secure and never expose them in client-side code or public repositories.
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
Support and Resources
Documentation
Personal Access Tokens - Learn about authentication
OAuth Authentication - OAuth 2.0 setup
Support
Email: [email protected]
Help Center: help.taskade.com
💡 Pro Tip: Start with the
/workspacesendpoint to discover your workspace structure, then navigate through folders and projects to access the data you need.
Last updated