REST API · v1

Build with the Tazor API

Read and update projects, tasks, comments, teams and time entries from your own tools. Available on the Pro and Business plans.

Quick start

  1. A workspace owner or admin opens Settings → API Keysand creates a key (read only, or read & write).
  2. Copy the key; it is shown once.
  3. Send it as a Bearer token to https://tazor.in/api/v1.

Authentication

  • Authorization: Bearer tm_live_… on every request.
  • A key acts as the member who created it: the same role, permissions and task visibility. If that member leaves or is deactivated, the key stops working.
  • Read-only keys can only make GET requests.
  • Keys pause automatically if the workspace's plan no longer includes API access.

Rate limits

600 requests per minute per key. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset; a 429 also has Retry-After. Plan limits (projects, tasks per project, storage, seats) apply to the API exactly as in the app.

List your open tasks
curl "https://tazor.in/api/v1/tasks?assigneeId=me&statusCategory=todo&limit=20" \
  -H "Authorization: Bearer tm_live_your_key"
Create a task (JavaScript)
const res = await fetch('https://tazor.in/api/v1/tasks', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer ' + process.env.TASKMASTERY_API_KEY,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    title: 'Complete API integration',
    projectId: '665f1c2e9b1e8a0012345678',
    priority: 'high',            // urgent | high | medium | low | none
    dueDate: '2026-11-15',       // YYYY-MM-DD or ISO 8601
    assignees: ['665f1c2e9b1e8a0087654321'], // member ids
  }),
});

const {success, data, error} = await res.json();
// data: {id, key: 'WEB-42', title, statusId, statusCategory}

Responses & errors

Every response is JSON with success. Lists are paginated with ?page and ?limit (max 100).

StatusCodeMeaning
401INVALID_API_KEY / API_KEY_EXPIREDMissing, revoked or expired key, or its creator left the workspace
403READ_ONLY_KEYA read-only key tried to change data
403ENDPOINT_NOT_AVAILABLEThe endpoint is not part of the public API
403FEATURE_NOT_AVAILABLEThe workspace's plan doesn't include this (API access needs Pro or above)
403LIMIT_EXCEEDEDA plan limit was reached (projects, tasks per project, seats...)
403FORBIDDENThe key's member doesn't have permission
400VALIDATION_ERRORThe body or query was invalid; details lists each field
404NOT_FOUNDDoesn't exist, or the member can't see it
429RATE_LIMITEDToo many requests; wait for Retry-After seconds
Response shape
// Success
{ "success": true, "data": [ ... ],
  "pagination": { "page": 1, "limit": 20, "total": 134,
                  "totalPages": 7, "hasNext": true, "hasPrev": false } }

// Error
{ "success": false,
  "error": { "code": "VALIDATION_ERROR", "message": "Invalid request data",
             "details": [ { "field": "title", "message": "Required" } ] } }

Task list filters

projectId
Tasks in one project
assigneeId
A member id, or 'me' for the key's member
statusId / statusCategory
todo | in_progress | done
priority
urgent | high | medium | low | none
labelIds
One or more label ids
dueDateFrom / dueDateTo
Due date range
search
Text in the title
page / limit / sortBy / sortOrder
Pagination: limit up to 100; sortOrder asc | desc

Endpoints

Paths are relative to https://tazor.in/api/v1

Account

GET/users/meThe member the key acts as, and its workspace

Projects

GET/projectsList projects (?status, ?search, ?teamId, paginated)
POST/projectsCreate a project
GET/projects/:projectIdGet a project with statuses, labels and members
PATCH/projects/:projectIdUpdate a project
DELETE/projects/:projectIdDelete a project and its tasks
POST/projects/:projectId/archiveArchive a project
POST/projects/:projectId/restoreRestore an archived project
GET/projects/:projectId/statsTask counts and progress
GET/projects/:projectId/membersProject members
POST/projects/:projectId/membersAdd a member {membershipId, role}
GET/projects/:projectId/statusesWorkflow columns
GET/projects/:projectId/labelsLabels
GET/projects/:projectId/activityActivity feed
GET/projects/:projectId/timelineScheduled tasks and dependencies (Gantt)

Tasks

GET/tasksList tasks (filters below, paginated)
POST/tasksCreate a task
GET/tasks/:taskIdGet a task
GET/tasks/key/:taskKeyGet a task by key, e.g. WEB-42
PATCH/tasks/:taskIdUpdate title, description, priority, dates, estimate
DELETE/tasks/:taskIdDelete a task
PATCH/tasks/:taskId/statusMove to a status {statusId}
PUT/tasks/:taskId/assignSet assignees {membershipIds}
GET/tasks/:taskId/subtasksSubtasks
POST/tasks/:taskId/subtasksCreate a subtask
GET/tasks/:taskId/checklistChecklist items
POST/tasks/:taskId/checklistAdd a checklist item
POST/tasks/:taskId/labelsAdd a label {labelId}
POST/tasks/:taskId/dependenciesAdd a dependency {taskId, type}
GET/tasks/:taskId/activityTask history
GET/tasks/searchSearch tasks (?q)

Comments

GET/tasks/:taskId/commentsComments on a task
POST/tasks/:taskId/commentsAdd a comment {content, mentions?}
PATCH/comments/:commentIdEdit your comment
DELETE/comments/:commentIdDelete your comment
GET/comments/:commentId/repliesReplies
POST/comments/:commentId/repliesReply

Time tracking

GET/time-entriesList time entries (paginated)
POST/time-entriesLog time {taskId, durationMinutes, ...}
PATCH/time-entries/:entryIdUpdate an entry
DELETE/time-entries/:entryIdDelete an entry
GET/time-entries/summaryTotals for a date range
GET/time-entries/exportCSV export (Business plan)

Teams & members

GET/teamsList teams
POST/teamsCreate a team
GET/teams/:teamIdGet a team
GET/membersWorkspace members (read only)
GET/members/searchFind members (?q)
GET/organizations/statusesWorkspace columns for tasks outside projects
GET/activityWorkspace activity feed

Webhooks

Owners and admins only. Deliveries are signed: verify X-Webhook-Signature (sha256=HMAC of the body with the webhook secret).

GET/integrations/webhooksList webhooks
POST/integrations/webhooks{action: "create", name, url, events}
POST/integrations/webhooks{action: "update" | "toggle" | "regenerate_secret", webhookId, ...}

Webhook events

task.created
task.updated
task.deleted
task.completed
task.assigned
task.commented
task.status_changed
project.created
project.updated
project.deleted
member.added
member.removed

Ready to start building?

API access is included in Pro and Business.