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 %}
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
https://www.taskade.com/api/v1
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 %}
- Go to Settings β Developer β Personal Access Tokens
- Click Generate New Token
- Copy the token and store it securely
- Use the token in the
Authorizationheader
curl -X GET "https://www.taskade.com/api/v1/workspaces" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"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 (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 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 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 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
Manage uploaded files and media.
Available Endpoints:
GET /medias/{mediaId}- Get media detailsDELETE /medias/{mediaId}- Delete a media file
Access the authenticated user's projects.
Available Endpoints:
GET /me/projects- Get all projects for the current user
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)
{
"ok": false,
"message": "Error description",
"code": "ERROR_CODE",
"statusMessage": "HTTP status message"
}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();
};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()# 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"- 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
- Use pagination for large result sets
- Cache responses when appropriate
- Implement rate limit handling with exponential backoff
- Validate data before sending to API
- Handle partial failures gracefully
- Use cursor-based pagination for tasks and blocks
{% stepper %} {% step %}
Navigate to Settings β Developer β Personal Access Tokens and generate a new token. {% endstep %}
{% step %}
Use cURL or your preferred language to test the API connection by fetching your workspaces. {% endstep %}
{% step %}
Review the available endpoints in each resource section. {% endstep %}
{% step %}
Start with basic operations, then add complexity as needed. {% endstep %} {% endstepper %}
- Personal Access Tokens - Learn about authentication
- OAuth Authentication - OAuth 2.0 setup
- Email: support@taskade.com
- 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.