Skip to content

Latest commit

 

History

History
96 lines (65 loc) · 4.61 KB

File metadata and controls

96 lines (65 loc) · 4.61 KB

TaskFlow API

Base URL: /api. All responses use JSON. Success responses include "success": true and "data"; errors include "success": false and "error".


Health

Method Endpoint Description
GET /api/health Service health check. Returns { "status": "healthy", "service": "taskflow" }.

Tasks

Method Endpoint Description
GET /api/tasks List tasks.
GET /api/tasks/<id> Get one task.
POST /api/tasks Create task.
PUT /api/tasks/<id> Update task (partial).
DELETE /api/tasks/<id> Delete task.
POST /api/tasks/<id>/complete Mark task done.
POST /api/tasks/<id>/move Move to another status.
POST /api/quick-add Create task from natural-language text (NLP).

GET /api/tasks — Query: status (inbox | today | waiting | done | archived), limit (default 50), offset (default 0), sort (created_at | priority | due_date), order (asc | desc). Response includes data (array of tasks) and meta (total, filtered, offset, limit).

POST /api/tasks — Body: text (required, max 500), status, due_date (ISO), time_estimate (minutes), energy_level (high | medium | low), tags (array), notes, links, people_ids (array), auto_update_priority, priority_mappings. Returns created task.

PUT /api/tasks/ — Body: any of the above fields to update. Sending priority marks it as manual (not auto-set).

POST /api/tasks//move — Body: { "status": "inbox" | "today" | "waiting" | "done" | "archived" }.

POST /api/quick-add — Body: text (required), optional people_ids, links, auto_update_priority, priority_mappings. Parses due date, estimate, tags, etc. from text.

Task object: id, text, status, priority (1–5), priority_auto_set, due_date, time_estimate, energy_level, tags, notes, links, people (array of person objects), created_at, updated_at, completed_at.


Views (predefined lists)

Method Endpoint Description
GET /api/views/inbox Inbox tasks (to triage).
GET /api/views/today Today tasks, sorted (overdue → due today → priority → quick wins). Includes meta.suggested_next, meta.total_time_estimate.
GET /api/views/waiting Waiting tasks (by due date).
GET /api/views/matrix Active tasks (excl. done/archived) for Eisenhower matrix.
GET /api/views/done Completed tasks (by completed_at).
GET /api/views/stats Counts: status_counts, overdue_count, today_time_estimate, completed_today.

Search

Method Endpoint Description
GET /api/search Full-text search + filters.
GET /api/search/suggestions Tags and text snippets for autocomplete.

GET /api/search — Query: q (full-text), status (comma-separated), tag, date_from, date_to (ISO), limit, offset. Response includes data (tasks) and meta (query, total, results, filters).


People

Method Endpoint Description
GET /api/people List people.
GET /api/people/<id> Get one person.
GET /api/people/search Search by name (query q, limit default 10).
GET /api/people/<id>/tasks Tasks linked to person.
POST /api/people Create person.
PUT /api/people/<id> Update person.
DELETE /api/people/<id> Delete person (fails if tasks linked).

GET /api/people — Query: search, team, role, has_tasks (true/false), limit, offset, sort (name | created_at | updated_at), order.

POST /api/people — Body: name (required, max 200), email, role, team, communication_preference (slack | email | meetings | async), general_notes.

Person object: id, name, email, role, team, communication_preference, general_notes, created_at, updated_at.

GET /api/people//tasks — Query: status, limit, offset. Returns data.person and data.tasks.


Archives (sprints)

Method Endpoint Description
GET /api/archives List sprint archive files (filename, created, size).
GET /api/archives/<filename> Download archive (only sprint-*.md).
POST /api/archives/create Create sprint archive from completed tasks.

POST /api/archives/create — Body: tasks (array of task objects), sprint_info: { "start_date", "end_date" } (ISO). Returns archive_path, tasks_archived.